No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "list-endpoints",
"title": "List API Endpoints",
"description": "Lists all API paths and their HTTP methods with summaries, organized by path. Results can be passed directly into 'get-endpoint'.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description92/100
Performs a deep search through paths, operations, and parameters to discover relevant API endpoints. Use this tool to find specific API capabilities, required parameters, or data models based on search keywords. Results can be passed directly into 'get-endpoint'.
The description explains the capability, when to use it, and what to expect.
Inputs75/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
pattern
Search pattern (case-insensitive)
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
Annotations75/100
Declare idempotentHint based on the tool’s actual behavior.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "search-endpoints",
"title": "Search API Endpoints",
"description": "Performs a deep search through paths, operations, and parameters to discover relevant API endpoints. Use this tool to find specific API capabilities, required parameters, or data models based on search keywords. Results can be passed directly into 'get-endpoint'.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"pattern"
],
"properties": {
"pattern": {
"type": "string",
"description": "Search pattern (case-insensitive)"
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}
}
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get-server-variables",
"title": "Get Server Variables",
"description": "Gets the server variables for each server within a specific OpenAPI spec.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description76/100
Call this first for any question about what is in the mail, ours or our customers': bills, invoices, past-due or payment deadlines, checks, notices, letters from a sender, government or legal mail, unread or unassigned items. There are no bills, invoices, payments or notices endpoints. All of that lives inside mail items, and this tool explains how to find it.
Describe the returned information so the agent knows whether it will answer the request.
Inputs100/100
This tool declares no inputs, so argument descriptions are not needed.
No input fields.
Annotations75/100
Declare idempotentHint based on the tool’s actual behavior.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "find-mail",
"title": "Find Mail",
"description": "Call this first for any question about what is in the mail, ours or our customers': bills, invoices, past-due or payment deadlines, checks, notices, letters from a sender, government or legal mail, unread or unassigned items. There are no bills, invoices, payments or notices endpoints. All of that lives inside mail items, and this tool explains how to find it.",
"inputSchema": {
"type": "object",
"properties": {}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description73/100
Call this before answering any question that needs the actual text of a piece of mail rather than its summary: exact wording, amounts, dates, names, account or case numbers, legal language. Explains how to download the full text of a scanned mail item.
Describe the returned information so the agent knows whether it will answer the request.
Inputs100/100
This tool declares no inputs, so argument descriptions are not needed.
No input fields.
Annotations75/100
Declare idempotentHint based on the tool’s actual behavior.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "read-mail-document",
"title": "Read Mail Document",
"description": "Call this before answering any question that needs the actual text of a piece of mail rather than its summary: exact wording, amounts, dates, names, account or case numbers, legal language. Explains how to download the full text of a scanned mail item.",
"inputSchema": {
"type": "object",
"properties": {}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}
}
Loading score analytics…
Put your MCP to the test
A few tasks worth trying with this server, chosen from its reviewed tools. These have not been run.
01List API EndpointsLists all API paths and their HTTP methods with summaries, organized by path.
02Get Endpoint DetailsGets detailed information about a specific API endpoint, including security schemes and servers
03Search API EndpointsPerforms a deep search through paths, operations, and parameters to discover relevant API endpoints.
04Find MailCall this first for any question about what is in the mail, ours or our customers': bills, invoices, past-due or payment deadlines, checks, notices, letters…
Want to run these tasks against your MCP server with us?
Stable setup, tools, quality score, publishing readiness, and alternatives.
How do I add Stable to Claude, ChatGPT, or Cursor?
Add Stable to Claude, ChatGPT, or Cursor by connecting its remote MCP URL in each client's MCP settings. In Claude, add a custom connector. In ChatGPT, add an MCP app. In Cursor, add an MCP server under Settings. The MCP URL is https://docs.usestable.com/mcp.
Is Stable MCP ready for ChatGPT and Claude?
As of November 7, 2026, Stable scores 100/100 on Manufact's MCP publishing checklist. The scan meets ChatGPT publishing checks and meets Claude publishing checks. Passing these checks does not guarantee marketplace approval.
How clear is Stable's MCP tool documentation?
As of November 7, 2026, Stable scores 76/100 in Manufact's review of tool titles, descriptions, input and output schemas, and behavior annotations. The review covers 7 of 7 discovered tools. The quality score measures documentation clarity; runtime behavior and marketplace readiness require separate checks.
What are the best alternatives to Stable?
As of November 8, 2026, alternatives to Stable in developer-tools on the Manufact MCP leaderboard include Speko, Manufact, Context, AgentMail, and TPC Benchmarks.
How can Stable improve its MCP documentation?
execute-request is the lowest-scoring reviewed tool at 57/100. No output schema is declared. Add one for structured results so clients can interpret returned fields. Open its review for feedback and a copyable fix prompt, then rerun the documentation review after updating your tool metadata.
Not your MCP?
Review any public or OAuth MCP server for protocol compatibility, tool documentation, and ChatGPT and Claude publishing readiness. No account required.