MCP HAR Server
Parses HAR (HTTP Archive) files and displays requests in a simplified format for AI assistants.
MCP HAR Server
A Model Context Protocol (MCP) server that parses HAR (HTTP Archive) files and displays requests in a simplified format. This tool is designed to be used with AI assistants through the MCP protocol.
Features
- Parse HAR files and extract request/response information
- Display requests with hash identifiers for easy reference
- Toggle query parameter visibility
- Filter requests by status code, method, URL pattern, or exclude specific domains
- View detailed headers and body information for specific requests
- List unique domains from HAR files to help with filtering
Available Tools
har_viewer
Displays HAR file requests in a simplified format with hash identifiers. Includes filtering options to narrow down results.
har_detail
Provides detailed information about specific HAR file entries including headers and request/response bodies. Uses hash identifiers to reference specific requests.
domain_list
Lists all unique domains found in a HAR file to help reduce output volume and provide filtering options.
Usage with Claude Desktop
To use this server with Claude Desktop, add the following configuration to your claude_desktop_config.json:
The configuration file claude_desktop_config.json is located at:
After changing the configuration, please restart Claude Desktop.
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Using npx
{
"mcpServers": {
"mcp-har-server": {
"command": "npx",
"args": ["-y", "@naotaka/mcp-har-server@latest"]
}
}
}
Using build
{
"mcpServers": {
"mcp-har-server": {
"command": "node",
"args": ["/path/to/mcp-har-server/build/index.js"]
}
}
}
Usage
Using the HAR viewer tool
The HAR viewer tool can be accessed through the MCP protocol. Here's an example of how to use it:
// Example usage through MCP protocol
const result = await mcpClient.callTool('har_viewer', {
filePath: '/path/to/your/file.har',
showQueryParams: true, // Set to false to hide query parameters
filter: {
statusCode: 200, // Optional: Filter by status code
method: 'GET', // Optional: Filter by HTTP method
urlPattern: 'api', // Optional: Filter by URL pattern
excludeDomains: ['cdn.example.com', 'analytics.example.com'], // Optional: Exclude specific domains
},
});
HAR Viewer Output Example
With showQueryParams: true:
[abc123] 200 GET https://example.com/api/users?page=1&limit=10
[def456] 404 POST https://api.example.org/data/process?format=json&version=2.1
[ghi789] 500 PUT https://service.example.net/update?id=12345&token=abc123
With showQueryParams: false:
[abc123] 200 GET https://example.com/api/users
[def456] 404 POST https://api.example.org/data/process
[ghi789] 500 PUT https://service.example.net/update
Using the HAR Detail tool
The HAR Detail tool allows you to view detailed information about specific requests in a HAR file. You can view headers and optionally body content:
// Example usage through MCP protocol
const result = await mcpClient.callTool('har_detail', {
filePath: '/path/to/your/file.har',
hashes: 'abc123', // Single hash or comma-separated list like 'abc123,def456,ghi789'
showBody: true, // Set to false to hide request/response bodies
});
HAR Detail Output Example
ENTRY [abc123]
=== REQUEST ===
GET https://example.com/api/users?page=1&limit=10
--- Headers ---
Accept: application/json
User-Agent: Mozilla/5.0
=== RESPONSE ===
200 OK
--- Headers ---
Content-Type: application/json
Cache-Control: no-cache
--- Body ---
{
"users": [
{
"id": 1,
"name": "John Doe"
},
{
"id": 2,
"name": "Jane Smith"
}
],
"page": 1,
"total": 42
}
Using the Domain List tool
The Domain List tool helps you see all unique domains in a HAR file, which is useful for filtering:
// Example usage through MCP protocol
const result = await mcpClient.callTool('domain_list', {
filePath: '/path/to/your/file.har',
});
Domain List Output Example
example.com
api.example.org
service.example.net
cdn.example.com
analytics.example.com
Development
Installation
# Install dependencies
npm ci
Build and Test
# Build the project
npm run build
# Run tests
npm test
About MCP
This tool uses the Model Context Protocol (MCP), which allows AI assistants to interact with external tools and services. Learn more about MCP at https://github.com/modelcontextprotocol/typescript-sdk.
License
MIT
Related Servers
Scout Monitoring MCP
sponsorPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
Croft Laravel
A local MCP server for Laravel developers to boost productivity with artisan commands.
Yellhorn MCP
An MCP server that integrates Gemini 2.5 Pro and OpenAI models for software development tasks, allowing the use of your entire codebase as context.
Voiceflow MCP Client
A Node.js client that integrates with remote MCP servers to provide tools for Voiceflow Agents.
McpDocServer
An MCP-based server for searching and retrieving development framework documentation, supporting crawling and local file loading.
GroundDocs
A version-aware documentation assistant that connects LLMs to trusted, real-time docs to reduce hallucinations and provide accurate, version-specific responses.
Paraview_MCP
An autonomous agent that integrates large language models with ParaView for creating and manipulating scientific visualizations using natural language and visual inputs.
Apple HIG
Provides instant access to Apple's Human Interface Guidelines, with content auto-updated periodically.
Authless MCP Server
A template for creating a remote, authentication-free MCP server deployable on Cloudflare Workers.
FAL FLUX.1 Kontext [Max]
A frontier image generation and editing model with advanced text rendering and contextual understanding, powered by the FAL AI API.
EVM MCP Server
Provides blockchain services for over 30 EVM-compatible networks through a unified interface.