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
- Host: GitHub
- URL: https://github.com/tjamet/har-mcp
- Owner: tjamet
- License: mit
- Created: 2025-05-31T12:01:32.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-05-31T13:03:31.000Z (5 months ago)
- Last Synced: 2025-06-01T00:26:33.879Z (5 months ago)
- Topics: ai, claude, claude-ai, cursor, har, http-ar, http-archive-format, mcp-server, vscode
- Language: Go
- Homepage:
- Size: 18.6 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-mcp-servers - **har-mcp** - A MCP server for parsing and analyzing HAR (HTTP Archive) files `go` `ai` `claude` `claude-ai` `cursor` `go install tjamet/har-mcp@latest` (AI/ML)
- awesome-mcp-servers - **har-mcp** - A MCP server for parsing and analyzing HAR (HTTP Archive) files `go` `ai` `claude` `claude-ai` `cursor` `go install tjamet/har-mcp@latest` (🤖 AI/ML)
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]