Skip to main content
Glama

cyanheads-mcp-server

Describe Fleet Tool or Server

cyanheads_describe_entry
Read-only

Return the description and install snippets for a named tool or server. For tools: the description, owning server, and connection metadata. For either kind: local (stdio, via npx) install snippets for every published server, plus remote (HTTP) connection snippets when a hosted endpoint exists — for every supported client, or one client via the client parameter.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "name": "<name>"
    },
    "name": "cyanheads_describe_entry"
  }
}

Input Schema

NameRequiredDescriptionDefault
kindNoWhether name refers to a tool or server. Omit to auto-detect: names containing underscores are treated as tools; names containing hyphens are treated as servers.
nameYesTool name (snake_case, e.g. "earthquake_search_events") or server name (kebab-case, e.g. "earthquake-mcp-server"). 1-64 characters. Exact names win; unique case-insensitive names resolve to canonical names. A tool name that more than one server owns also needs server. Use cyanheads_search_catalog to discover valid names.
clientNoReturn install snippets for this client only (both local and remote transports when available). "streamable-http" selects the generic mcpServers JSON; "curl" selects a connectivity probe for hosted servers. Omit to return snippets for all supported clients.
serverNoServer that owns the tool to describe — the server value cyanheads_search_catalog returned with this name. 1-64 characters, resolved like a server name. Required when the tool name has more than one owner; with a server name, it must name the same server.

Output Schema

NameRequiredDescriptionDefault
errorNoPresent when the call failed. Absent on success.
resultNoThe resolved entry — either a tool detail or a server detail depending on the resolved kind.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / result / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "description": "A resolved tool entry — its description and the server that owns it.",
      -    "properties": {
      -      "auth": {
      -        "description": "Owning server hosted authentication requirement.",
      -        "type": "string"
      -      },
      -      "description": {
      -        "description": "Brief description of what the tool does.",
      -        "type": "string"
      -      },
      -      "endpoint": {
      -        "description": "Owning server hosted HTTP endpoint, when available.",
      -        "type": "string"
      -      },
      -      "github": {
      -        "description": "Owning server GitHub repository URL.",
      -        "type": "string"
      -      },
      -      "installNotice": {
      -        "description": "Actionable guidance when the requested client has no compatible installation snippet.",
      -        "type": "string"
      -      },
      -      "installSnippets": {
      -        "description": "Owning server install snippets, filtered by client when supplied.",
      -        "items": {
      -          "additionalProperties": false,
      -          "description": "An installation snippet for the owning server.",
      -          "properties": {
      -            "client": {
      -              "description": "Target MCP client.",
      -              "enum": [
      -                "claude-code",
      -                "cline",
      -                "codex",
      -                "cursor",
      -                "curl",
      -                "gemini",
      -                "streamable-http"
      -              ],
      -              "type": "string"
      -            },
      -            "label": {
      -              "description": "Install method label.",
      -              "type": "string"
      -            },
      -            "payload": {
      -              "description": "Install command or configuration.",
      -              "type": "string"
      -            },
      -            "transport": {
      -              "description": "Local stdio or hosted HTTP transport.",
      -              "enum": [
      -                "stdio",
      -                "http"
      -              ],
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "client",
      -            "transport",
      -            "label",
      -            "payload"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "kind": {
      -        "const": "tool",
      -        "description": "Resolved as a tool entry.",
      -        "type": "string"
      -      },
      -      "name": {
      -        "description": "Canonical resolved tool name.",
      -        "type": "string"
      -      },
      -      "npm": {
      -        "description": "Owning server npm package for local installation.",
      -        "type": "string"
      -      },
      -      "requiredEnvVars": {
      -        "description": "Environment variable names required for local installation.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "server": {
      -        "description": "Server package name that owns this tool.",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "kind",
      -      "name",
      -      "description",
      -      "server",
      -      "npm",
      -      "github",
      -      "auth",
      -      "installSnippets"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "description": "A resolved server entry — metadata, optional hosted endpoint, and per-client install snippets.",
      -    "properties": {
      -      "auth": {
      -        "description": "Auth requirement for the hosted deployment (currently always \"none\").",
      -        "type": "string"
      -      },
      -      "description": {
      -        "description": "Brief description of what the server does.",
      -        "type": "string"
      -      },
      -      "displayName": {
      -        "description": "Human-readable server label.",
      -        "type": "string"
      -      },
      -      "endpoint": {
      -        "description": "Streamable HTTP endpoint for the hosted deployment. Absent for local-only (stdio) servers.",
      -        "type": "string"
      -      },
      -      "github": {
      -        "description": "GitHub repository URL.",
      -        "type": "string"
      -      },
      -      "installNotice": {
      -        "description": "Actionable guidance when the requested client has no compatible installation snippet.",
      -        "type": "string"
      -      },
      -      "installSnippets": {
      -        "description": "Install instructions: local (stdio) snippets for every server, plus remote (HTTP) snippets when an endpoint exists. Filtered to one client when input.client is set.",
      -        "items": {
      -          "additionalProperties": false,
      -          "description": "A single install instruction entry.",
      -          "properties": {
      -            "client": {
      -              "description": "MCP client this snippet targets.",
      -              "enum": [
      -                "claude-code",
      -                "cline",
      -                "codex",
      -                "cursor",
      -                "curl",
      -                "gemini",
      -                "streamable-http"
      -              ],
      -              "type": "string"
      -            },
      -            "label": {
      -              "description": "Human-readable install method label.",
      -              "type": "string"
      -            },
      -            "payload": {
      -              "description": "Install payload (JSON fragment or CLI command).",
      -              "type": "string"
      -            },
      -            "transport": {
      -              "description": "Transport this snippet installs — stdio (local) or http (remote).",
      -              "enum": [
      -                "stdio",
      -                "http"
      -              ],
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "client",
      -            "transport",
      -            "label",
      -            "payload"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "kind": {
      -        "const": "server",
      -        "description": "Resolved as a server entry.",
      -        "type": "string"
      -      },
      -      "name": {
      -        "description": "Canonical resolved server name.",
      -        "type": "string"
      -      },
      -      "npm": {
      -        "description": "npm package name (e.g. \"@cyanheads/arxiv-mcp-server\"). Drives the local stdio snippets.",
      -        "type": "string"
      -      },
      -      "requiredEnvVars": {
      -        "description": "Env var names the local (stdio) install requires (e.g. [\"MAILCHIMP_API_KEY\"]). Absent when none.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "toolCount": {
      -        "description": "Number of tools exposed by this server.",
      -        "type": "number"
      -      },
      -      "tools": {
      -        "description": "Every tool this server exposes, each with its name and a brief description — one describe call reveals the full surface without a second lookup.",
      -        "items": {
      -          "additionalProperties": false,
      -          "description": "A single tool exposed by this server.",
      -          "properties": {
      -            "description": {
      -              "description": "Brief description of what the tool does.",
      -              "type": "string"
      -            },
      -            "name": {
      -              "description": "Tool name (snake_case, e.g. \"earthquake_search_events\").",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "name",
      -            "description"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "version": {
      -        "description": "Published version captured at fleet-generation time.",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "kind",
      -      "name",
      -      "displayName",
      -      "description",
      -      "version",
      -      "npm",
      -      "github",
      -      "auth",
      -      "toolCount",
      -      "tools",
      -      "installSnippets"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "description": "A resolved tool entry — its description and the server that owns it.",
      +    "properties": {
      +      "auth": {
      +        "description": "Owning server hosted authentication requirement.",
      +        "type": "string"
      +      },
      +      "description": {
      +        "description": "Brief description of what the tool does.",
      +        "type": "string"
      +      },
      +      "endpoint": {
      +        "description": "Owning server hosted HTTP endpoint, when available.",
      +        "type": "string"
      +      },
      +      "github": {
      +        "description": "Owning server GitHub repository URL.",
      +        "type": "string"
      +      },
      +      "installNotice": {
      +        "description": "Actionable guidance when the requested client has no compatible installation snippet.",
      +        "type": "string"
      +      },
      +      "installSnippets": {
      +        "description": "Owning server install snippets, filtered by client when supplied.",
      +        "items": {
      +          "additionalProperties": false,
      +          "description": "An installation snippet for the owning server.",
      +          "properties": {
      +            "client": {
      +              "description": "Target MCP client.",
      +              "enum": [
      +                "claude-code",
      +                "cline",
      +                "codex",
      +                "cursor",
      +                "curl",
      +                "gemini",
      +                "streamable-http"
      +              ],
      +              "type": "string"
      +            },
      +            "label": {
      +              "description": "Install method label.",
      +              "type": "string"
      +            },
      +            "payload": {
      +              "description": "Install command or configuration.",
      +              "type": "string"
      +            },
      +            "transport": {
      +              "description": "Local stdio or hosted HTTP transport.",
      +              "enum": [
      +                "stdio",
      +                "http"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "client",
      +            "transport",
      +            "label",
      +            "payload"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "kind": {
      +        "const": "tool",
      +        "description": "Resolved as a tool entry.",
      +        "type": "string"
      +      },
      +      "name": {
      +        "description": "Canonical resolved tool name.",
      +        "type": "string"
      +      },
      +      "npm": {
      +        "description": "Owning server npm package for local installation.",
      +        "type": "string"
      +      },
      +      "requiredEnvVars": {
      +        "description": "Environment variable names the owning server's manifest marks required for a local install; a key the manifest leaves optional is not listed.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "server": {
      +        "description": "Server package name that owns this tool.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "kind",
      +      "name",
      +      "description",
      +      "server",
      +      "npm",
      +      "github",
      +      "auth",
      +      "installSnippets"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "description": "A resolved server entry — metadata, optional hosted endpoint, and per-client install snippets.",
      +    "properties": {
      +      "auth": {
      +        "description": "Auth requirement for the hosted deployment (currently always \"none\").",
      +        "type": "string"
      +      },
      +      "description": {
      +        "description": "Brief description of what the server does.",
      +        "type": "string"
      +      },
      +      "displayName": {
      +        "description": "Human-readable server label.",
      +        "type": "string"
      +      },
      +      "endpoint": {
      +        "description": "Streamable HTTP endpoint for the hosted deployment. Absent for local-only (stdio) servers.",
      +        "type": "string"
      +      },
      +      "github": {
      +        "description": "GitHub repository URL.",
      +        "type": "string"
      +      },
      +      "installNotice": {
      +        "description": "Actionable guidance when the requested client has no compatible installation snippet.",
      +        "type": "string"
      +      },
      +      "installSnippets": {
      +        "description": "Install instructions: local (stdio) snippets for every server, plus remote (HTTP) snippets when an endpoint exists. Filtered to one client when input.client is set.",
      +        "items": {
      +          "additionalProperties": false,
      +          "description": "A single install instruction entry.",
      +          "properties": {
      +            "client": {
      +              "description": "MCP client this snippet targets.",
      +              "enum": [
      +                "claude-code",
      +                "cline",
      +                "codex",
      +                "cursor",
      +                "curl",
      +                "gemini",
      +                "streamable-http"
      +              ],
      +              "type": "string"
      +            },
      +            "label": {
      +              "description": "Human-readable install method label.",
      +              "type": "string"
      +            },
      +            "payload": {
      +              "description": "Install payload (JSON fragment or CLI command).",
      +              "type": "string"
      +            },
      +            "transport": {
      +              "description": "Transport this snippet installs — stdio (local) or http (remote).",
      +              "enum": [
      +                "stdio",
      +                "http"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "client",
      +            "transport",
      +            "label",
      +            "payload"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "kind": {
      +        "const": "server",
      +        "description": "Resolved as a server entry.",
      +        "type": "string"
      +      },
      +      "name": {
      +        "description": "Canonical resolved server name.",
      +        "type": "string"
      +      },
      +      "npm": {
      +        "description": "npm package name (e.g. \"@cyanheads/arxiv-mcp-server\"). Drives the local stdio snippets.",
      +        "type": "string"
      +      },
      +      "requiredEnvVars": {
      +        "description": "Env var names the server's manifest marks required for a local (stdio) install (e.g. [\"MAILCHIMP_API_KEY\"]). Absent when none. A key the manifest leaves optional, such as one only some tools need, is not listed, so check the README before treating a local install as keyless.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "toolCount": {
      +        "description": "Number of tools exposed by this server.",
      +        "type": "number"
      +      },
      +      "tools": {
      +        "description": "Every tool this server exposes, each with its name and a brief description — one describe call reveals the full surface without a second lookup.",
      +        "items": {
      +          "additionalProperties": false,
      +          "description": "A single tool exposed by this server.",
      +          "properties": {
      +            "description": {
      +              "description": "Brief description of what the tool does.",
      +              "type": "string"
      +            },
      +            "name": {
      +              "description": "Tool name (snake_case, e.g. \"earthquake_search_events\").",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "name",
      +            "description"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "version": {
      +        "description": "Published version captured at fleet-generation time.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "kind",
      +      "name",
      +      "displayName",
      +      "description",
      +      "version",
      +      "npm",
      +      "github",
      +      "auth",
      +      "toolCount",
      +      "tools",
      +      "installSnippets"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. Changed2 schema fields changed
    • changedInput schema / properties / name / description
      Previous value: -"Tool name (snake_case, e.g. \"earthquake_search\") or server name (kebab-case, e.g. \"earthquake-mcp-server\"). 1-64 characters. Exact names win; unique case-insensitive names resolve to canonical names. A tool name that more than one server owns also needs server. Use cyanheads_search_catalog to discover valid names."New value: +"Tool name (snake_case, e.g. \"earthquake_search_events\") or server name (kebab-case, e.g. \"earthquake-mcp-server\"). 1-64 characters. Exact names win; unique case-insensitive names resolve to canonical names. A tool name that more than one server owns also needs server. Use cyanheads_search_catalog to discover valid names."
    • changedOutput schema / properties / result / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "description": "A resolved tool entry — its description and the server that owns it.",
      -    "properties": {
      -      "auth": {
      -        "description": "Owning server hosted authentication requirement.",
      -        "type": "string"
      -      },
      -      "description": {
      -        "description": "Brief description of what the tool does.",
      -        "type": "string"
      -      },
      -      "endpoint": {
      -        "description": "Owning server hosted HTTP endpoint, when available.",
      -        "type": "string"
      -      },
      -      "github": {
      -        "description": "Owning server GitHub repository URL.",
      -        "type": "string"
      -      },
      -      "installNotice": {
      -        "description": "Actionable guidance when the requested client has no compatible installation snippet.",
      -        "type": "string"
      -      },
      -      "installSnippets": {
      -        "description": "Owning server install snippets, filtered by client when supplied.",
      -        "items": {
      -          "additionalProperties": false,
      -          "description": "An installation snippet for the owning server.",
      -          "properties": {
      -            "client": {
      -              "description": "Target MCP client.",
      -              "enum": [
      -                "claude-code",
      -                "cline",
      -                "codex",
      -                "cursor",
      -                "curl",
      -                "gemini",
      -                "streamable-http"
      -              ],
      -              "type": "string"
      -            },
      -            "label": {
      -              "description": "Install method label.",
      -              "type": "string"
      -            },
      -            "payload": {
      -              "description": "Install command or configuration.",
      -              "type": "string"
      -            },
      -            "transport": {
      -              "description": "Local stdio or hosted HTTP transport.",
      -              "enum": [
      -                "stdio",
      -                "http"
      -              ],
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "client",
      -            "transport",
      -            "label",
      -            "payload"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "kind": {
      -        "const": "tool",
      -        "description": "Resolved as a tool entry.",
      -        "type": "string"
      -      },
      -      "name": {
      -        "description": "Canonical resolved tool name.",
      -        "type": "string"
      -      },
      -      "npm": {
      -        "description": "Owning server npm package for local installation.",
      -        "type": "string"
      -      },
      -      "requiredEnvVars": {
      -        "description": "Environment variable names required for local installation.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "server": {
      -        "description": "Server package name that owns this tool.",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "kind",
      -      "name",
      -      "description",
      -      "server",
      -      "npm",
      -      "github",
      -      "auth",
      -      "installSnippets"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "description": "A resolved server entry — metadata, optional hosted endpoint, and per-client install snippets.",
      -    "properties": {
      -      "auth": {
      -        "description": "Auth requirement for the hosted deployment (currently always \"none\").",
      -        "type": "string"
      -      },
      -      "description": {
      -        "description": "Brief description of what the server does.",
      -        "type": "string"
      -      },
      -      "displayName": {
      -        "description": "Human-readable server label.",
      -        "type": "string"
      -      },
      -      "endpoint": {
      -        "description": "Streamable HTTP endpoint for the hosted deployment. Absent for local-only (stdio) servers.",
      -        "type": "string"
      -      },
      -      "github": {
      -        "description": "GitHub repository URL.",
      -        "type": "string"
      -      },
      -      "installNotice": {
      -        "description": "Actionable guidance when the requested client has no compatible installation snippet.",
      -        "type": "string"
      -      },
      -      "installSnippets": {
      -        "description": "Install instructions: local (stdio) snippets for every server, plus remote (HTTP) snippets when an endpoint exists. Filtered to one client when input.client is set.",
      -        "items": {
      -          "additionalProperties": false,
      -          "description": "A single install instruction entry.",
      -          "properties": {
      -            "client": {
      -              "description": "MCP client this snippet targets.",
      -              "enum": [
      -                "claude-code",
      -                "cline",
      -                "codex",
      -                "cursor",
      -                "curl",
      -                "gemini",
      -                "streamable-http"
      -              ],
      -              "type": "string"
      -            },
      -            "label": {
      -              "description": "Human-readable install method label.",
      -              "type": "string"
      -            },
      -            "payload": {
      -              "description": "Install payload (JSON fragment or CLI command).",
      -              "type": "string"
      -            },
      -            "transport": {
      -              "description": "Transport this snippet installs — stdio (local) or http (remote).",
      -              "enum": [
      -                "stdio",
      -                "http"
      -              ],
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "client",
      -            "transport",
      -            "label",
      -            "payload"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "kind": {
      -        "const": "server",
      -        "description": "Resolved as a server entry.",
      -        "type": "string"
      -      },
      -      "name": {
      -        "description": "Canonical resolved server name.",
      -        "type": "string"
      -      },
      -      "npm": {
      -        "description": "npm package name (e.g. \"@cyanheads/arxiv-mcp-server\"). Drives the local stdio snippets.",
      -        "type": "string"
      -      },
      -      "requiredEnvVars": {
      -        "description": "Env var names the local (stdio) install requires (e.g. [\"MAILCHIMP_API_KEY\"]). Absent when none.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "toolCount": {
      -        "description": "Number of tools exposed by this server.",
      -        "type": "number"
      -      },
      -      "tools": {
      -        "description": "Every tool this server exposes, each with its name and a brief description — one describe call reveals the full surface without a second lookup.",
      -        "items": {
      -          "additionalProperties": false,
      -          "description": "A single tool exposed by this server.",
      -          "properties": {
      -            "description": {
      -              "description": "Brief description of what the tool does.",
      -              "type": "string"
      -            },
      -            "name": {
      -              "description": "Tool name (snake_case, e.g. \"earthquake_search\").",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "name",
      -            "description"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "version": {
      -        "description": "Published version captured at fleet-generation time.",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "kind",
      -      "name",
      -      "displayName",
      -      "description",
      -      "version",
      -      "npm",
      -      "github",
      -      "auth",
      -      "toolCount",
      -      "tools",
      -      "installSnippets"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "description": "A resolved tool entry — its description and the server that owns it.",
      +    "properties": {
      +      "auth": {
      +        "description": "Owning server hosted authentication requirement.",
      +        "type": "string"
      +      },
      +      "description": {
      +        "description": "Brief description of what the tool does.",
      +        "type": "string"
      +      },
      +      "endpoint": {
      +        "description": "Owning server hosted HTTP endpoint, when available.",
      +        "type": "string"
      +      },
      +      "github": {
      +        "description": "Owning server GitHub repository URL.",
      +        "type": "string"
      +      },
      +      "installNotice": {
      +        "description": "Actionable guidance when the requested client has no compatible installation snippet.",
      +        "type": "string"
      +      },
      +      "installSnippets": {
      +        "description": "Owning server install snippets, filtered by client when supplied.",
      +        "items": {
      +          "additionalProperties": false,
      +          "description": "An installation snippet for the owning server.",
      +          "properties": {
      +            "client": {
      +              "description": "Target MCP client.",
      +              "enum": [
      +                "claude-code",
      +                "cline",
      +                "codex",
      +                "cursor",
      +                "curl",
      +                "gemini",
      +                "streamable-http"
      +              ],
      +              "type": "string"
      +            },
      +            "label": {
      +              "description": "Install method label.",
      +              "type": "string"
      +            },
      +            "payload": {
      +              "description": "Install command or configuration.",
      +              "type": "string"
      +            },
      +            "transport": {
      +              "description": "Local stdio or hosted HTTP transport.",
      +              "enum": [
      +                "stdio",
      +                "http"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "client",
      +            "transport",
      +            "label",
      +            "payload"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "kind": {
      +        "const": "tool",
      +        "description": "Resolved as a tool entry.",
      +        "type": "string"
      +      },
      +      "name": {
      +        "description": "Canonical resolved tool name.",
      +        "type": "string"
      +      },
      +      "npm": {
      +        "description": "Owning server npm package for local installation.",
      +        "type": "string"
      +      },
      +      "requiredEnvVars": {
      +        "description": "Environment variable names required for local installation.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "server": {
      +        "description": "Server package name that owns this tool.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "kind",
      +      "name",
      +      "description",
      +      "server",
      +      "npm",
      +      "github",
      +      "auth",
      +      "installSnippets"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "description": "A resolved server entry — metadata, optional hosted endpoint, and per-client install snippets.",
      +    "properties": {
      +      "auth": {
      +        "description": "Auth requirement for the hosted deployment (currently always \"none\").",
      +        "type": "string"
      +      },
      +      "description": {
      +        "description": "Brief description of what the server does.",
      +        "type": "string"
      +      },
      +      "displayName": {
      +        "description": "Human-readable server label.",
      +        "type": "string"
      +      },
      +      "endpoint": {
      +        "description": "Streamable HTTP endpoint for the hosted deployment. Absent for local-only (stdio) servers.",
      +        "type": "string"
      +      },
      +      "github": {
      +        "description": "GitHub repository URL.",
      +        "type": "string"
      +      },
      +      "installNotice": {
      +        "description": "Actionable guidance when the requested client has no compatible installation snippet.",
      +        "type": "string"
      +      },
      +      "installSnippets": {
      +        "description": "Install instructions: local (stdio) snippets for every server, plus remote (HTTP) snippets when an endpoint exists. Filtered to one client when input.client is set.",
      +        "items": {
      +          "additionalProperties": false,
      +          "description": "A single install instruction entry.",
      +          "properties": {
      +            "client": {
      +              "description": "MCP client this snippet targets.",
      +              "enum": [
      +                "claude-code",
      +                "cline",
      +                "codex",
      +                "cursor",
      +                "curl",
      +                "gemini",
      +                "streamable-http"
      +              ],
      +              "type": "string"
      +            },
      +            "label": {
      +              "description": "Human-readable install method label.",
      +              "type": "string"
      +            },
      +            "payload": {
      +              "description": "Install payload (JSON fragment or CLI command).",
      +              "type": "string"
      +            },
      +            "transport": {
      +              "description": "Transport this snippet installs — stdio (local) or http (remote).",
      +              "enum": [
      +                "stdio",
      +                "http"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "client",
      +            "transport",
      +            "label",
      +            "payload"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "kind": {
      +        "const": "server",
      +        "description": "Resolved as a server entry.",
      +        "type": "string"
      +      },
      +      "name": {
      +        "description": "Canonical resolved server name.",
      +        "type": "string"
      +      },
      +      "npm": {
      +        "description": "npm package name (e.g. \"@cyanheads/arxiv-mcp-server\"). Drives the local stdio snippets.",
      +        "type": "string"
      +      },
      +      "requiredEnvVars": {
      +        "description": "Env var names the local (stdio) install requires (e.g. [\"MAILCHIMP_API_KEY\"]). Absent when none.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "toolCount": {
      +        "description": "Number of tools exposed by this server.",
      +        "type": "number"
      +      },
      +      "tools": {
      +        "description": "Every tool this server exposes, each with its name and a brief description — one describe call reveals the full surface without a second lookup.",
      +        "items": {
      +          "additionalProperties": false,
      +          "description": "A single tool exposed by this server.",
      +          "properties": {
      +            "description": {
      +              "description": "Brief description of what the tool does.",
      +              "type": "string"
      +            },
      +            "name": {
      +              "description": "Tool name (snake_case, e.g. \"earthquake_search_events\").",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "name",
      +            "description"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "version": {
      +        "description": "Published version captured at fleet-generation time.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "kind",
      +      "name",
      +      "displayName",
      +      "description",
      +      "version",
      +      "npm",
      +      "github",
      +      "auth",
      +      "toolCount",
      +      "tools",
      +      "installSnippets"
      +    ],
      +    "type": "object"
      +  }
      +]
  3. Changed7 schema fields changed
    • changedInput schema / properties / client / description
      Previous value: -"Return install snippets for this client only (both local and remote transports when available). Omit to return snippets for all supported clients."New value: +"Return install snippets for this client only (both local and remote transports when available). \"streamable-http\" selects the generic mcpServers JSON; \"curl\" selects a connectivity probe for hosted servers. Omit to return snippets for all supported clients."
    • changedInput schema / properties / client / enum
      Previous value: -[
      -  "claude-code",
      -  "codex",
      -  "cursor",
      -  "curl",
      -  "gemini",
      -  "streamable-http"
      -]New value: +[
      +  "claude-code",
      +  "cline",
      +  "codex",
      +  "cursor",
      +  "curl",
      +  "gemini",
      +  "streamable-http"
      +]
    • changedInput schema / properties / name / description
      Previous value: -"Tool name (snake_case, e.g. \"earthquake_search\") or server name (kebab-case, e.g. \"earthquake-mcp-server\"). 1-64 characters. Exact names win; unique case-insensitive names resolve to canonical names. Use cyanheads_search_catalog to discover valid names."New value: +"Tool name (snake_case, e.g. \"earthquake_search\") or server name (kebab-case, e.g. \"earthquake-mcp-server\"). 1-64 characters. Exact names win; unique case-insensitive names resolve to canonical names. A tool name that more than one server owns also needs server. Use cyanheads_search_catalog to discover valid names."
    • addedInput schema / properties / server
      Added value: +{
      +  "description": "Server that owns the tool to describe — the server value cyanheads_search_catalog returned with this name. 1-64 characters, resolved like a server name. Required when the tool name has more than one owner; with a server name, it must name the same server.",
      +  "maxLength": 64,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • changedOutput schema / properties / error / properties / data / properties / reason / description
      Previous value: -"Machine-readable failure mode. Declared by this tool: `not_found`: No tool or server with the given name exists in the catalog. `ambiguous_kind`: Name matches both a tool and a server (collision in catalog). `catalog_empty`: Catalog has not finished loading. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `not_found`: No tool or server with the given name, under the given server when set, exists in the catalog. `ambiguous_kind`: Name matches both a tool and a server (collision in catalog). `ambiguous_owner`: The tool name has more than one owning server and server is not set. `catalog_empty`: Catalog has not finished loading. Other values are possible when a failure originates below the handler."
    • changedOutput schema / properties / error / properties / data / properties / reason / examples
      Previous value: -[
      -  "not_found",
      -  "ambiguous_kind",
      -  "catalog_empty"
      -]New value: +[
      +  "not_found",
      +  "ambiguous_kind",
      +  "ambiguous_owner",
      +  "catalog_empty"
      +]
    • changedOutput schema / properties / result / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "description": "A resolved tool entry — its description and the server that owns it.",
      -    "properties": {
      -      "auth": {
      -        "description": "Owning server hosted authentication requirement.",
      -        "type": "string"
      -      },
      -      "description": {
      -        "description": "Brief description of what the tool does.",
      -        "type": "string"
      -      },
      -      "endpoint": {
      -        "description": "Owning server hosted HTTP endpoint, when available.",
      -        "type": "string"
      -      },
      -      "github": {
      -        "description": "Owning server GitHub repository URL.",
      -        "type": "string"
      -      },
      -      "installNotice": {
      -        "description": "Actionable guidance when the requested client has no compatible installation snippet.",
      -        "type": "string"
      -      },
      -      "installSnippets": {
      -        "description": "Owning server install snippets, filtered by client when supplied.",
      -        "items": {
      -          "additionalProperties": false,
      -          "description": "An installation snippet for the owning server.",
      -          "properties": {
      -            "client": {
      -              "description": "Target MCP client.",
      -              "enum": [
      -                "claude-code",
      -                "codex",
      -                "cursor",
      -                "curl",
      -                "gemini",
      -                "streamable-http"
      -              ],
      -              "type": "string"
      -            },
      -            "label": {
      -              "description": "Install method label.",
      -              "type": "string"
      -            },
      -            "payload": {
      -              "description": "Install command or configuration.",
      -              "type": "string"
      -            },
      -            "transport": {
      -              "description": "Local stdio or hosted HTTP transport.",
      -              "enum": [
      -                "stdio",
      -                "http"
      -              ],
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "client",
      -            "transport",
      -            "label",
      -            "payload"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "kind": {
      -        "const": "tool",
      -        "description": "Resolved as a tool entry.",
      -        "type": "string"
      -      },
      -      "name": {
      -        "description": "Canonical resolved tool name.",
      -        "type": "string"
      -      },
      -      "npm": {
      -        "description": "Owning server npm package for local installation.",
      -        "type": "string"
      -      },
      -      "requiredEnvVars": {
      -        "description": "Environment variable names required for local installation.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "server": {
      -        "description": "Server package name that owns this tool.",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "kind",
      -      "name",
      -      "description",
      -      "server",
      -      "npm",
      -      "github",
      -      "auth",
      -      "installSnippets"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "description": "A resolved server entry — metadata, optional hosted endpoint, and per-client install snippets.",
      -    "properties": {
      -      "auth": {
      -        "description": "Auth requirement for the hosted deployment (currently always \"none\").",
      -        "type": "string"
      -      },
      -      "description": {
      -        "description": "Brief description of what the server does.",
      -        "type": "string"
      -      },
      -      "displayName": {
      -        "description": "Human-readable server label.",
      -        "type": "string"
      -      },
      -      "endpoint": {
      -        "description": "Streamable HTTP endpoint for the hosted deployment. Absent for local-only (stdio) servers.",
      -        "type": "string"
      -      },
      -      "github": {
      -        "description": "GitHub repository URL.",
      -        "type": "string"
      -      },
      -      "installNotice": {
      -        "description": "Actionable guidance when the requested client has no compatible installation snippet.",
      -        "type": "string"
      -      },
      -      "installSnippets": {
      -        "description": "Install instructions: local (stdio) snippets for every server, plus remote (HTTP) snippets when an endpoint exists. Filtered to one client when input.client is set.",
      -        "items": {
      -          "additionalProperties": false,
      -          "description": "A single install instruction entry.",
      -          "properties": {
      -            "client": {
      -              "description": "MCP client this snippet targets.",
      -              "enum": [
      -                "claude-code",
      -                "codex",
      -                "cursor",
      -                "curl",
      -                "gemini",
      -                "streamable-http"
      -              ],
      -              "type": "string"
      -            },
      -            "label": {
      -              "description": "Human-readable install method label.",
      -              "type": "string"
      -            },
      -            "payload": {
      -              "description": "Install payload (JSON fragment or CLI command).",
      -              "type": "string"
      -            },
      -            "transport": {
      -              "description": "Transport this snippet installs — stdio (local) or http (remote).",
      -              "enum": [
      -                "stdio",
      -                "http"
      -              ],
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "client",
      -            "transport",
      -            "label",
      -            "payload"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "kind": {
      -        "const": "server",
      -        "description": "Resolved as a server entry.",
      -        "type": "string"
      -      },
      -      "name": {
      -        "description": "Canonical resolved server name.",
      -        "type": "string"
      -      },
      -      "npm": {
      -        "description": "npm package name (e.g. \"@cyanheads/arxiv-mcp-server\"). Drives the local stdio snippets.",
      -        "type": "string"
      -      },
      -      "requiredEnvVars": {
      -        "description": "Env var names the local (stdio) install requires (e.g. [\"MAILCHIMP_API_KEY\"]). Absent when none.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "toolCount": {
      -        "description": "Number of tools exposed by this server.",
      -        "type": "number"
      -      },
      -      "tools": {
      -        "description": "Every tool this server exposes, each with its name and a brief description — one describe call reveals the full surface without a second lookup.",
      -        "items": {
      -          "additionalProperties": false,
      -          "description": "A single tool exposed by this server.",
      -          "properties": {
      -            "description": {
      -              "description": "Brief description of what the tool does.",
      -              "type": "string"
      -            },
      -            "name": {
      -              "description": "Tool name (snake_case, e.g. \"earthquake_search\").",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "name",
      -            "description"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "version": {
      -        "description": "Published version captured at fleet-generation time.",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "kind",
      -      "name",
      -      "displayName",
      -      "description",
      -      "version",
      -      "npm",
      -      "github",
      -      "auth",
      -      "toolCount",
      -      "tools",
      -      "installSnippets"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "description": "A resolved tool entry — its description and the server that owns it.",
      +    "properties": {
      +      "auth": {
      +        "description": "Owning server hosted authentication requirement.",
      +        "type": "string"
      +      },
      +      "description": {
      +        "description": "Brief description of what the tool does.",
      +        "type": "string"
      +      },
      +      "endpoint": {
      +        "description": "Owning server hosted HTTP endpoint, when available.",
      +        "type": "string"
      +      },
      +      "github": {
      +        "description": "Owning server GitHub repository URL.",
      +        "type": "string"
      +      },
      +      "installNotice": {
      +        "description": "Actionable guidance when the requested client has no compatible installation snippet.",
      +        "type": "string"
      +      },
      +      "installSnippets": {
      +        "description": "Owning server install snippets, filtered by client when supplied.",
      +        "items": {
      +          "additionalProperties": false,
      +          "description": "An installation snippet for the owning server.",
      +          "properties": {
      +            "client": {
      +              "description": "Target MCP client.",
      +              "enum": [
      +                "claude-code",
      +                "cline",
      +                "codex",
      +                "cursor",
      +                "curl",
      +                "gemini",
      +                "streamable-http"
      +              ],
      +              "type": "string"
      +            },
      +            "label": {
      +              "description": "Install method label.",
      +              "type": "string"
      +            },
      +            "payload": {
      +              "description": "Install command or configuration.",
      +              "type": "string"
      +            },
      +            "transport": {
      +              "description": "Local stdio or hosted HTTP transport.",
      +              "enum": [
      +                "stdio",
      +                "http"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "client",
      +            "transport",
      +            "label",
      +            "payload"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "kind": {
      +        "const": "tool",
      +        "description": "Resolved as a tool entry.",
      +        "type": "string"
      +      },
      +      "name": {
      +        "description": "Canonical resolved tool name.",
      +        "type": "string"
      +      },
      +      "npm": {
      +        "description": "Owning server npm package for local installation.",
      +        "type": "string"
      +      },
      +      "requiredEnvVars": {
      +        "description": "Environment variable names required for local installation.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "server": {
      +        "description": "Server package name that owns this tool.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "kind",
      +      "name",
      +      "description",
      +      "server",
      +      "npm",
      +      "github",
      +      "auth",
      +      "installSnippets"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "description": "A resolved server entry — metadata, optional hosted endpoint, and per-client install snippets.",
      +    "properties": {
      +      "auth": {
      +        "description": "Auth requirement for the hosted deployment (currently always \"none\").",
      +        "type": "string"
      +      },
      +      "description": {
      +        "description": "Brief description of what the server does.",
      +        "type": "string"
      +      },
      +      "displayName": {
      +        "description": "Human-readable server label.",
      +        "type": "string"
      +      },
      +      "endpoint": {
      +        "description": "Streamable HTTP endpoint for the hosted deployment. Absent for local-only (stdio) servers.",
      +        "type": "string"
      +      },
      +      "github": {
      +        "description": "GitHub repository URL.",
      +        "type": "string"
      +      },
      +      "installNotice": {
      +        "description": "Actionable guidance when the requested client has no compatible installation snippet.",
      +        "type": "string"
      +      },
      +      "installSnippets": {
      +        "description": "Install instructions: local (stdio) snippets for every server, plus remote (HTTP) snippets when an endpoint exists. Filtered to one client when input.client is set.",
      +        "items": {
      +          "additionalProperties": false,
      +          "description": "A single install instruction entry.",
      +          "properties": {
      +            "client": {
      +              "description": "MCP client this snippet targets.",
      +              "enum": [
      +                "claude-code",
      +                "cline",
      +                "codex",
      +                "cursor",
      +                "curl",
      +                "gemini",
      +                "streamable-http"
      +              ],
      +              "type": "string"
      +            },
      +            "label": {
      +              "description": "Human-readable install method label.",
      +              "type": "string"
      +            },
      +            "payload": {
      +              "description": "Install payload (JSON fragment or CLI command).",
      +              "type": "string"
      +            },
      +            "transport": {
      +              "description": "Transport this snippet installs — stdio (local) or http (remote).",
      +              "enum": [
      +                "stdio",
      +                "http"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "client",
      +            "transport",
      +            "label",
      +            "payload"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "kind": {
      +        "const": "server",
      +        "description": "Resolved as a server entry.",
      +        "type": "string"
      +      },
      +      "name": {
      +        "description": "Canonical resolved server name.",
      +        "type": "string"
      +      },
      +      "npm": {
      +        "description": "npm package name (e.g. \"@cyanheads/arxiv-mcp-server\"). Drives the local stdio snippets.",
      +        "type": "string"
      +      },
      +      "requiredEnvVars": {
      +        "description": "Env var names the local (stdio) install requires (e.g. [\"MAILCHIMP_API_KEY\"]). Absent when none.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "toolCount": {
      +        "description": "Number of tools exposed by this server.",
      +        "type": "number"
      +      },
      +      "tools": {
      +        "description": "Every tool this server exposes, each with its name and a brief description — one describe call reveals the full surface without a second lookup.",
      +        "items": {
      +          "additionalProperties": false,
      +          "description": "A single tool exposed by this server.",
      +          "properties": {
      +            "description": {
      +              "description": "Brief description of what the tool does.",
      +              "type": "string"
      +            },
      +            "name": {
      +              "description": "Tool name (snake_case, e.g. \"earthquake_search\").",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "name",
      +            "description"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "version": {
      +        "description": "Published version captured at fleet-generation time.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "kind",
      +      "name",
      +      "displayName",
      +      "description",
      +      "version",
      +      "npm",
      +      "github",
      +      "auth",
      +      "toolCount",
      +      "tools",
      +      "installSnippets"
      +    ],
      +    "type": "object"
      +  }
      +]
  4. Changed2 schema fields changed
    • changedInput schema / properties / name / description
      Previous value: -"Tool name (snake_case, e.g. \"earthquake_search\") or server name (kebab-case, e.g. \"earthquake-mcp-server\"). 1-64 characters. Use cyanheads_search_catalog to discover valid names."New value: +"Tool name (snake_case, e.g. \"earthquake_search\") or server name (kebab-case, e.g. \"earthquake-mcp-server\"). 1-64 characters. Exact names win; unique case-insensitive names resolve to canonical names. Use cyanheads_search_catalog to discover valid names."
    • changedOutput schema / properties / result / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "description": "A resolved tool entry — its description and the server that owns it.",
      -    "properties": {
      -      "description": {
      -        "description": "Brief description of what the tool does.",
      -        "type": "string"
      -      },
      -      "kind": {
      -        "const": "tool",
      -        "description": "Resolved as a tool entry.",
      -        "type": "string"
      -      },
      -      "name": {
      -        "description": "Resolved name (as looked up).",
      -        "type": "string"
      -      },
      -      "server": {
      -        "description": "Server package name that owns this tool.",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "kind",
      -      "name",
      -      "description",
      -      "server"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "description": "A resolved server entry — metadata, optional hosted endpoint, and per-client install snippets.",
      -    "properties": {
      -      "auth": {
      -        "description": "Auth requirement for the hosted deployment (currently always \"none\").",
      -        "type": "string"
      -      },
      -      "description": {
      -        "description": "Brief description of what the server does.",
      -        "type": "string"
      -      },
      -      "displayName": {
      -        "description": "Human-readable server label.",
      -        "type": "string"
      -      },
      -      "endpoint": {
      -        "description": "Streamable HTTP endpoint for the hosted deployment. Absent for local-only (stdio) servers.",
      -        "type": "string"
      -      },
      -      "github": {
      -        "description": "GitHub repository URL.",
      -        "type": "string"
      -      },
      -      "installSnippets": {
      -        "description": "Install instructions: local (stdio) snippets for every server, plus remote (HTTP) snippets when an endpoint exists. Filtered to one client when input.client is set.",
      -        "items": {
      -          "additionalProperties": false,
      -          "description": "A single install instruction entry.",
      -          "properties": {
      -            "client": {
      -              "description": "MCP client this snippet targets.",
      -              "enum": [
      -                "claude-code",
      -                "codex",
      -                "cursor",
      -                "curl",
      -                "gemini",
      -                "streamable-http"
      -              ],
      -              "type": "string"
      -            },
      -            "label": {
      -              "description": "Human-readable install method label.",
      -              "type": "string"
      -            },
      -            "payload": {
      -              "description": "Install payload (JSON fragment or CLI command).",
      -              "type": "string"
      -            },
      -            "transport": {
      -              "description": "Transport this snippet installs — stdio (local) or http (remote).",
      -              "enum": [
      -                "stdio",
      -                "http"
      -              ],
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "client",
      -            "transport",
      -            "label",
      -            "payload"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "kind": {
      -        "const": "server",
      -        "description": "Resolved as a server entry.",
      -        "type": "string"
      -      },
      -      "name": {
      -        "description": "Resolved name (as looked up).",
      -        "type": "string"
      -      },
      -      "npm": {
      -        "description": "npm package name (e.g. \"@cyanheads/arxiv-mcp-server\"). Drives the local stdio snippets.",
      -        "type": "string"
      -      },
      -      "requiredEnvVars": {
      -        "description": "Env var names the local (stdio) install requires (e.g. [\"MAILCHIMP_API_KEY\"]). Absent when none.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "toolCount": {
      -        "description": "Number of tools exposed by this server.",
      -        "type": "number"
      -      },
      -      "tools": {
      -        "description": "Every tool this server exposes, each with its name and a brief description — one describe call reveals the full surface without a second lookup.",
      -        "items": {
      -          "additionalProperties": false,
      -          "description": "A single tool exposed by this server.",
      -          "properties": {
      -            "description": {
      -              "description": "Brief description of what the tool does.",
      -              "type": "string"
      -            },
      -            "name": {
      -              "description": "Tool name (snake_case, e.g. \"earthquake_search\").",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "name",
      -            "description"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "version": {
      -        "description": "Published version captured at fleet-generation time.",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "kind",
      -      "name",
      -      "displayName",
      -      "description",
      -      "version",
      -      "npm",
      -      "github",
      -      "auth",
      -      "toolCount",
      -      "tools",
      -      "installSnippets"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "description": "A resolved tool entry — its description and the server that owns it.",
      +    "properties": {
      +      "auth": {
      +        "description": "Owning server hosted authentication requirement.",
      +        "type": "string"
      +      },
      +      "description": {
      +        "description": "Brief description of what the tool does.",
      +        "type": "string"
      +      },
      +      "endpoint": {
      +        "description": "Owning server hosted HTTP endpoint, when available.",
      +        "type": "string"
      +      },
      +      "github": {
      +        "description": "Owning server GitHub repository URL.",
      +        "type": "string"
      +      },
      +      "installNotice": {
      +        "description": "Actionable guidance when the requested client has no compatible installation snippet.",
      +        "type": "string"
      +      },
      +      "installSnippets": {
      +        "description": "Owning server install snippets, filtered by client when supplied.",
      +        "items": {
      +          "additionalProperties": false,
      +          "description": "An installation snippet for the owning server.",
      +          "properties": {
      +            "client": {
      +              "description": "Target MCP client.",
      +              "enum": [
      +                "claude-code",
      +                "codex",
      +                "cursor",
      +                "curl",
      +                "gemini",
      +                "streamable-http"
      +              ],
      +              "type": "string"
      +            },
      +            "label": {
      +              "description": "Install method label.",
      +              "type": "string"
      +            },
      +            "payload": {
      +              "description": "Install command or configuration.",
      +              "type": "string"
      +            },
      +            "transport": {
      +              "description": "Local stdio or hosted HTTP transport.",
      +              "enum": [
      +                "stdio",
      +                "http"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "client",
      +            "transport",
      +            "label",
      +            "payload"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "kind": {
      +        "const": "tool",
      +        "description": "Resolved as a tool entry.",
      +        "type": "string"
      +      },
      +      "name": {
      +        "description": "Canonical resolved tool name.",
      +        "type": "string"
      +      },
      +      "npm": {
      +        "description": "Owning server npm package for local installation.",
      +        "type": "string"
      +      },
      +      "requiredEnvVars": {
      +        "description": "Environment variable names required for local installation.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "server": {
      +        "description": "Server package name that owns this tool.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "kind",
      +      "name",
      +      "description",
      +      "server",
      +      "npm",
      +      "github",
      +      "auth",
      +      "installSnippets"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "description": "A resolved server entry — metadata, optional hosted endpoint, and per-client install snippets.",
      +    "properties": {
      +      "auth": {
      +        "description": "Auth requirement for the hosted deployment (currently always \"none\").",
      +        "type": "string"
      +      },
      +      "description": {
      +        "description": "Brief description of what the server does.",
      +        "type": "string"
      +      },
      +      "displayName": {
      +        "description": "Human-readable server label.",
      +        "type": "string"
      +      },
      +      "endpoint": {
      +        "description": "Streamable HTTP endpoint for the hosted deployment. Absent for local-only (stdio) servers.",
      +        "type": "string"
      +      },
      +      "github": {
      +        "description": "GitHub repository URL.",
      +        "type": "string"
      +      },
      +      "installNotice": {
      +        "description": "Actionable guidance when the requested client has no compatible installation snippet.",
      +        "type": "string"
      +      },
      +      "installSnippets": {
      +        "description": "Install instructions: local (stdio) snippets for every server, plus remote (HTTP) snippets when an endpoint exists. Filtered to one client when input.client is set.",
      +        "items": {
      +          "additionalProperties": false,
      +          "description": "A single install instruction entry.",
      +          "properties": {
      +            "client": {
      +              "description": "MCP client this snippet targets.",
      +              "enum": [
      +                "claude-code",
      +                "codex",
      +                "cursor",
      +                "curl",
      +                "gemini",
      +                "streamable-http"
      +              ],
      +              "type": "string"
      +            },
      +            "label": {
      +              "description": "Human-readable install method label.",
      +              "type": "string"
      +            },
      +            "payload": {
      +              "description": "Install payload (JSON fragment or CLI command).",
      +              "type": "string"
      +            },
      +            "transport": {
      +              "description": "Transport this snippet installs — stdio (local) or http (remote).",
      +              "enum": [
      +                "stdio",
      +                "http"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "client",
      +            "transport",
      +            "label",
      +            "payload"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "kind": {
      +        "const": "server",
      +        "description": "Resolved as a server entry.",
      +        "type": "string"
      +      },
      +      "name": {
      +        "description": "Canonical resolved server name.",
      +        "type": "string"
      +      },
      +      "npm": {
      +        "description": "npm package name (e.g. \"@cyanheads/arxiv-mcp-server\"). Drives the local stdio snippets.",
      +        "type": "string"
      +      },
      +      "requiredEnvVars": {
      +        "description": "Env var names the local (stdio) install requires (e.g. [\"MAILCHIMP_API_KEY\"]). Absent when none.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "toolCount": {
      +        "description": "Number of tools exposed by this server.",
      +        "type": "number"
      +      },
      +      "tools": {
      +        "description": "Every tool this server exposes, each with its name and a brief description — one describe call reveals the full surface without a second lookup.",
      +        "items": {
      +          "additionalProperties": false,
      +          "description": "A single tool exposed by this server.",
      +          "properties": {
      +            "description": {
      +              "description": "Brief description of what the tool does.",
      +              "type": "string"
      +            },
      +            "name": {
      +              "description": "Tool name (snake_case, e.g. \"earthquake_search\").",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "name",
      +            "description"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "version": {
      +        "description": "Published version captured at fleet-generation time.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "kind",
      +      "name",
      +      "displayName",
      +      "description",
      +      "version",
      +      "npm",
      +      "github",
      +      "auth",
      +      "toolCount",
      +      "tools",
      +      "installSnippets"
      +    ],
      +    "type": "object"
      +  }
      +]
  5. Changed6 schema fields changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • addedInput schema / additionalProperties
      Added value: +false
    • changedOutput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • addedOutput schema / anyOf
      Added value: +[
      +  {
      +    "not": {
      +      "required": [
      +        "error"
      +      ]
      +    },
      +    "required": [
      +      "result"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "error"
      +    ]
      +  }
      +]
    • addedOutput schema / properties / error
      Added value: +{
      +  "additionalProperties": {},
      +  "description": "Present when the call failed. Absent on success.",
      +  "properties": {
      +    "code": {
      +      "description": "JSON-RPC error code for this failure.",
      +      "maximum": 9007199254740991,
      +      "minimum": -9007199254740991,
      +      "type": "integer"
      +    },
      +    "data": {
      +      "additionalProperties": {},
      +      "properties": {
      +        "reason": {
      +          "description": "Machine-readable failure mode. Declared by this tool: `not_found`: No tool or server with the given name exists in the catalog. `ambiguous_kind`: Name matches both a tool and a server (collision in catalog). `catalog_empty`: Catalog has not finished loading. Other values are possible when a failure originates below the handler.",
      +          "examples": [
      +            "not_found",
      +            "ambiguous_kind",
      +            "catalog_empty"
      +          ],
      +          "type": "string"
      +        },
      +        "recovery": {
      +          "additionalProperties": {},
      +          "description": "Actionable next step for the caller.",
      +          "properties": {
      +            "hint": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "hint"
      +          ],
      +          "type": "object"
      +        },
      +        "retryable": {
      +          "description": "Whether retrying may succeed.",
      +          "type": "boolean"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "message": {
      +      "description": "Human-readable description of what went wrong.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "code",
      +    "message"
      +  ],
      +  "type": "object"
      +}
    • removedOutput schema / required
      Removed value: -[
      -  "result"
      -]
  6. Added

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safe-read profile is covered. The description adds real context beyond that: what is returned per kind, and that remote HTTP snippets appear only when a hosted endpoint exists. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action, then two scoped clauses for tool vs either-kind output. Dense but every clause carries information; the em-dash clause is slightly long but not padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema, full param descriptions, and read-only annotations, the description only needs to frame scope and it does: both entity kinds, local vs remote snippets, all-client vs single-client. An agent can call it correctly without further context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the enum values, auto-detection rules, and ambiguity resolution are already documented. The description restates the client default ('every supported client, or one client via the client parameter') but adds no semantics the schema lacks. Baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Return the description and install snippets for a named tool or server') and splits behavior by entity kind (tool vs server). It never names the sibling search_catalog, so the boundary between lookup and discovery is left implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: describing an entry after you know its name. It does not say 'use cyanheads_search_catalog first to find the name' in the description (that guidance lives only in the schema), and it states no exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.