mcp-registry/io.github.pipehero/pipehero · v0.1.17
As of 2026-10-26 23:16 UTC, the Pipehero MCP server is up with a Glimind reliability score of 96/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks. It had 1 outage in 90 days, with a median recovery of 8 minutes.
Debug webhooks from your AI agent: inspect and replay captured webhooks on localhost.
Point your MCP client at this streamable-http endpoint: https://mcp.pipehero.app/mcp
33 parameter(s) across 17 tool(s) have no description.
Add a "description" to each parameter with its format and an example ("ISO 8601 date, e.g. 2026-10-17"). This is the commonest cause of wrong arguments on the first call. How to fix →
3 tool(s) have parameters with no type (no type/enum/anyOf/$ref).
Give every parameter a "type" (or "enum"/"anyOf"). Untyped parameters make models guess — strings for numbers, objects for arrays. How to fix →
Negotiates MCP 2024-11-05. Structured output, tool output schemas and elicitation arrived in 2025-06-18.
Upgrade the MCP SDK and negotiate 2025-06-18 or newer. How to fix →
No tool declares an outputSchema.
Declare outputSchema and return structuredContent (MCP 2025-06-18+). Agents can then parse results without guessing, and chain tools reliably. How to fix →
Paste-ready definitions with the problems above fixed. Changes marked verify need a human look. 17 tool(s) still need parameter descriptions written by someone who knows the API. All of them as JSON: /v1/readiness/mcp-registry%2Fio.github.pipehero%2Fpipehero/fixes
{
"name": "add_api_example",
"description": "Save a response example on an endpoint (for instance the 402 your handler returns for a declined card). Replaces the example with the same name, so it is safe to repeat.",
"inputSchema": {
"type": "object",
"required": [
"collection_id",
"name",
"status"
],
"properties": {
"body": {
"description": "Example response body (any JSON).",
"type": "string"
},
"name": {
"type": "string",
"description": "e.g. Card declined."
},
"path": {
"type": "string",
"description": "Route path as written in the code, e.g. /v1/charges/:id or /v1/charges/{id}."
},
"method": {
"type": "string",
"description": "HTTP method of the route, e.g. POST. Use with path instead of endpoint_id."
},
"status": {
"type": "integer"
},
"headers": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"value"
],
"properties": {
"name": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
},
"endpoint_id": {
"type": "string",
"description": "Id of the endpoint. Alternative to method + path."
},
"status_text": {
"type": "string"
},
"collection_id": {
"type": "string",
"description": "Id from list_api_collections."
}
}
},
"annotations": {
"title": "Add a response example",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}{
"name": "import_api_spec",
"description": "Import an OpenAPI 3.x document (as JSON), a Postman v2.x collection (JSON) or a curl command into a new collection, or into `collection_id`. All or nothing, and plan limits are checked first. Credentials are never imported (they become variables). Convert YAML to JSON before sending.",
"inputSchema": {
"type": "object",
"required": [
"format",
"content"
],
"properties": {
"name": {
"type": "string",
"description": "Name for the new collection."
},
"format": {
"enum": [
"openapi",
"postman",
"har",
"curl"
],
"type": "string"
},
"content": {
"description": "The document (object or JSON string), or the curl command.",
"type": "string"
},
"collection_id": {
"type": "string",
"description": "Add to this collection instead of creating one."
}
}
},
"annotations": {
"title": "Import an API spec",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}
}{
"name": "upsert_api_endpoint",
"description": "Document an endpoint: creates it, or updates the existing one for the same method + path. Use it whenever you add or change a route in the code, so the docs stay true. Only the fields you send change. `path` may use :id, {id} or {{id}} for variables. `folder` is created by name if missing. Send `version` (from get_api_endpoint) to avoid overwriting a teammate's edit; a stale version is rejected.",
"inputSchema": {
"type": "object",
"required": [
"collection_id",
"method",
"path"
],
"properties": {
"body": {
"description": "Example request body (any JSON). null clears it.",
"type": "string"
},
"kind": {
"enum": [
"http",
"event"
],
"type": "string",
"description": "`event` for a webhook your app sends."
},
"name": {
"type": "string",
"description": "Short title, e.g. Create a charge. Defaults to METHOD /path."
},
"path": {
"type": "string"
},
"folder": {
"type": "string",
"description": "Folder name, e.g. Charges."
},
"method": {
"type": "string"
},
"params": {
"type": "array",
"items": {
"type": "object",
"required": [
"name"
],
"properties": {
"in": {
"enum": [
"path",
"query",
"header",
"body"
],
"type": "string"
},
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"required": {
"type": "boolean"
},
"description": {
"type": "string"
}
}
},
"description": "Documented fields."
},
"headers": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"value"
],
"properties": {
"name": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
},
"version": {
"type": "integer"
},
"description": {
"type": "string"
},
"collection_id": {
"type": "string"
}
}
},
"annotations": {
"title": "Create or update an API endpoint",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}Get an email or webhook when this server's readiness drops by 10+ points, tool-poisoning text appears, or a tool breaks:
curl -X POST https://glimind.com/v1/subscriptions -H 'content-type: application/json' -d '{"tools":["mcp-registry/io.github.pipehero/pipehero"],"email":"[email protected]"}'Agents: watch_tool({"toolId": "mcp-registry/io.github.pipehero/pipehero"}) over MCP.
upsert_api_endpoint ~411 tokensshare_api_endpoint ~409 tokensrun_api_endpoint ~370 tokenssave_captured_request ~328 tokensshare_api_collection ~295 tokensStatic checks of the advertised tools/list (schema, descriptions, annotations, tool-poisoning patterns, names, size) plus observed protocol, uptime, latency and contract changes. Read-only: no tool is ever called. Weights: schema 15, docs 20, safety 15, efficiency 15, compatibility 15, protocol 5, reliability 10, stability 5. Token counts are estimates (~3.6 characters per token).
Operator? Fix these, then re-check live. Embed the readiness badge:
[](https://glimind.com/server/mcp-registry%2Fio.github.pipehero%2Fpipehero?ref=badge)
<a href="https://glimind.com/server/mcp-registry%2Fio.github.pipehero%2Fpipehero?ref=badge"><img src="https://glimind.com/v1/readiness/badge/mcp-registry%2Fio.github.pipehero%2Fpipehero.svg" alt="MCP agent-readiness"></a>
.. image:: https://glimind.com/v1/readiness/badge/mcp-registry%2Fio.github.pipehero%2Fpipehero.svg :target: https://glimind.com/server/mcp-registry%2Fio.github.pipehero%2Fpipehero?ref=badge :alt: MCP agent-readiness
Glimind records every version of this server's tool definitions in a signed, append-only transparency log. Current manifest sha256:5a3641d9ad06cc00…, first seen 2026-10-17, included at leaf 13628 of 76,031. Version history · verify what your client received.
Compare: most reliable data servers · most reliable code servers · most reliable knowledge servers · most reliable devops servers · most reliable other servers
Glimind tells agents whether a server is up right now and how to call it, then fails over to a live alternative when it isn't.
Claude Code
claude mcp add --transport http glimind https://glimind.com/mcp
Claude Desktop · Windsurf · Cline (mcpServers JSON)
{
"mcpServers": {
"glimind": {
"type": "http",
"url": "https://glimind.com/mcp"
}
}
}
As of 2026-10-26 23:16 UTC, the Pipehero MCP server is up with a Glimind reliability score of 96/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks. It had 1 outage in 90 days, with a median recovery of 8 minutes.
Pipehero MCP server advertises 25 tools, including add_api_example, check_api_drift, create_api_collection, delete_api_endpoint, export_api_collection.
Point your MCP client at this streamable-http endpoint: https://mcp.pipehero.app/mcp
Glimind scanned all 25 tool definitions for tool-poisoning patterns — hidden or invisible characters, instructions that override the model, concealment from the user, requests to read credential or MCP config files, conversation exfiltration and cross-tool shadowing — and found none. This checks what the server tells the model, not what its code does; review the source before granting access to sensitive data.
Status page: 90-day uptime, every outage and how long it lasted.
Claim this listing to get the Verified operator marker, a remediation checklist and owner analytics, or embed the live badge from any of the tool pages above. Maintainers: alerts, deploy attestation and monthly reports.
Status is an automated estimate from Glimind's liveness checks (handshake and tool listing only; no tool is ever called) and may lag or differ from your network. Glimind is not affiliated with this server or its operator. Operator? Request a correction or opt out at https://glimind.com/opt-out.