MCP-RQuest
Click on "Deploy 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., "@MCP-RQuestfetch the latest news from hackernews.com and convert it to markdown"
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.
mcp-rquest
A Model Context Protocol (MCP) server that provides advanced HTTP request capabilities for Claude and other LLMs. Built on rquest, this server enables realistic browser emulation with accurate TLS/JA3/JA4 fingerprints, allowing models to interact with websites more naturally and bypass common anti-bot measures. It also supports converting PDF and HTML documents to Markdown for easier processing by LLMs.
Features
Complete HTTP Methods: Support for GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS, and TRACE
Browser Fingerprinting: Accurate TLS, JA3/JA4, and HTTP/2 browser fingerprints
Content Handling:
Automatic handling of large responses with token counting
HTML to Markdown conversion for better LLM processing
PDF to Markdown conversion using the Marker library
Secure storage of responses in system temporary directories
Authentication Support: Basic, Bearer, and custom authentication methods
Request Customization:
Headers, cookies, redirects
Form data, JSON payloads, multipart/form-data
Query parameters
SSL Security: Uses BoringSSL for secure connections with realistic browser fingerprints
Related MCP server: URL Fetch MCP
Available Tools
HTTP Request Tools:
http_get- Perform GET requests with optional parametershttp_post- Submit data via POST requestshttp_put- Update resources with PUT requestshttp_delete- Remove resources with DELETE requestshttp_patch- Partially update resourceshttp_head- Retrieve only headers from a resourcehttp_options- Retrieve options for a resourcehttp_trace- Diagnostic request tracing
Response Handling Tools:
get_stored_response- Retrieve stored large responses, optionally by line rangeget_stored_response_with_markdown- Convert HTML or PDF responses to Markdown format for better LLM processingget_model_state- Get the current state of the PDF models loading processrestart_model_loading- Restart the PDF models loading process if it failed or got stuck
PDF Support
mcp-rquest now supports PDF to Markdown conversion, allowing you to download PDF files and convert them to Markdown format that's easy for LLMs to process:
Automatic PDF Detection: PDF files are automatically detected based on content type
Seamless Conversion: The same
get_stored_response_with_markdowntool works for both HTML and PDF filesHigh-Quality Conversion: Uses the Marker library for accurate PDF to Markdown transformation
Optimized Performance: Models are pre-downloaded during package installation to avoid delays during request processing
Installation
Using uv (recommended)
When using uv no specific installation is needed. We will
use uvx to directly run mcp-rquest.
Using pip
Alternatively you can install mcp-rquest via pip:
pip install mcp-rquestAfter installation, you can run it as a script using:
python -m mcp_rquestConfiguration
Configure for Claude.app
Add to your Claude settings:
Using uvx:
{
"mcpServers": {
"http-rquest": {
"command": "uvx",
"args": ["mcp-rquest"]
}
}
}Using pip:
{
"mcpServers": {
"http-rquest": {
"command": "python",
"args": ["-m", "mcp_rquest"]
}
}
}Using pipx:
{
"mcpServers": {
"http-rquest": {
"command": "pipx",
"args": ["run", "mcp-rquest"]
}
}
}Browser Emulation
mcp-rquest leverages rquest's powerful browser emulation capabilities to provide realistic browser fingerprints, which helps bypass bot detection and access content normally available only to standard browsers. Supported browser fingerprints include:
Chrome (multiple versions)
Firefox
Safari (including iOS and iPad versions)
Edge
OkHttp
This ensures that requests sent through mcp-rquest appear as legitimate browser traffic rather than bot requests.
Development
Setting up a Development Environment
Clone the repository
Create a virtual environment using uv:
uv venvActivate the virtual environment:
# Unix/macOS source .venv/bin/activate # Windows .venv\Scripts\activateInstall development dependencies:
uv pip install -e ".[dev]"
Acknowledgements
Available Tools
12 toolsget_model_stateB
Get the current state of the PDF models(used by get_stored_response_with_markdown) loading process
| 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 the full burden. It does not mention side effects, read-only nature, or any state-changing behavior. The word 'get' suggests a safe operation, but this is not explicitly stated.
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 sentence that directly conveys the tool's purpose without unnecessary detail. Minor punctuation issues do not detract from its clarity.
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?
While the description names the resource (PDF models) and the action (get state), it does not specify the format or nature of the state (e.g., loading, loaded, error). The reference to another tool provides some context, but the lack of output schema and details leaves some ambiguity.
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?
There are zero parameters, so the baseline is 4. The description does not need to explain parameters since none exist, and it adequately describes the tool's action.
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 retrieves the loading state of PDF models, referencing a related tool. However, it does not explicitly differentiate from sibling tools like `restart_model_loading`, though the intent is understandable.
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 only mentions that it is used by `get_stored_response_with_markdown`, implying a supporting role, but does not state explicit conditions or scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_stored_responseC
Retrieve a stored HTTP response by its ID
| Name | Required | Description | Default |
|---|---|---|---|
| end_line | No | Ending line number (inclusive) | |
| start_line | No | Starting line number (1-indexed) | |
| response_id | Yes | ID of the stored response |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It states a read operation ('Retrieve') but does not mention any side effects, error handling, auth requirements, or return format. It also does not mention that the response can be filtered by line numbers, which is a behavioral capability not disclosed. The description is minimal and adds no depth beyond the action itself.
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, concise sentence with no wasted words. The key action and target are front-loaded. It is appropriately sized for a simple retrieval tool, though it could have been enriched with sibling differentiation without sacrificing conciseness.
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?
The description is incomplete for an agent to use correctly. It does not mention the optional start_line and end_line parameters, which allow partial retrieval of the stored response. It also fails to distinguish this tool from the sibling 'get_stored_response_with_markdown', leaving the agent uncertain about which output format to expect. With no output schema and no additional context, the description leaves significant gaps for correct 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 schema provides 100% coverage for all three parameters (response_id, start_line, end_line) with descriptions. The tool description adds nothing beyond identifying response_id as the lookup key. It does not explain the relationship between start_line and end_line or their purpose, though the schema does. Since the schema already documents the parameters, the description's contribution is neutral, 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 clearly states the verb 'Retrieve' and the resource 'stored HTTP response', and identifies the key parameter 'by its ID'. However, it does not differentiate from the sibling 'get_stored_response_with_markdown', which likely serves the same core purpose with a different output format. The purpose is clear but not uniquely distinguished.
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?
There is no guidance on when to use this tool versus alternatives such as 'get_stored_response_with_markdown'. No context is given about when line parameters should be used or when this tool is preferred over the markdown variant. The description offers no usage scenarios or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_stored_response_with_markdownA
Retrieve a stored HTTP response by its ID and convert it to Markdown format. Supports HTML and PDF content types. (Converting large PDF to Markdown may cause timeout, just wait and try again.)
| Name | Required | Description | Default |
|---|---|---|---|
| response_id | Yes | ID of the stored response |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of explaining behavior. It covers the main operation, supported formats, and a timeout caveat for large PDFs, but it does not mention potential side effects, error cases, or whether the operation is strictly read-only.
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 concise and well-structured, with a clear two-sentence explanation plus a useful timeout note. No unnecessary words or repetition are present.
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?
The description gives enough context for a simple retrieval-and-convert tool: what it does, the supported formats, and a practical timeout warning. It lacks explicit error behavior details, but the main use case is adequately covered for an agent to call it correctly.
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 already describes response_id as 'ID of the stored response', and the tool description only repeats 'by its ID'. No additional meaning is added beyond the schema, so the baseline score applies.
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 identifies the action: retrieving a stored HTTP response by ID and converting it to Markdown. It also specifies supported content types (HTML, PDF), making the tool's purpose distinct from the sibling get_stored_response.
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 retrieving stored responses and converting them to Markdown, and it mentions HTML/PDF support. However, it does not explicitly state when to prefer this tool over the sibling get_stored_response or other HTTP tools, leaving the choice somewhat implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
http_deleteC
Make an HTTP DELETE request to the specified URL
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL to send the request to | |
| auth | No | Authentication credentials | |
| proxy | No | Proxy to use for the request | |
| query | No | Query parameters as [[key, value], ...] | |
| cookies | No | Cookies to include in the request | |
| headers | No | Headers to include in the request | |
| basic_auth | No | Basic auth credentials as [username, password] | |
| bearer_auth | No | Bearer token for authentication | |
| max_redirects | No | Maximum number of redirects to follow | |
| allow_redirects | No | Whether to follow redirects | |
| force_store_response_content | No | Force storing response content regardless of size |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for disclosing side effects, response handling, error behavior, or authentication requirements. The one-sentence description reveals none of these, making it almost tautological.
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 and clearly structured, using a single active-voice sentence. It has no redundant words or filler, making it easy to read and 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 rich parameter set and sibling tools, the description lacks essential context: when to use DELETE over other methods, expectations about response retrieval, or implications of the many options. It is not sufficient for an agent to decide confidently.
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 provides descriptions for all 11 parameters, so the baseline is 3. The tool description adds no extra meaning to the parameters; it only repeats 'specified URL' which is already 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 clearly states the action: making an HTTP DELETE request to a specified URL. It distinguishes itself from sibling HTTP methods by explicitly naming the DELETE verb.
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 does not provide any guidance on when to use this tool versus alternatives like POST or PUT, nor does it mention typical use cases such as resource deletion. It only states what the tool does without contextual cues.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
http_getC
Make an HTTP GET request to the specified URL
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL to send the request to | |
| auth | No | Authentication credentials | |
| proxy | No | Proxy to use for the request | |
| query | No | Query parameters as [[key, value], ...] | |
| cookies | No | Cookies to include in the request | |
| headers | No | Headers to include in the request | |
| basic_auth | No | Basic auth credentials as [username, password] | |
| bearer_auth | No | Bearer token for authentication | |
| max_redirects | No | Maximum number of redirects to follow | |
| allow_redirects | No | Whether to follow redirects | |
| force_store_response_content | No | Force storing response content regardless of size |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral aspects. It does not state that GET is read-only, how redirects or auth are handled, or what happens with response content. The description is silent on side effects and safety.
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 with no redundant information. It is concise and efficiently communicates the core action, though it could be slightly more informative without becoming verbose.
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?
The description lacks essential context for an agent. It does not explain how the response is returned or stored, how to access response content (especially given sibling get_stored_response tools), or any error-handling behavior. This makes the tool incomplete from a usability standpoint.
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 provides descriptions for all 11 parameters, achieving 100% coverage. The description itself adds no extra semantic detail beyond the schema, so a 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 action (make an HTTP GET request) and the object (specified URL). However, it lacks any contextual distinction from sibling tools (e.g., other HTTP methods or response retrieval tools), so the purpose is clear but minimal.
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 that responses are stored and may be retrieved via get_stored_response, nor does it discuss any preconditions 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.
http_headC
Make an HTTP HEAD request to retrieve only headers from the specified URL
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL to send the request to | |
| auth | No | Authentication credentials | |
| proxy | No | Proxy to use for the request | |
| query | No | Query parameters as [[key, value], ...] | |
| cookies | No | Cookies to include in the request | |
| headers | No | Headers to include in the request | |
| basic_auth | No | Basic auth credentials as [username, password] | |
| bearer_auth | No | Bearer token for authentication | |
| max_redirects | No | Maximum number of redirects to follow | |
| allow_redirects | No | Whether to follow redirects | |
| force_store_response_content | No | Force storing response content regardless of size |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for disclosing behavior. It does not mention redirect following (though parameters exist), whether response content is stored, or any side effects. The description is too sparse to set expectations beyond the bare request.
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 with no extraneous words or repletion. It effectively communicates the essential purpose without padding.
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?
Without an output schema, the description should clarify what is returned (e.g., status code, headers, no body) and possible error behavior. It only states 'retrieve only headers' without specifying the response structure, leaving significant gaps 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?
The schema provides 100% coverage with clear descriptions for each parameter (e.g., query parameters as array of key-value pairs). The tool description adds no extra nuance or guidance on how parameters interact with the HEAD request, so it stays at the baseline for schema-complete 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 (make an HTTP HEAD request) and the specific resource (headers from a URL). It distinguishes from siblings by emphasizing 'retrieve only headers', which sets it apart from GET/POST/other methods.
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 only implicitly suggests when to use the tool ('retrieve only headers') but does not explicitly direct the user to choose this over GET or other methods when a body is not needed. No comparison with alternatives is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
http_optionsC
Make an HTTP OPTIONS request to retrieve options for the specified URL
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL to send the request to | |
| auth | No | Authentication credentials | |
| proxy | No | Proxy to use for the request | |
| query | No | Query parameters as [[key, value], ...] | |
| cookies | No | Cookies to include in the request | |
| headers | No | Headers to include in the request | |
| basic_auth | No | Basic auth credentials as [username, password] | |
| bearer_auth | No | Bearer token for authentication | |
| max_redirects | No | Maximum number of redirects to follow | |
| allow_redirects | No | Whether to follow redirects | |
| force_store_response_content | No | Force storing response content regardless of size |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for disclosing behavior. It only says 'retrieve options,' implying a read operation, but it does not mention whether the request is stored, how redirects are handled, authentication requirements, or any side effects. The description fails to disclose the behavior of the 11 parameters or the nature of the response, leaving significant uncertainty for a tool that makes network calls.
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 sentence with no wasted words. It is concise and front-loaded with the action. It achieves clarity without verbosity, 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?
The tool has 11 parameters, no output schema, and no annotations. The description provides no information about response format, error handling, authentication nuances, or the meaning of parameters like auth vs. basic_auth vs. bearer_auth. It is far too sparse to fully inform an agent about how to correctly invoke this tool and interpret its results, especially given the richness of the parameter set.
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 all parameters are already described in the input schema. The description adds no additional parameter semantics beyond what the schema provides. Per the rubric, a baseline of 3 is appropriate when the schema handles parameter documentation thoroughly.
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 (Make an HTTP OPTIONS request) and the resource (specified URL), and specifies the action as retrieving options. It is distinct from siblings by naming the HTTP method, though it doesn't explicitly contrast with GET/POST/etc., which is implicit in the tool name. The purpose is clear and unambiguous.
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 http_get or http_post. It doesn't mention typical use cases for OPTIONS (e.g., CORS preflight) or when it would be preferable. There is no exclusion criteria or context for choosing this method, leaving the agent to infer 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.
http_patchA
Make an HTTP PATCH request to the specified URL
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL to send the request to | |
| auth | No | Authentication credentials | |
| body | No | Request body | |
| form | No | Form data as [[key, value], ...] | |
| proxy | No | Proxy to use for the request | |
| query | No | Query parameters as [[key, value], ...] | |
| cookies | No | Cookies to include in the request | |
| headers | No | Headers to include in the request | |
| multipart | No | Multipart data as [[key, value], ...] | |
| basic_auth | No | Basic auth credentials as [username, password] | |
| bearer_auth | No | Bearer token for authentication | |
| json_payload | No | JSON payload | |
| max_redirects | No | Maximum number of redirects to follow | |
| allow_redirects | No | Whether to follow redirects | |
| force_store_response_content | No | Force storing response content regardless of size |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any side effects, potential destructive nature, or special behavior of the request (e.g., whether it modifies resources). It only states the action, leaving behavioral transparency minimal.
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, concise sentence with no redundant words. It conveys the core functionality efficiently.
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 15 parameters and no output schema, the description is too sparse. It does not explain what the response contains, whether content is stored, or any error/redirect behavior. The minimal information may leave agents uncertain about expected outcomes beyond making the request.
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 covers all 15 parameters with basic descriptions (e.g., 'URL to send the request to'), achieving 100% coverage. However, the descriptions are terse and do not clarify distinctions between overlapping fields like auth, basic_auth, and bearer_auth beyond their obvious names. The baseline score of 3 applies because schema coverage is complete, but no added meaning is provided.
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 it makes an HTTP PATCH request to a specified URL, which is a specific verb and resource. It naturally distinguishes itself from sibling tools like http_get, http_post, etc., making its purpose unambiguous.
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?
While it doesn't explicitly say when to use this tool over alternatives, the HTTP method name itself implies its use case (e.g., partial updates). The context of sibling tools with different HTTP verbs provides implicit guidance, which is sufficient for straightforward selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
http_postC
Make an HTTP POST request to the specified URL
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL to send the request to | |
| auth | No | Authentication credentials | |
| body | No | Request body | |
| form | No | Form data as [[key, value], ...] | |
| proxy | No | Proxy to use for the request | |
| query | No | Query parameters as [[key, value], ...] | |
| cookies | No | Cookies to include in the request | |
| headers | No | Headers to include in the request | |
| multipart | No | Multipart data as [[key, value], ...] | |
| basic_auth | No | Basic auth credentials as [username, password] | |
| bearer_auth | No | Bearer token for authentication | |
| json_payload | No | JSON payload | |
| max_redirects | No | Maximum number of redirects to follow | |
| allow_redirects | No | Whether to follow redirects | |
| force_store_response_content | No | Force storing response content regardless of size |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the full burden of behavioral disclosure. It only states the action without mentioning response handling, error behavior, redirects, authentication requirements, or side effects. The extensive parameter list (auth, redirects, etc.) is entirely unaddressed.
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 sentence with no fluff, achieving high conciseness. However, it is so minimal that it omits critical context, making it under-specified rather than appropriately concise. It is front-loaded but lacks substance.
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?
With 15 parameters, no output schema, and no annotations, the description is severely incomplete. It does not explain the purpose of the many body/form/multipart options, auth mechanisms, or how responses are stored (given sibling tools like get_stored_response). An agent would need to rely heavily on parameter names and descriptions.
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 all 15 parameters have descriptions. The tool description adds no extra meaning beyond the schema, which is acceptable given the high coverage. However, it does not clarify ambiguous parameters like 'auth' versus 'basic_auth' or 'bearer_auth', but the schema descriptions already exist.
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 'Make an HTTP POST request' with a specific verb and resource (URL). However, it does not differentiate from sibling tools like http_put or http_patch beyond the method name, so it lacks explicit sibling distinction.
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 http_get or http_put. The description does not mention typical use cases, prerequisites, or exclusions, leaving the agent to infer the purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
http_putC
Make an HTTP PUT request to the specified URL
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL to send the request to | |
| auth | No | Authentication credentials | |
| body | No | Request body | |
| form | No | Form data as [[key, value], ...] | |
| proxy | No | Proxy to use for the request | |
| query | No | Query parameters as [[key, value], ...] | |
| cookies | No | Cookies to include in the request | |
| headers | No | Headers to include in the request | |
| multipart | No | Multipart data as [[key, value], ...] | |
| basic_auth | No | Basic auth credentials as [username, password] | |
| bearer_auth | No | Bearer token for authentication | |
| json_payload | No | JSON payload | |
| max_redirects | No | Maximum number of redirects to follow | |
| allow_redirects | No | Whether to follow redirects | |
| force_store_response_content | No | Force storing response content regardless of size |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries all responsibility for disclosing side effects, auth requirements, or other behavioral implications. It states no such information, omitting whether the request mutates state, requires special headers, or has any known pitfalls.
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 short sentence with no redundancy, but it is under-specified. It fails to front-load key information such as the purpose of PUT or anything about the request body, making it too lean to be genuinely helpful.
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?
The tool has 15 parameters and no output schema, so the description must provide context about expected behavior and response handling. It offers none, leaving the agent without essential information for correctly using all the options.
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 descriptions for parameters are present and cover 100% of the 15 parameters, so the baseline is 3. The tool description adds no extra semantic meaning to any parameter, relying entirely on the per-parameter descriptions already 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 clearly states the action ('Make') and the resource ('HTTP PUT request to the specified URL'), distinguishing it from sibling methods like http_post or http_patch by explicitly naming PUT. It is not a tautology, though it lacks a brief note on the typical use case (e.g., updating 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?
No guidance is provided on when to use this tool versus alternatives. It does not mention idempotency, or contrast PUT with POST or PATCH, leaving the agent without direction for method selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
http_traceA
Make an HTTP TRACE request for diagnostic tracing of the specified URL
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL to send the request to | |
| auth | No | Authentication credentials | |
| proxy | No | Proxy to use for the request | |
| query | No | Query parameters as [[key, value], ...] | |
| cookies | No | Cookies to include in the request | |
| headers | No | Headers to include in the request | |
| basic_auth | No | Basic auth credentials as [username, password] | |
| bearer_auth | No | Bearer token for authentication | |
| max_redirects | No | Maximum number of redirects to follow | |
| allow_redirects | No | Whether to follow redirects | |
| force_store_response_content | No | Force storing response content regardless of size |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only states what the tool does and gives no information about side effects, safety, idempotency, or whether it is read-only. Since no annotations are provided, the description carries the full burden and falls short.
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 fluff or redundancy. It is appropriately sized for the tool's 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 there is no output schema and the tool is a straightforward HTTP method, the description is adequate but not fully complete. It omits details about response handling, error behavior, and the practical implications of the many configurable parameters (e.g., force_store_response_content), which could leave an agent uncertain in complex scenarios.
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% (all 11 parameters are described in the input schema). The tool description adds no additional meaning, constraints, or relationships beyond the schema, so it stays at the baseline score of 3.
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 a specific verb ('Make') and resource ('HTTP TRACE request') with a clear target (specified URL), instantly distinguishing it from sibling http_get, http_post, http_delete, etc. tools.
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?
While 'for diagnostic tracing' hints at a use case, the description does not explicitly state when to choose TRACE over other HTTP methods, nor does it mention alternatives or conditions under which it should be avoided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
restart_model_loadingA
Restart the PDF models(used by get_stored_response_with_markdown) loading process if it failed or got stuck
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only says 'restart' without disclosing potential side effects (e.g., whether it terminates an ongoing process, clears state, or is destructive). The tool's impact on the system is vague, leaving the agent uncertain about its consequences.
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. The parenthetical reference to `get_stored_response_with_markdown` adds relevant context without unnecessary verbosity. It is 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?
The description explains the purpose, the related tool, and the trigger condition, providing enough context for a simple no-parameter action. It does not discuss expected outcomes or post-conditions, but for this straightforward tool, the given context is adequate.
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 no parameters, so the empty schema is fully covered. There is nothing to describe, making this a neutral score. The description does not mention parameters because none exist.
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 identifies the action (restart), the target (PDF models loading process), and the condition (if failed or stuck). Referencing the related tool `get_stored_response_with_markdown` adds useful context, though the exact nature of 'restart' could be slightly more explicit.
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?
It provides specific conditions for use: only when the process failed or got stuck. This implicitly communicates when not to use it, but it does not elaborate on any prerequisites or fallback steps.
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.
12 tool updates
v1.0.1- First observed
get_model_state - First observed
get_stored_response - First observed
get_stored_response_with_markdown - First observed
http_delete - First observed
http_get - First observed
http_head - First observed
http_options - First observed
http_patch - First observed
http_post - First observed
http_put - First observed
http_trace - First observed
restart_model_loading
TDQS
Scored across 12 tools
The HTTP method tools are clearly distinct, and the two stored response tools are differentiated by markdown conversion. However, get_stored_response and get_stored_response_with_markdown could be confused by an agent without careful reading, but descriptions mitigate ambiguity.
All tool names follow a consistent snake_case verb_noun pattern, with http_ prefix for HTTP methods and clear action words like get, restart, and retrieve. The naming is highly predictable and uniform.
12 tools is well-scoped for an HTTP client with model management and stored response retrieval. Each tool has a clear purpose, and the count is neither sparse nor overwhelming.
The HTTP methods cover all standard request types, and stored response handling is present. Minor gaps include no tool to clear or list stored responses, and model state tools are limited to get and restart, but core functionality is complete.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol server for Wix AI tools
Enable secure connectivity between Sentry issues and debugging data, and LLM clients, using a Model Context Protocol (MCP) server.
Reliable web access for AI agents: smart HTTP, rotating proxies, and full-browser rendering.
Related MCP Servers
- AlicenseBqualityDmaintenanceA Model Context Protocol server that provides browser automation capabilities using BrowserCat's cloud browser service. This server enables LLMs to interact with web pages, take screenshots, and execute JavaScript in a real browser environment without needing to install browsers locally.74 npm6MIT
- AlicenseAqualityDmaintenanceA Model Context Protocol (MCP) server that enables Claude or other LLMs to fetch content from URLs, supporting HTML, JSON, text, and images with configurable request parameters.33MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that provides enhanced browser automation capabilities using Puppeteer-Extra with Stealth Plugin, enabling LLMs to interact with web pages in a way that better emulates human behavior and avoids detection as automation.3MIT
- AlicenseBqualityDmaintenanceA Model Context Protocol server that enables LLMs to interact with web pages, take screenshots, generate test code, scrape web pages, and execute JavaScript in a real browser environment.2910 npm22MIT