Web Proxy MCP Server
Supports proxy configuration for cURL, allowing HTTP/HTTPS traffic monitoring and analysis when making requests with cURL through the proxy server.
Provides automated proxy setup for Firefox with custom profile support, enabling selective monitoring of web traffic through the proxy.
Supports system-wide proxy configuration for Linux, allowing traffic monitoring and analysis across applications on Linux systems.
Enables system-wide proxy configuration for macOS, supporting traffic monitoring and analysis across applications on macOS systems.
Provides Node.js integration for proxy setup and traffic monitoring, supporting the core functionality of the proxy server.
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., "@Web Proxy MCP Serverstart monitoring api.example.com and show me the traffic logs"
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.
Web Proxy MCP Server
Intelligent HTTP/HTTPS proxy server with Model Context Protocol (MCP) integration for automated traffic monitoring, analysis, and browser setup.
š Features
Core Proxy Capabilities
Selective Proxying: Only monitor specific domains while allowing direct access to others
HTTP/HTTPS Support: Full support for HTTP requests and HTTPS tunneling via CONNECT
PAC File Generation: Automatic Proxy Auto-Configuration file generation
Traffic Capture: Detailed request/response logging with optional header/body capture
MCP Integration
16 MCP Tools: Complete automation via Model Context Protocol
Dynamic Configuration: Add/remove monitored domains at runtime
Real-time Analysis: Traffic pattern analysis and performance metrics
HAR Export: Standard HTTP Archive format for external analysis
Browser Setup Automation
Multi-Browser Support: Chrome, Firefox, cURL, and system-wide proxy setup
Script Generation: Automated setup script generation for different platforms
One-Click Configuration: Simple browser proxy configuration
Related MCP server: Android Proxy MCP
š Quick Start
Installation
cd /home/solar/docker-appliance/mcp-servers/web-proxy-mcp
npm installBasic Usage
# Start the proxy server
npm start
# Or run directly
node index.jsAdd to VS Code MCP Configuration
Add to your VS Code mcp.json:
{
"mcpServers": {
"web-proxy-mcp": {
"command": "node",
"args": ["/home/solar/docker-appliance/mcp-servers/web-proxy-mcp/index.js"],
"env": {}
}
}
}š§ MCP Tools
Target Management
proxy_add_target: Add domains to monitorproxy_remove_target: Remove domains from monitoringproxy_list_targets: List all configured targetsproxy_update_target: Update target configuration
Server Control
proxy_start_server: Start the proxy serverproxy_stop_server: Stop the proxy serverproxy_server_status: Get server status and statistics
Browser Setup
proxy_generate_setup: Generate browser setup scriptsproxy_get_pac_file: Get PAC file content
Traffic Analysis
proxy_get_traffic_log: View captured trafficproxy_export_har: Export traffic as HAR fileproxy_clear_traffic_log: Clear traffic logsproxy_analyze_traffic: Analyze traffic patterns
Configuration
proxy_import_config: Import configuration from fileproxy_export_config: Export configuration to file
Advanced Analysis
proxy_analyze_traffic: Traffic pattern analysisproxy_get_performance_metrics: Performance monitoring
š Usage Examples
1. Monitor Specific API
// Add target domain
await mcp.callTool('proxy_add_target', {
domain: 'api.example.com',
description: 'Main API endpoint',
captureHeaders: true,
captureBody: true
});
// Start proxy server
await mcp.callTool('proxy_start_server', {
port: 8080,
host: 'localhost'
});
// Generate browser setup
await mcp.callTool('proxy_generate_setup', {
proxyHost: 'localhost',
proxyPort: 8080
});2. Traffic Analysis
// Get traffic log
const traffic = await mcp.callTool('proxy_get_traffic_log', {
domain: 'api.example.com',
limit: 50
});
// Analyze patterns
const analysis = await mcp.callTool('proxy_analyze_traffic', {
domain: 'api.example.com',
timeframe: '24h',
groupBy: 'method'
});
// Export HAR file
await mcp.callTool('proxy_export_har', {
domain: 'api.example.com',
filename: 'api-traffic-analysis'
});3. Browser Configuration
// Get PAC file for manual setup
const pac = await mcp.callTool('proxy_get_pac_file', {
proxyHost: 'localhost',
proxyPort: 8080
});
// Generate all setup scripts
const setup = await mcp.callTool('proxy_generate_setup', {
browsers: ['chrome', 'firefox', 'system']
});š Workflow Integration
Development Debugging
Add your development domains to the proxy
Start the proxy server
Configure your browser to use the proxy
Monitor API calls and responses in real-time
Export traffic logs for analysis
API Testing
Configure proxy for your test endpoints
Run automated tests through the proxy
Capture all HTTP traffic automatically
Analyze response times and error patterns
Export detailed HAR files for reporting
Security Analysis
Monitor specific domains for security testing
Capture detailed request/response headers
Analyze traffic patterns for anomalies
Export logs for security review
š Project Structure
web-proxy-mcp/
āāā index.js # Main MCP server entry point
āāā package.json # Node.js dependencies
āāā src/
ā āāā proxy/
ā ā āāā target-manager.js # Domain target management
ā ā āāā proxy-server.js # HTTP/HTTPS proxy server
ā āāā traffic/
ā ā āāā traffic-analyzer.js # Traffic capture and analysis
ā āāā setup/
ā ā āāā browser-setup.js # Browser configuration scripts
ā āāā tools/
ā āāā tool-definitions.js # MCP tool schemas
ā āāā tool-handlers.js # MCP tool implementations
āāā data/
ā āāā targets.json # Persistent target configuration
ā āāā traffic-log.json # Persistent traffic logs
āāā setup-scripts/ # Generated browser setup scripts
āāā chrome-proxy-setup.sh
āāā firefox-proxy-setup.sh
āāā curl-proxy-setup.sh
āāā system-proxy-setup.sh
āāā proxy.pacāļø Configuration
Target Configuration
Targets are stored in data/targets.json:
{
"httpbin.org": {
"domain": "httpbin.org",
"description": "HTTP testing service",
"enabled": true,
"captureHeaders": true,
"captureBody": false,
"createdAt": "2025-01-11T10:00:00.000Z"
}
}Traffic Analysis
Max Entries: 5,000 traffic entries (configurable)
Persistence: Automatic save/load from
data/traffic-log.jsonHAR Export: Standard HTTP Archive format
Real-time Metrics: Performance and usage statistics
Proxy Server
Default Port: 8080 (configurable)
PAC File: Automatic generation at
/proxy.pacProtocol Support: HTTP and HTTPS (via CONNECT tunneling)
Performance Monitoring: Built-in metrics collection
š Security Considerations
Local Only: Default configuration binds to localhost only
Selective Monitoring: Only configured domains are proxied
No Body Capture by Default: Sensitive data protection
Configurable Headers: Optional header capture for debugging
š¤ Integration with Other Tools
VS Code Workflow
Add to MCP configuration in VS Code
Use AI assistant to manage proxy configuration
Automate traffic analysis through AI commands
Generate reports and documentation automatically
Development Workflow
Monitor local development APIs
Test staging environment interactions
Debug production API calls (headers only)
Performance testing and analysis
š Performance
Minimal Overhead: Only proxied domains incur processing cost
Efficient Storage: Configurable traffic log retention
Background Processing: Non-blocking traffic capture
Memory Management: Automatic cleanup of old entries
š ļø Advanced Features
Custom PAC Generation
The proxy generates intelligent PAC files that only route monitored domains through the proxy, maintaining normal browsing speed for other sites.
Traffic Pattern Analysis
Built-in analysis tools help identify:
API usage patterns
Response time trends
Error rate monitoring
Domain-specific metrics
Multi-Browser Support
Automated setup scripts for:
Chrome (with security flags for testing)
Firefox (with custom profile)
System-wide proxy (Linux/macOS)
Command-line tools (cURL)
š§ Troubleshooting
Common Issues
Port in use: Change the proxy port in server configuration
Browser not using proxy: Verify PAC file URL or manual proxy settings
HTTPS issues: Check certificate handling in browser settings
No traffic captured: Ensure domains are added to target list
Debug Mode
Run with debug logging:
DEBUG=web-proxy-mcp node index.jsLogs Location
Server logs: Console output
Traffic logs:
data/traffic-log.jsonTarget config:
data/targets.json
š License
This project is part of the Docker Appliance MCP server collection and follows the same licensing terms.
š¤ AI Assistant Integration
This proxy is designed to work seamlessly with AI assistants through MCP:
Natural Language Control: "Start monitoring api.example.com"
Automated Analysis: "Analyze the last hour of API traffic"
Report Generation: "Export traffic data for the payment API"
Configuration Management: "Set up Chrome to use the proxy"
The MCP integration makes this proxy particularly powerful for AI-assisted development and debugging workflows.
Available Tools
22 toolsproxy_add_targetC
Add a new target domain for proxy monitoring
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Domain to monitor (e.g., example.com) | |
| description | No | Optional description of the target | |
| enabled | No | Whether the target is active | |
| captureHeaders | No | Capture request/response headers | |
| captureBody | No | Capture request/response body |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states the tool adds a target but doesn't describe what happens after addition (e.g., whether monitoring starts immediately, if there are rate limits, authentication requirements, or potential side effects like server restarts). For a mutation tool with zero annotation coverage, this leaves significant behavioral gaps.
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, focused sentence that immediately conveys the core function without unnecessary words. It's front-loaded with the essential action and resource, making it highly efficient. Every word earns its place in this minimal but complete statement.
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?
For a mutation tool with no annotations and no output schema, the description is insufficiently complete. It doesn't address what the tool returns (success/failure indicators, created target ID), error conditions, or behavioral implications. Given the complexity of adding a monitoring target with multiple configuration parameters, more contextual information would be helpful for the agent.
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 100%, so the schema fully documents all 5 parameters. The description adds no parameter-specific information beyond what's in the schema (e.g., it doesn't explain domain format constraints or interactions between capture settings). With high schema coverage, the baseline score of 3 is appropriate as the description doesn't enhance parameter understanding.
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 ('Add') and resource ('new target domain for proxy monitoring'), making the purpose immediately understandable. It distinguishes from siblings like 'proxy_list_targets' or 'proxy_remove_target' by specifying creation rather than querying or deletion. However, it doesn't explicitly contrast with 'proxy_update_target' which might share some functional overlap.
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., whether the proxy server must be running), when not to use it, or how it relates to siblings like 'proxy_update_target' for modifying existing targets. The agent must 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.
proxy_analyze_trafficC
Analyze captured traffic patterns and statistics
| Name | Required | Description | Default |
|---|---|---|---|
| domain | No | Analyze specific domain only | |
| timeframe | No | Time frame for analysis | 24h |
| groupBy | No | Group analysis results by | domain |
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 mentions 'analyze' but doesn't specify what analysis entails (e.g., statistical summaries, trend detection), whether it's read-only or modifies data, or any constraints like rate limits or authentication needs. This leaves significant gaps for a tool that likely processes captured traffic 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 that directly states the tool's function without unnecessary words. It's appropriately sized for a tool with a clear purpose and well-documented parameters, making it easy to parse and understand quickly.
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 complexity of traffic analysis and lack of annotations or output schema, the description is insufficient. It doesn't explain what 'analyze' produces (e.g., aggregated statistics, visualizations), how results are returned, or any prerequisites like needing captured traffic data first. For a tool with 3 parameters and no structured output, more context is needed for effective 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 100%, with clear descriptions for all parameters (domain, timeframe, groupBy) including enums and defaults. The description adds no additional parameter semantics beyond what the schema provides, such as explaining how 'groupBy' affects output or what 'analyze' means in practice. Baseline 3 is appropriate given the schema does the heavy lifting.
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 ('analyze') and resource ('captured traffic patterns and statistics'), making the tool's purpose understandable. It doesn't explicitly differentiate from siblings like 'proxy_get_traffic_log' or 'proxy_get_performance_metrics', which appear to be related but distinct tools for accessing raw logs or specific metrics rather than analyzing patterns.
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. With siblings like 'proxy_get_traffic_log' (likely for raw logs) and 'proxy_get_performance_metrics' (likely for specific metrics), there's no indication of when analysis is preferred over simple retrieval, leaving the agent to guess based on tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proxy_clear_traffic_logC
Clear the traffic log
| Name | Required | Description | Default |
|---|---|---|---|
| domain | No | Clear logs for specific domain only | |
| confirm | Yes | Confirmation flag to prevent accidental deletion |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states the action without disclosing behavioral traits. It does not mention permissions needed, whether the operation is reversible, rate limits, or effects on system performance, which are critical for a destructive operation like clearing logs.
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, direct sentence with zero waste, making it highly concise and front-loaded. It efficiently communicates the core action without unnecessary elaboration.
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's destructive nature (clearing logs), no annotations, and no output schema, the description is incomplete. It fails to address safety considerations, error conditions, or what happens post-execution (e.g., confirmation process, system impact), leaving significant gaps for agent understanding.
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 100%, so the schema fully documents the parameters (domain for filtering, confirm for safety). The description adds no additional meaning beyond what the schema provides, such as explaining parameter interactions or default behaviors, meeting the baseline for high 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 'Clear the traffic log' states a clear action ('clear') and resource ('traffic log'), which is adequate. However, it lacks specificity about scope (e.g., all logs vs. filtered) and does not differentiate from sibling tools like proxy_get_traffic_log or proxy_analyze_traffic, making it vague in 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 on when to use this tool versus alternatives. It does not mention prerequisites (e.g., server status), exclusions, or related tools like proxy_get_traffic_log for viewing logs, leaving usage context implied at best.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proxy_export_configC
Export current proxy configuration to file
| Name | Required | Description | Default |
|---|---|---|---|
| filepath | No | Output file path | |
| includeTrafficLog | No | Include traffic log in export |
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 action ('Export') but lacks details on permissions needed, whether this overwrites existing files, if it's a read-only operation, or what happens on failure. This is a significant gap for a tool that writes to a file system.
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, clear sentence with no wasted words. It's front-loaded with the core action and resource, making it highly efficient and easy to parse.
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 lack of annotations and output schema, the description is incomplete. It doesn't address behavioral aspects like file overwriting, error handling, or what the exported configuration includes beyond traffic logs. For a tool that writes files and has sibling export tools, more context is needed to ensure proper 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?
The description doesn't add any parameter semantics beyond what the input schema provides. Since schema description coverage is 100%, the baseline score is 3. The description doesn't explain the purpose of 'filepath' or 'includeTrafficLog' in context, such as why one might include traffic logs or file path requirements.
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 ('Export') and resource ('current proxy configuration to file'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'proxy_export_har' or 'proxy_import_config', which would require mentioning what specifically is being exported (configuration vs. HAR format vs. importing).
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 when exporting configuration is appropriate (e.g., for backup, migration, or analysis) or contrast it with related tools like 'proxy_import_config' for restoring or 'proxy_export_har' for different data formats.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proxy_export_harC
Export traffic log as HAR (HTTP Archive) format
| Name | Required | Description | Default |
|---|---|---|---|
| domain | No | Filter by specific domain | |
| since | No | ISO timestamp to export entries since | |
| filename | No | Output filename (without .har extension) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the tool exports data, implying a read-only operation, but doesn't disclose behavioral traits like whether it requires specific permissions, if it's rate-limited, what happens to the exported file (e.g., saved locally or returned as data), or if it affects server state. This is inadequate for a tool with potential side effects like file creation.
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 zero waste. It is front-loaded with the core action and format, making it easy to scan. Every word earns 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 no annotations and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., a file path, HAR data, or success status), behavioral constraints, or error conditions. For an export tool with three parameters and potential file system interactions, this leaves significant gaps for an AI agent.
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 100%, so the schema fully documents parameters (domain, since, filename). The description adds no additional meaning beyond implying these are optional filters and output naming, which is already clear from the schema. Baseline 3 is appropriate as the schema does the heavy lifting.
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 ('Export') and resource ('traffic log') with the specific output format ('HAR (HTTP Archive) format'). It distinguishes from siblings like proxy_get_traffic_log (which likely retrieves but doesn't export) and proxy_export_config (which exports configuration rather than traffic). However, it doesn't explicitly mention what 'traffic log' refers to in this proxy 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 on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., whether the proxy server must be running or traffic logging enabled), nor does it compare with sibling tools like proxy_get_traffic_log (which might return raw data instead of HAR format) or proxy_analyze_traffic (which might analyze rather than export).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proxy_generate_setupC
Generate browser and system proxy setup scripts
| Name | Required | Description | Default |
|---|---|---|---|
| proxyHost | No | Proxy server host | localhost |
| proxyPort | No | Proxy server port | |
| browsers | No | Browser types to generate setup for |
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 what the tool does but lacks critical details: it doesn't specify if this generates scripts for immediate use, requires specific permissions, affects system state, or includes rate limits. For a tool that likely creates files or configurations, this gap is significant.
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 front-loads the core purpose without unnecessary words. Every part of the sentence contributes directly to understanding the tool's function, 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 complexity of generating proxy scripts, no annotations, and no output schema, the description is incomplete. It doesn't cover behavioral aspects like script format, storage location, or error handling, which are crucial for an agent to use this tool effectively in a proxy management context.
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 100%, so the schema fully documents parameters like 'proxyHost', 'proxyPort', and 'browsers'. The description adds no additional meaning beyond implying generation for multiple browser types, but it doesn't explain parameter interactions or default behaviors, resulting in a baseline 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 action ('generate') and resource ('browser and system proxy setup scripts'), making the purpose immediately understandable. However, it doesn't specifically differentiate this tool from sibling tools like 'proxy_export_config' or 'proxy_get_pac_file', which might also involve proxy configuration outputs, so it doesn't reach the highest clarity level.
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 whether a proxy server must be running, or compare it to sibling tools like 'proxy_export_config' for configuration export or 'proxy_get_pac_file' for PAC file retrieval, leaving the agent without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proxy_get_pac_fileB
Get the current PAC (Proxy Auto-Configuration) file content
| Name | Required | Description | Default |
|---|---|---|---|
| proxyHost | No | Proxy server host | localhost |
| proxyPort | No | Proxy server port |
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 a read operation ('Get'), implying it's likely non-destructive, but does not specify if authentication is required, rate limits apply, or what the output format is. For a tool with zero 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that efficiently conveys the tool's purpose without unnecessary words. It is front-loaded and appropriately sized, making it easy to understand at a glance.
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's complexity is low (simple retrieval with two optional parameters) and schema coverage is high, the description is adequate but incomplete. It lacks output details (no output schema) and behavioral context, which are important for a tool in a proxy management context. It meets minimum viability but has clear 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 100%, with both parameters ('proxyHost' and 'proxyPort') well-documented in the schema, including defaults. The description adds no additional meaning beyond the schema, such as explaining how these parameters affect the PAC file retrieval. With high schema coverage, the baseline score of 3 is appropriate.
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 the resource 'current PAC (Proxy Auto-Configuration) file content', making the purpose specific and understandable. However, it does not distinguish this tool from siblings like 'proxy_get_performance_metrics' or 'proxy_get_traffic_log', which also retrieve data but for different resources, so it lacks explicit differentiation.
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, such as when to retrieve PAC file content instead of other proxy-related data like traffic logs or performance metrics. There is no mention of prerequisites, context, or exclusions, leaving usage entirely implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proxy_get_performance_metricsC
Get proxy server performance metrics
| Name | Required | Description | Default |
|---|---|---|---|
| reset | No | Reset metrics after retrieval |
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 'Get' implies a read operation, but doesn't mention if this requires specific permissions, how metrics are formatted, whether it's real-time or historical, or any rate limits. For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.
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's appropriately sized and front-loaded, making it easy to understand at a glance.
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 lack of annotations and output schema, the description is incomplete. It doesn't explain what metrics are returned, their format, or any behavioral nuances like permissions or data freshness. For a performance metrics tool with no structured context, this description is too minimal to be fully helpful.
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 100% description coverage, with one parameter 'reset' fully documented in the schema. The description doesn't add any meaning beyond the schema, such as explaining what metrics are included or how resetting affects them. Baseline score of 3 is appropriate since the schema does the heavy lifting.
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 the resource 'proxy server performance metrics', making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'proxy_server_status' or 'proxy_analyze_traffic', which might have overlapping functionality, so it doesn't reach the highest 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. With siblings like 'proxy_server_status' and 'proxy_analyze_traffic' that might relate to performance or metrics, there's no indication of context, exclusions, or prerequisites for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proxy_get_traffic_logC
Get captured traffic log with filtering options
| Name | Required | Description | Default |
|---|---|---|---|
| domain | No | Filter by specific domain | |
| method | No | Filter by HTTP method (GET, POST, etc.) | |
| limit | No | Maximum number of entries to return | |
| since | No | ISO timestamp to get entries since |
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 'filtering options' but doesn't describe key behaviors: whether this is a read-only operation (implied by 'Get' but not stated), what the return format is (e.g., list of log entries), pagination handling (beyond the 'limit' parameter), or any rate limits. For a tool with 4 parameters and 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose ('Get captured traffic log') and adds a useful qualifier ('with filtering options'). There is no wasted verbiage or redundancy, making it appropriately sized for the tool's complexity.
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's moderate complexity (4 parameters, no output schema, no annotations), the description is incomplete. It lacks details on return values (e.g., log entry structure), behavioral constraints (e.g., read-only nature, server state requirements), and differentiation from siblings. While concise, it doesn't provide enough context for an agent to fully understand how to use this tool effectively alongside others.
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 100%, so the schema fully documents all 4 parameters (domain, method, limit, since). The description adds no specific parameter semantics beyond mentioning 'filtering options' generically, which the schema already covers with individual filter descriptions. This meets the baseline of 3 when the schema does the heavy lifting, but adds no extra value.
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 ('captured traffic log'), making the purpose understandable. It distinguishes this tool from siblings like proxy_analyze_traffic (which likely analyzes rather than retrieves) and proxy_clear_traffic_log (which clears rather than gets). However, it doesn't explicitly differentiate from proxy_export_har (which might export similar data in HAR format), keeping it from 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 siblings like proxy_export_har for exporting logs or proxy_analyze_traffic for analysis, nor does it specify prerequisites (e.g., whether the proxy server must be running). Usage is implied only by the name and description, with no explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proxy_import_configC
Import proxy configuration from file
| Name | Required | Description | Default |
|---|---|---|---|
| filepath | Yes | Path to configuration file | |
| merge | No | Merge with existing config or replace |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral insight. It implies a write operation ('Import') but doesn't disclose critical details like required permissions, whether it overwrites or merges by default (though the schema hints at this), error handling, or impact on server state. This is inadequate for a mutation tool with zero 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 zero wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly.
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's complexity (a mutation operation with no annotations and no output schema), the description is insufficient. It lacks details on behavioral traits, error conditions, or output expectations, leaving significant gaps for an agent to operate safely and effectively.
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 schema description coverage is 100%, with clear documentation for both parameters (filepath and merge). The description adds no additional meaning beyond the schema, such as file format specifics or merge behavior implications. Baseline 3 is appropriate since the schema does the heavy lifting.
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 ('Import') and resource ('proxy configuration from file'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like proxy_export_config, which handles the opposite operation, so it doesn't reach the highest 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 (e.g., file format, server status), exclusions, or relationships with siblings like proxy_export_config or proxy_update_target, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proxy_list_targetsC
List all target domains and their status
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Filter targets by status | all |
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. It mentions listing 'status' but doesn't disclose behavioral traits such as whether this is a read-only operation, if it requires authentication, potential rate limits, or what the output format looks like (e.g., list structure, pagination). This leaves significant gaps for a tool that interacts with proxy targets.
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 appropriately sized and front-loaded, making it easy for an agent to parse quickly.
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 no annotations and no output schema, the description is incomplete for a tool that lists domains and statuses. It doesn't explain what 'target domains' are in this context, what 'status' entails (e.g., active/inactive meanings), or the return format, leaving the agent with insufficient information for proper invocation.
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 100% description coverage, clearly documenting the 'status' parameter with enum values and default. The description adds no additional meaning beyond implying filtering by status, so it meets the baseline of 3 where the schema does the heavy lifting without extra value from the description.
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 ('List') and resource ('all target domains and their status'), making the purpose unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'proxy_get_traffic_log' or 'proxy_server_status', which also list information but for different resources.
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. With siblings like 'proxy_get_traffic_log' for logs and 'proxy_server_status' for server state, there's no indication of context or exclusions, leaving the agent to infer usage based on naming alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proxy_remove_targetC
Remove a target domain from proxy monitoring
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Domain to remove from monitoring |
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 action is 'Remove,' implying a destructive mutation, but doesn't clarify if this is reversible, what permissions are required, whether it affects ongoing monitoring sessions, or what happens to associated data (e.g., traffic logs). For a mutation tool with zero annotation coverage, this leaves significant gaps in understanding the tool's behavior and side effects.
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 fluff or redundancy. It is front-loaded with the core action and resource, making it easy to parse quickly. Every word earns its place, and there's no wasted verbiage or structural issues.
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 complexity of a destructive mutation tool with no annotations and no output schema, the description is incomplete. It lacks details on behavioral traits (e.g., side effects, error conditions), usage context, and what to expect upon success or failure. While the purpose is clear, the overall context for safe and effective use is insufficient, especially compared to richer sibling tools like 'proxy_analyze_traffic' which might have more descriptive support.
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 100% description coverage, with the 'domain' parameter fully documented as 'Domain to remove from monitoring.' The description adds no additional semantic context beyond what the schema provides, such as format examples (e.g., 'example.com') or constraints (e.g., must be an existing target). Given the high schema coverage, a baseline score of 3 is appropriate, as the description doesn't compensate but doesn't need to heavily.
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 ('Remove') and resource ('a target domain from proxy monitoring'), making the purpose immediately understandable. It distinguishes this tool from siblings like 'proxy_add_target' and 'proxy_update_target' by specifying removal rather than addition or modification. However, it doesn't explicitly mention that this is for monitoring targets specifically, which could be inferred but isn't stated.
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., the domain must already be monitored), exclusions (e.g., cannot remove domains that are actively being analyzed), or direct alternatives like 'proxy_update_target' for modifying instead of removing. Without such context, the agent must infer usage from the tool name and sibling list alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proxy_server_statusB
Get proxy server status and statistics including SSL bumping status
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions what information is returned (status, statistics, SSL bumping status) but doesn't describe format, real-time vs cached data, permission requirements, or error conditions. For a status-checking tool with zero annotation coverage, this leaves significant gaps.
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 communicates the core purpose without unnecessary words. Every element ('Get proxy server status and statistics including SSL bumping status') serves a clear informational purpose.
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's simplicity (0 parameters, no output schema) and lack of annotations, the description provides basic purpose but lacks details about return format, data freshness, or error handling. It's minimally adequate but could benefit from more behavioral context for a status-checking operation.
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 tool has 0 parameters with 100% schema description coverage, so the baseline is 4. The description doesn't need to explain parameters, and it correctly indicates this is a parameterless status query.
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 with a specific verb ('Get') and resource ('proxy server status and statistics'), including the specific detail about SSL bumping status. It distinguishes itself from siblings like proxy_get_performance_metrics or proxy_get_traffic_log by focusing on overall server status rather than specific metrics or logs.
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 implies usage for checking server status and SSL bumping, but doesn't explicitly state when to use this tool versus alternatives like proxy_get_performance_metrics or proxy_start_server. No guidance on prerequisites, frequency, or exclusions is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proxy_start_serverC
Start the proxy server with optional SSL bumping
| Name | Required | Description | Default |
|---|---|---|---|
| port | No | Port to run proxy server on | |
| host | No | Host to bind proxy server to | localhost |
| enableSSLBumping | No | Enable SSL bumping for HTTPS traffic interception |
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 'optional SSL bumping,' which hints at a security-related feature, but fails to describe critical behaviors such as whether this is a long-running process, what happens if the server is already active, potential side effects (e.g., port conflicts), or authentication needs. For a server-start tool, 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 that front-loads the core action ('Start the proxy server') and includes a key optional feature ('with optional SSL bumping'). There is no wasted verbiage, making it highly concise and well-structured for quick comprehension.
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 complexity of starting a server (a state-changing operation) and the lack of annotations and output schema, the description is incomplete. It doesn't cover behavioral aspects like runtime effects, error conditions, or what success looks like. For a tool in a proxy management context with many siblings, more context is needed to guide the agent effectively.
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 description adds minimal value beyond the input schema, which has 100% coverage with clear descriptions for all three parameters. It mentions 'optional SSL bumping,' which loosely relates to the enableSSLBumping parameter but doesn't elaborate on its implications or usage. Since the schema already fully documents parameters, the baseline score of 3 is appropriate, as the description doesn't significantly enhance understanding.
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 ('Start') and resource ('proxy server'), with additional context about optional SSL bumping. It distinguishes this tool from sibling tools like proxy_stop_server and proxy_server_status by indicating it initiates the server. However, it doesn't explicitly differentiate from proxy_generate_setup or other setup-related tools, which slightly reduces specificity.
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., whether the server must be stopped first), when not to use it (e.g., if the server is already running), or refer to sibling tools like proxy_stop_server or proxy_server_status for status checks. This leaves the agent without contextual usage cues.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proxy_stop_serverB
Stop the proxy server
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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. 'Stop the proxy server' implies a destructive/mutating operation, but it doesn't specify consequences (e.g., terminates active connections, affects other tools), permissions required, error conditions (e.g., if server isn't running), or rate limits. For a mutation tool with zero 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 a single, efficient sentence with zero wasted words. It's front-loaded with the core action ('Stop') and resource ('proxy server'), making it immediately scannable and understandable. Every word earns its place.
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's complexity (a server control operation), lack of annotations, and no output schema, the description is insufficient. It doesn't explain what 'stopping' entails behaviorally, what happens to active sessions, whether it's reversible, or what the response looks like. For a mutation tool in a proxy management context, more detail is needed.
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 tool has 0 parameters with 100% schema description coverage, so the schema fully documents the absence of inputs. The description doesn't need to add parameter information, and it doesn't contradict the schema. A baseline of 4 is appropriate for zero-parameter tools where the schema handles documentation.
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 ('Stop') and resource ('the proxy server'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'proxy_start_server' or 'proxy_server_status', but the verb 'Stop' inherently contrasts with 'Start' and 'Status', providing some implicit differentiation. A 5 would require explicit sibling comparison.
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., server must be running), exclusions (e.g., don't use if server is already stopped), or relationships to sibling tools like 'proxy_start_server' or 'proxy_server_status'. The agent must infer usage from context alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proxy_update_targetC
Update target domain configuration
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Domain to update | |
| description | No | New description | |
| enabled | No | Enable/disable target | |
| captureHeaders | No | Enable/disable header capture | |
| captureBody | No | Enable/disable body capture |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. 'Update' implies a mutation operation, but it doesn't disclose behavioral traits like whether changes are reversible, permission requirements, rate limits, or what happens if the domain doesn't exist. It mentions 'configuration' but lacks details on scope or impact.
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 zero wasteā'Update target domain configuration' is front-loaded and appropriately sized for the tool's purpose. Every word earns 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 no annotations, no output schema, and a mutation tool with 5 parameters, the description is incomplete. It doesn't explain what 'target domain configuration' includes beyond the implied parameters, lacks error handling or success indicators, and fails to address behavioral aspects like side effects or prerequisites.
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 100%, so the schema fully documents all 5 parameters. The description adds no additional meaning beyond implying these parameters relate to 'target domain configuration', which aligns with the schema but doesn't provide extra context like default values or inter-parameter dependencies.
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 'Update target domain configuration' clearly states the action (update) and resource (target domain configuration). It distinguishes from siblings like 'proxy_add_target' (adds new) and 'proxy_remove_target' (removes), but doesn't explicitly mention what 'target domain configuration' entails beyond the implied domain settings.
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 on when to use this tool versus alternatives like 'proxy_add_target' or 'proxy_remove_target'. The description implies it modifies existing configurations but doesn't specify prerequisites (e.g., target must exist) or use cases (e.g., enabling/disabling, updating descriptions).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ssl_ca_statusB
Get current CA status and configuration
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. While 'Get' implies a read-only operation, it doesn't specify whether this requires special permissions, what format the status information returns in, or if there are any rate limits. The description lacks essential context about what 'CA status and configuration' actually includes.
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 perfectly concise - a single sentence that communicates the essential purpose without any wasted words. It's front-loaded with the core functionality and doesn't include unnecessary elaboration.
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?
For a tool with no annotations and no output schema, the description is insufficient. It doesn't explain what 'CA status' means, what configuration details are returned, or what format the response takes. Given the complexity implied by 'CA status and configuration' and the lack of structured documentation, more descriptive context is needed.
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 tool has zero parameters with 100% schema description coverage, so the baseline is 4. The description appropriately doesn't waste space discussing non-existent parameters, though it could theoretically mention that no parameters are required for this status check.
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 ('Get') and resource ('CA status and configuration'), making the tool's purpose immediately understandable. However, it doesn't distinguish this tool from its sibling 'ssl_list_cas' which might provide overlapping information about CAs, missing an opportunity for sibling differentiation.
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 'ssl_list_cas' or 'ssl_get_ca_certificate'. There's no mention of prerequisites, timing considerations, or what makes this tool the right choice for obtaining CA status versus other SSL-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ssl_create_caC
Create a new Certificate Authority for SSL bumping
| Name | Required | Description | Default |
|---|---|---|---|
| caName | No | Name for the new CA (default: 'default') | default |
| description | No | Description for the CA | |
| overwrite | No | Overwrite existing CA if it exists | |
| subject | No | Certificate subject information |
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 states 'Create' which implies a write/mutation operation, but doesn't disclose critical behaviors: whether this requires admin permissions, if it's irreversible, what happens on failure, or if it affects existing SSL configurations. For a security-critical tool with zero 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that states exactly what the tool does without unnecessary words. It's front-loaded with the core action and purpose, making it immediately understandable. Every word earns its place in this concise formulation.
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?
For a security tool that creates Certificate Authorities (a significant operation with potential system-wide impact), the description is insufficient. No annotations exist to provide safety context, no output schema documents what gets returned, and the description doesn't explain the consequences of creating a CA or how it integrates with the broader SSL/proxy system. Given the complexity and security implications, this should provide more complete context.
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 100%, so parameters are well-documented in the schema itself. The description doesn't add any parameter-specific information beyond what's in the schema descriptions. This meets the baseline expectation when schema coverage is complete, but doesn't provide additional context about parameter relationships or usage patterns.
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 ('Create') and resource ('Certificate Authority for SSL bumping'), making the purpose immediately understandable. However, it doesn't differentiate this tool from sibling SSL tools like 'ssl_generate_certificate' or 'ssl_list_cas', which would require more specific context about when to create a CA versus other SSL operations.
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 on when to use this tool versus alternatives. The description doesn't mention prerequisites, when SSL bumping requires a CA, or how this relates to sibling tools like 'ssl_generate_certificate' (which might depend on an existing CA). Without this context, an agent might struggle to choose between related SSL operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ssl_generate_certificateC
Generate server certificate for specific domain
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Domain name for the certificate | |
| altNames | No | Alternative domain names (SAN) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states 'Generate' which implies a write/mutation operation, but doesn't specify whether this requires specific permissions, generates self-signed vs CA-signed certificates, what the output format is, or any rate limits. The description is minimal and leaves critical behavioral aspects undocumented.
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 just 6 words, with zero wasted language. It's front-loaded with the core purpose and doesn't contain any unnecessary elaboration or repetition.
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?
For a certificate generation tool with no annotations and no output schema, the description is inadequate. It doesn't explain what type of certificate is generated, what the output contains, whether this requires an existing CA, or any error conditions. The minimal description fails to provide sufficient context for safe and effective 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?
The input schema has 100% description coverage, with both 'domain' and 'altNames' clearly documented in the schema itself. The description adds no additional parameter information beyond what's already in the schema, so it meets the baseline score of 3 for high 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 action ('Generate') and resource ('server certificate for specific domain'), making the tool's purpose immediately understandable. However, it doesn't differentiate itself from sibling SSL tools like 'ssl_create_ca' or 'ssl_get_ca_certificate', which would require mentioning this generates end-entity certificates rather than CA certificates.
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 'ssl_create_ca' for creating certificate authorities or 'ssl_get_ca_certificate' for retrieving existing certificates. It mentions 'for specific domain' but doesn't explain prerequisites, dependencies, or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ssl_get_ca_certificateB
Get CA certificate and installation instructions
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 mentions retrieving a CA certificate and instructions but doesn't specify if this is a read-only operation, requires authentication, involves rate limits, or what the output format might be. This leaves critical behavioral traits unclear for a tool that likely handles sensitive SSL 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 that directly states the tool's purpose without any wasted words. It is appropriately sized and front-loaded, making it easy to parse quickly.
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 complexity of SSL/CA operations and the lack of annotations and output schema, the description is incomplete. It doesn't explain what kind of CA certificate is retrieved (e.g., active, specific), the format of installation instructions, or any prerequisites, leaving gaps for effective tool use in a security context.
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 tool has 0 parameters with 100% schema description coverage, so the schema fully documents the lack of inputs. The description adds no parameter information, which is acceptable here as there are no parameters to explain. A baseline of 4 is appropriate since no compensation is needed for missing parameter details.
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 ('Get') and the resource ('CA certificate and installation instructions'), making the purpose understandable. However, it doesn't differentiate this tool from sibling SSL tools like 'ssl_ca_status' or 'ssl_list_cas', which might provide overlapping or related CA information.
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 on when to use this tool versus alternatives. With siblings like 'ssl_ca_status' and 'ssl_list_cas', the description lacks context on whether this retrieves a specific CA certificate, all CAs, or installation details only, leaving usage ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ssl_list_casB
List all available Certificate Authorities
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states what the tool does, not how it behaves. It doesn't disclose if this is a read-only operation, what format the list returns, if there are rate limits, or any error conditions.
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, clear sentence with zero wasted words. It's front-loaded with the core purpose and efficiently communicates the essential information without unnecessary elaboration.
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?
For a simple list tool with no parameters and no output schema, the description is adequate but minimal. It lacks details about return format or behavioral context, which would be helpful given the absence of annotations.
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 tool has 0 parameters, and schema coverage is 100%, so no parameter documentation is needed. The description appropriately doesn't mention parameters, earning a high baseline score for this dimension.
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 resource ('Certificate Authorities'), making the purpose immediately understandable. It doesn't differentiate from sibling tools like 'ssl_ca_status' or 'ssl_get_ca_certificate', which prevents 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?
No guidance is provided on when to use this tool versus alternatives like 'ssl_ca_status' (which might check status) or 'ssl_get_ca_certificate' (which might retrieve a specific CA). The description lacks context about prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ssl_switch_caC
Switch to a different Certificate Authority
| Name | Required | Description | Default |
|---|---|---|---|
| caName | Yes | Name of the CA to switch to |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states the action without behavioral details. It doesn't disclose if this is a destructive operation (e.g., affects active SSL configurations), requires specific permissions, has side effects, or what happens on success/failure, which is critical for a tool that likely modifies system state.
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, direct sentence with zero wasted words, making it highly concise and front-loaded. It efficiently communicates the core action without unnecessary elaboration.
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's complexity (likely a mutation affecting SSL configuration), lack of annotations, and no output schema, the description is incomplete. It fails to explain behavioral aspects, return values, or error conditions, leaving significant gaps for safe and effective use by an AI agent.
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 100%, with the single parameter 'caName' documented as 'Name of the CA to switch to'. The description adds no additional meaning beyond this, such as format examples or constraints, so it meets the baseline for adequate but unenriched parameter context.
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 ('Switch') and resource ('Certificate Authority'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'ssl_ca_status' or 'ssl_create_ca', which would require more specificity about what 'switch' entails operationally.
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 on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., existing CAs), exclusions, or how it relates to siblings like 'ssl_ca_status' for checking status or 'ssl_create_ca' for creating new CAs, leaving the agent to infer usage context.
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. Dates show when Glama detected each change.
22 tool updates
- First observed
proxy_add_target - First observed
proxy_analyze_traffic - First observed
proxy_clear_traffic_log - First observed
proxy_export_config - First observed
proxy_export_har - First observed
proxy_generate_setup - First observed
proxy_get_pac_file - First observed
proxy_get_performance_metrics - First observed
proxy_get_traffic_log - First observed
proxy_import_config - First observed
proxy_list_targets - First observed
proxy_remove_target - First observed
proxy_server_status - First observed
proxy_start_server - First observed
proxy_stop_server - First observed
proxy_update_target - First observed
ssl_ca_status - First observed
ssl_create_ca - First observed
ssl_generate_certificate - First observed
ssl_get_ca_certificate - First observed
ssl_list_cas - First observed
ssl_switch_ca
TDQS
Every tool has a clearly distinct purpose with no ambiguity. For example, proxy_start_server and proxy_stop_server handle server lifecycle, while ssl_create_ca and ssl_generate_certificate manage SSL operations, all with non-overlapping functions.
Tool names follow a consistent verb_noun pattern throughout, with clear prefixes (proxy_ or ssl_) for grouping. All tools use snake_case and descriptive names like proxy_export_har and ssl_list_cas, making them predictable and readable.
With 22 tools, the count is slightly high but reasonable for the comprehensive web proxy domain, covering server management, traffic monitoring, SSL handling, and configuration. It's well-scoped, though could be streamlined without losing core functionality.
The tool set provides complete coverage for web proxy operations, including CRUD for targets (add, list, update, remove), server lifecycle (start, stop, status), traffic analysis (analyze, get, clear, export), SSL management (CA creation, certificates, switching), and configuration handling (import, export, setup). No obvious gaps exist.
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
Capture, inspect & debug HTTPS traffic across iOS, Android, browsers & backends ā 304 MCP tools.
Free remote MCP server for fetching public web pages through a rotating proxy pool.
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
MCP server for ScanMalware.com URL scanning, malware detection, and analysis.
Related MCP Servers
- JavaScriptMIT
- AlicenseAqualityFmaintenanceAn MCP server that enables AI assistants to capture and analyze HTTP/HTTPS traffic from Android devices. It supports smart searching of network requests and provides tools for detailed traffic analysis via natural language.11223MIT
- AlicenseNot gradedqualityCmaintenanceCaptures browser network traffic, analyzes API patterns, and exposes analysis tools through an MCP server for AI-assisted workflows.1MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that enables AI agents to intercept, inspect, and modify HTTP traffic, with tools for searching, filtering, and managing captured requests and interceptors.148MIT
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/mako10k/mcp-web-proxy'
If you have feedback or need assistance with the MCP directory API, please join our Discord server