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 tool generates code, implying a read-only or creation operation, but doesn't specify if it requires specific permissions, rate limits, or what the output looks like (though an output schema exists). The description lacks details on error handling, dependencies, or any side effects, leaving significant gaps for a tool that likely involves processing request data.

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 is front-loaded with the core purpose and contains no unnecessary words. Every part of the sentence earns its place by specifying the action, resource, and source.

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 3 parameters with 0% schema coverage, no annotations, and an output schema (which reduces the need to describe return values), the description is minimally adequate. It states what the tool does but lacks details on parameter usage, behavioral traits, and context relative to siblings. For a code-generation tool with multiple inputs, more guidance would improve completeness, but the output schema helps mitigate some gaps.

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 none of the parameters (request_id, language, framework) are documented in the schema. The description adds no information about these parameters beyond what's inferred from their names (e.g., 'request_id' likely refers to a captured request). It doesn't explain what values are valid for 'language' or 'framework', or how they affect the generated code, failing to compensate for the low schema coverage.

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') and resource ('API call code'), and the source ('captured request') provides useful context. However, it doesn't explicitly differentiate from sibling tools like 'analyze_api' or 'get_request', which might involve similar request data.

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 first), exclusions, or comparisons to siblings like 'analyze_api' (which might analyze rather than generate code) or 'get_request' (which might retrieve request details). Usage is implied from the purpose but not explicitly stated.

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 this is a read operation ('Get'), but doesn't cover aspects like authentication needs, rate limits, error handling, or what 'detailed information' includes. For a tool with no annotations, 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, efficient sentence with no wasted words. It's front-loaded with the core purpose, making it easy to parse quickly. Every part of the sentence contributes directly to understanding the tool's function.

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 an output schema exists, the description doesn't need to explain return values. However, with no annotations, 2 parameters (one undocumented in schema), and moderate complexity (fetching detailed data), the description is incomplete—it lacks behavioral context and parameter details, though the output schema mitigates some gaps.

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 details. The description mentions 'detailed information' and implies a request ID is needed, but doesn't explain the 'include_body' parameter or its default value. It adds minimal semantic value beyond what's inferred from the tool name and schema structure.

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 ('detailed information for a single request'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'list_requests' or 'search_requests' beyond specifying 'single request,' which is somewhat implied by those names too.

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, such as needing a request ID, or compare it to siblings like 'list_requests' for multiple requests or 'search_requests' for filtering. This leaves the agent without explicit usage context.

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.

TDQS

B3.3/5.0
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

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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
    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.
    17
    3
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ElonJask/proxypin-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server