ProxyPin MCP Server
Generates API call code using the Axios framework from captured ProxyPin network requests.
Generates curl commands from captured ProxyPin network requests for easy testing and reproduction.
Generates JavaScript API call code from captured ProxyPin network history.
Generates Python API call code (with support for requests and httpx) from captured ProxyPin network history.
Generates TypeScript API call code from captured ProxyPin network history.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ProxyPin MCP ServerSearch for 'login' requests and generate a Python snippet for the latest one"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ProxyPin MCP Server
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.
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
Install and open ProxyPin
In ProxyPin History settings, enable “Cache Date” (required)
Ensure some capture history exists
Node.js (for
npx) anduv(launcher supports bothuvxanduv tool run)
Installation
Run with npx
npx -y proxypin-mcp@latestThe 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"]
}
}
}If your client does not supporttype, remove the field.
Environment Variables
Variable | Description | Default |
| ProxyPin history directory | auto-detect |
| max HAR files scanned |
|
| max body bytes kept |
|
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 toolsanalyze_apiC
Analyze API structure for a domain.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| request_id | Yes | ||
| language | No | python | |
| framework | No | requests |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| request_id | Yes | ||
| include_body | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| detail | No | summary | |
| domain | No | ||
| method | No | ||
| status | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | Yes | ||
| search_in | No | all | |
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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
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.
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.
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.
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
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
Search and browse every MCP server in the Model Context Protocol registry.
Query, browse, and automate OmegaAI workspaces from any MCP client. Streamable HTTP with OAuth 2.0.
Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
Query your real net worth, spending, transactions, budgets and portfolio from any MCP client.
Related MCP Servers
- AlicenseAqualityDmaintenanceA 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.78MIT
- AlicenseBqualityCmaintenanceExposes 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.17238MIT
- AlicenseNot gradedqualityCmaintenanceCaptures browser network traffic, analyzes API patterns, and exposes analysis tools through an MCP server for AI-assisted workflows.1MIT
- AlicenseNot gradedqualityCmaintenanceEnables 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.173MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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