An open API service indexing awesome lists of open source software.

https://github.com/tjamet/har-mcp

A MCP server for parsing and analyzing HAR (HTTP Archive) files
https://github.com/tjamet/har-mcp

ai claude claude-ai cursor har http-ar http-archive-format mcp-server vscode

Last synced: 4 months ago
JSON representation

A MCP server for parsing and analyzing HAR (HTTP Archive) files

Awesome Lists containing this project

README

          

# HAR MCP Server

A [Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction) server for parsing and analyzing HAR (HTTP Archive) files. This server allows AI assistants to inspect network traffic captured in HAR format, with built-in support for redacting sensitive authentication headers.

## Features

- **Load HAR files** from local filesystem or HTTP URLs
- **List all URLs and HTTP methods** accessed in the HAR file
- **Query request IDs** for specific URL and method combinations
- **Retrieve full request details** with automatic redaction of authentication headers
- **Flexible HAR parsing** that handles real-world HAR files with:
- Float/decimal values for time fields (automatically rounded to integers)
- Plain text or base64-encoded response content
- Additional fields not present in the basic HAR spec
- Support for standard HAR format as produced by browser developer tools

## Installation

You can install this MCP server using your standard [MCP](https://modelcontextprotocol.io/introduction) configuration.

Add the following JSON block to your mcp configuration.

## Using docker

```json
{
"mcp": {
"servers": {
"har": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/tjamet/har-mcp"
]
}
}
}
}
```

## Using go run

Alternatively you can run thr server directly with `go run`.

```json
{
"mcpServers": {
"github": {
"command": "go",
"args": [
"run",
"github.com/tjamet/har-mcp/cmd/har-mcp@main"
]
}
}
}
```

### Build from source

If you don't have Docker, you can use `go build` to build the binary in the
`cmd/har-mcp` directory, and use the `github-mcp-server` command.
To specify the output location of the build, use the `-o` flag. You should configure your server to use the built executable as its `command`. For example:

```JSON
{
"mcp": {
"servers": {
"github": {
"command": "/path/to/har-mcp-server"
}
}
}
}
```

## Usage

The HAR MCP server runs as a stdio-based MCP server, communicating via JSON-RPC over standard input/output.

### Running the Server

```bash
./har-mcp
```

### Available Tools

#### 1. `load_har`
Load a HAR file from a file path or HTTP URL.

**Parameters:**
- `source` (string, required): File path or HTTP URL to the HAR file

**Example:**
```json
{
"source": "/path/to/capture.har"
}
```

#### 2. `list_urls_methods`
List all accessed URLs and their HTTP methods from the loaded HAR file.

**Parameters:** None

**Returns:** Array of URL/method combinations with their associated request IDs.

#### 3. `get_request_ids`
Get all request IDs for a specific URL and HTTP method.

**Parameters:**
- `url` (string, required): The URL to filter by
- `method` (string, required): The HTTP method to filter by (GET, POST, etc.)

**Example:**
```json
{
"url": "https://api.example.com/users",
"method": "GET"
}
```

#### 4. `get_request_details`
Get full request details by request ID. Authentication headers will be automatically redacted.

**Parameters:**
- `request_id` (string, required): The request ID to retrieve details for

**Example:**
```json
{
"request_id": "request_0"
}
```

**Redacted Headers:**
- Authorization
- X-API-Key
- X-Auth-Token
- Cookie
- Set-Cookie
- Proxy-Authorization

## Integration with Claude Desktop

Add the following to your Claude Desktop configuration:

```json
{
"mcpServers": {
"har-mcp": {
"command": "/path/to/har-mcp"
}
}
}
```

## Development

### Running Tests

```bash
go test ./...
```

### Project Structure

```
.
├── cmd/
│ └── har-mcp/ # Main application
│ └── main.go
├── pkg/
│ └── har/ # HAR parsing library
│ ├── parser.go
│ └── parser_test.go
├── go.mod
├── go.sum
└── README.md
```

## Dependencies

- [github.com/google/martian/har](https://github.com/google/martian) - HAR file parsing
- [github.com/mark3labs/mcp-go](https://github.com/mark3labs/mcp-go) - MCP server implementation
- [github.com/stretchr/testify](https://github.com/stretchr/testify) - Testing assertions

## License

[Add your license here]