Skip to main content
Glama
ElonJask

ProxyPin MCP Server

by ElonJask

ProxyPin MCP Server

NPM Version GitHub License Stars MCP Badge

ProxyPin MCP Server is based on the Model Context Protocol (MCP). It works with the open source project ProxyPin to expose your local capture history to MCP-capable clients.

Docs: English | 中文

Features

  • Read local ProxyPin history (HAR)

  • List/search/detail tools for captured requests

  • API structure analysis and code generation

  • Works with mainstream MCP clients (Windsurf / Cursor / Claude Desktop / Codex)

Related MCP server: Reqable MCP Server

Prerequisites

  1. Install and open ProxyPin

  2. In ProxyPin History settings, enable “Cache Date” (required)

  3. Ensure some capture history exists

  4. Node.js (for npx) and uv (launcher supports both uvx and uv tool run)

Installation

Run with npx

npx -y proxypin-mcp@latest

The NPX bridge tries uvx first, then automatically falls back to uv tool run.

Usage

Add the following configuration to your MCP client configuration file:

{
  "mcpServers": {
    "proxypin": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "proxypin-mcp@latest"]
    }
  }
}
TIP

If your client does not supporttype, remove the field.

Environment Variables

Variable

Description

Default

PROXYPIN_DATA_DIR

ProxyPin history directory

auto-detect

PROXYPIN_HAR_LIMIT

max HAR files scanned

50

PROXYPIN_MAX_BODY_SIZE

max body bytes kept

102400

Available Tools

list_requests

List recent captured requests.

Parameters:

  • limit (int, optional, default 20)

  • detail (string: summary | key | full)

  • domain (string, optional)

  • method (string, optional)

  • status (int, optional)

get_request

Get a single request detail by ID.

Parameters:

  • request_id (string, required)

  • include_body (boolean, optional, default true)

search_requests

Search requests by keyword.

Parameters:

  • keyword (string, required)

  • search_in (string: all | url | request_body | response_body)

  • limit (int, optional, default 20)

analyze_api

Analyze API structure for a domain.

Parameters:

  • domain (string, required)

get_domains

List captured domains with counts.

Parameters:

  • none

generate_code

Generate API call code from a captured request.

Parameters:

  • request_id (string, required)

  • language (string: python | javascript | typescript | curl)

  • framework (string: requests | httpx | fetch | axios)

Skills (Tools)

  • list_requests: list recent HTTP requests with filters.

  • get_request: fetch one request by ID.

  • search_requests: keyword search across URL and body.

  • analyze_api: group endpoint patterns for one domain.

  • get_domains: summarize captured domains and method counts.

  • generate_code: generate Python/JS/cURL snippets from a capture.

Prompts

  • analyze_api_prompt(domain): guide API structure analysis workflow.

  • debug_request_prompt(request_id): guide request debugging workflow.

Resources

  • proxypin://requests/recent: recent request summary dataset.

  • proxypin://domains: captured domains summary dataset.

License

This project is licensed under the MIT License.

Available Tools

6 tools
analyze_apiC

Analyze API structure for a domain.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool analyzes API structure but doesn't describe what the analysis involves, such as whether it returns metadata, endpoints, or schemas, or if it has side effects like caching. This leaves key behavioral traits unspecified, making it inadequate for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words. It's front-loaded and appropriately sized for the tool's complexity, making it easy to parse quickly. Every part of the sentence contributes to the purpose, earning its place without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 1 parameter, no annotations, and an output schema exists, the description is minimally complete but lacks depth. It states the basic action but doesn't cover behavioral aspects or parameter details. The output schema likely handles return values, so the description doesn't need to explain those, but overall it's adequate with clear gaps in guidance and transparency.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 1 parameter with 0% description coverage, and the description doesn't add any semantic details about the 'domain' parameter. It doesn't explain what a domain entails, such as whether it's a URL, name, or identifier, or provide examples. With low schema coverage, the description fails to compensate, leaving the parameter meaning unclear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool's purpose as analyzing API structure for a domain, which is clear but vague. It specifies the verb 'analyze' and resource 'API structure,' but lacks detail on what analysis entails or how it differs from siblings like 'get_request' or 'search_requests.' No tautology is present, but it doesn't fully distinguish from alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context, or exclusions, such as whether it's for high-level analysis versus detailed inspection. With siblings like 'get_domains' and 'list_requests,' there's no indication of when this tool is preferred, leaving usage ambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_codeC

Generate API call code from a captured request.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idYes
languageNopython
frameworkNorequests

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action ('generate') but doesn't explain what this entails—e.g., whether it's a read-only operation, if it requires specific permissions, what the output format is, or any rate limits. The description is too vague to inform the agent about behavioral traits beyond the basic purpose.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence: 'Generate API call code from a captured request.' It's front-loaded with the core purpose and contains no wasted words, making it highly concise and well-structured for quick understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (3 parameters, no annotations, but with an output schema), the description is incomplete. It states the purpose but lacks usage guidelines, parameter semantics, and behavioral context. The presence of an output schema means return values are documented elsewhere, but the description doesn't provide enough context for effective tool invocation without additional information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning parameters are undocumented in the schema. The description adds no semantic details about parameters like 'request_id', 'language', or 'framework'—it doesn't explain what a 'request_id' refers to, what languages are supported, or how the framework influences code generation. This fails to compensate for the low coverage, leaving parameters largely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate API call code from a captured request.' It specifies the verb ('generate'), resource ('API call code'), and source ('captured request'), making the function unambiguous. However, it doesn't distinguish this tool from siblings like 'analyze_api' or 'export_websocket_session_raw', which might also involve code or request handling, so it misses full differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a captured request via tools like 'get_request' or 'list_requests'), exclusions, or comparisons to siblings such as 'analyze_api' for analysis instead of code generation. This leaves the agent with minimal context for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_domainsB

Get list of all captured domains with request counts.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool retrieves a list with request counts, implying a read-only operation, but lacks details on permissions, rate limits, data freshness, or error handling. This is insufficient for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It is front-loaded and appropriately sized for a simple tool, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 0 parameters, an output schema exists, and no annotations, the description is minimally adequate. It explains what the tool does but lacks behavioral context and usage guidelines. With the output schema handling return values, the description meets basic needs but has clear gaps in transparency and guidelines.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, and since there are none, it doesn't need to compensate for any gaps, meriting a high score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get') and resource ('list of all captured domains with request counts'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'list_requests' or 'search_requests', which might also involve domain-related data, preventing a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context for 'captured domains', or how it differs from sibling tools such as 'list_requests' or 'search_requests', leaving the agent with minimal usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_requestB

Get detailed information for a single request.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idYes
include_bodyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves 'detailed information,' implying a read-only operation, but doesn't clarify aspects like authentication requirements, rate limits, error handling, or what 'detailed information' includes. For a tool with no annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no wasted words. It's front-loaded with the core purpose ('Get detailed information for a single request'), making it easy to parse. Every part of the sentence earns its place by conveying essential information efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (2 parameters, no annotations, but with an output schema), the description is minimally adequate. The output schema reduces the need to explain return values, but the description lacks details on usage context, parameter meanings, and behavioral traits. It meets a basic threshold but has clear gaps in completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the schema provides no parameter descriptions. The tool description mentions 'detailed information' but doesn't explain the parameters (request_id, include_body) or their semantics. However, with only 2 parameters and an output schema present, the baseline is 3, as the description doesn't add value beyond the schema but also doesn't compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get detailed information for a single request.' It specifies the verb ('Get') and resource ('a single request'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from sibling tools like 'list_requests' or 'search_requests', which would require a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'list_requests' (for multiple requests) or 'search_requests' (for filtered searches), nor does it specify prerequisites such as needing a specific request_id. This leaves the agent without context for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_requestsC

List recent HTTP requests captured by ProxyPin.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
detailNosummary
domainNo
methodNo
statusNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'recent HTTP requests' which implies some temporal filtering, but doesn't specify what 'recent' means (time window, default behavior). It doesn't disclose pagination behavior, rate limits, authentication requirements, or what happens when no parameters are provided. The description is too minimal for a tool with 5 parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that gets straight to the point. There's no wasted verbiage or unnecessary elaboration. However, it's arguably too concise given the tool's complexity (5 parameters, no schema descriptions).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that there's an output schema (which should document return values), the description doesn't need to explain return values. However, for a tool with 5 parameters and 0% schema description coverage, the description is insufficient. It doesn't provide enough context about parameter usage, behavioral constraints, or differentiation from sibling tools to be considered complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the lack of parameter documentation. The description mentions 'recent' which might relate to an implicit time parameter, but doesn't explain any of the 5 documented parameters (limit, detail, domain, method, status). It doesn't clarify what 'summary' vs other detail levels mean, or how filtering by domain/method/status works.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('List') and the resource ('recent HTTP requests captured by ProxyPin'), providing a specific verb+resource combination. However, it doesn't distinguish this tool from sibling tools like 'search_requests' or 'get_request', which appear to be related alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'search_requests' or 'get_request'. It mentions 'recent' requests but doesn't clarify if this is the only way to get recent requests or if other tools also handle recent requests. No explicit when/when-not instructions are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_requestsC

Search requests by keyword.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordYes
search_inNoall
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. It only states the action ('search') without any information about permissions needed, rate limits, pagination behavior, what happens on no matches, or response format. For a search tool with no annotation coverage, this is inadequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at three words, with zero wasted language. It's front-loaded with the core action and resource. While under-specified, it's structurally efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 3 parameters with 0% schema coverage, no annotations, and sibling tools that might overlap, the description is incomplete. It doesn't explain the search scope, result format, or how parameters interact. The presence of an output schema helps, but the description should provide more context for effective tool selection and use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the schema provides no parameter descriptions. The description mentions 'keyword' but doesn't explain what 'search_in' or 'limit' do, their allowed values, or how they affect results. It adds minimal value beyond the parameter names visible in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Search requests by keyword' clearly states the verb (search) and resource (requests), but it's vague about scope and doesn't distinguish from sibling tools like 'list_requests' or 'get_request'. It provides basic purpose but lacks specificity about what kind of requests or search context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus alternatives like 'list_requests' or 'get_request'. The description doesn't mention prerequisites, context for keyword searching, or any exclusions. It leaves the agent to infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updatesv0.1.1
    • First observedanalyze_api
    • First observedgenerate_code
    • First observedget_domains
    • First observedget_request
    • First observedlist_requests
    • First observedsearch_requests

TDQS

B3.3/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a clearly distinct purpose with no ambiguity. analyze_api focuses on API structure analysis, generate_code on code generation, get_domains on domain listing, get_request on single request details, list_requests on recent requests, and search_requests on keyword-based search. The boundaries are well-defined and non-overlapping.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (e.g., analyze_api, generate_code, get_domains, get_request, list_requests, search_requests). The naming is uniform, predictable, and enhances readability across the toolset.

Tool Count5/5

With 6 tools, the count is well-scoped for a proxy capture and analysis server. Each tool serves a specific function in the workflow (e.g., listing, searching, analyzing, generating), and none appear redundant or unnecessary for the domain.

Completeness4/5

The toolset covers core workflows for proxy capture and analysis, including listing, searching, retrieving details, analyzing structure, and generating code. A minor gap might be the absence of tools for managing or filtering captures (e.g., delete_requests, filter_by_method), but agents can likely work around this with the existing search and list tools.

Maintenance

ActivityInactive
ResponsivenessSyncing

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    A local MCP server for retrieving and analyzing your browser history. Makes it easy for a client to identify patterns, analyze sessions, and create a comprehensive report.
    7
    8
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    Exposes local Reqable network capture traffic to MCP clients for real-time monitoring and analysis of HTTP requests. It enables developers to query, search, and generate code from captured traffic stored locally within a private SQLite database.
    17
    40 PyPI
    238
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI to analyze real-time HTTP(S) traffic captured by ProxyPin, with tools to browse, search, and inspect requests and responses, as well as access saved history sessions.
    7 npm
    4
    MIT