Toolcard

Cited checks for one MCP tool or a tools list, plus a called-or-ignored tally.

Should I use this

Quality & Safety

A
Description quality
95%
Schema completeness
80%
Naming quality
90%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~571Tokens (tool definitions)
~902 BTypical response size
Minimal attention impact (0.45% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "toolcard": {
      "url": "https://agentghostedme.com/mcp"
    }
  }
}

Remote endpoints

https://agentghostedme.com/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢check_tool(name, description, inputSchema)

Check one MCP tool name, description, and input schema against Toolcard cited rules. Returns findings. A finding with an answer page includes resource, a toolcard://answers URI to pass to resources/read. Does not store the tool.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Tool name, for example manage_user"
    },
    "description": {
      "type": "string",
      "description": "Description shown to the model"
    },
    "inputSchema": {
      "type": "object",
      "description": "JSON Schema object for the tool arguments"
    }
  },
  "required": [
    "name"
  ]
}
🟢check_server(tools, result)

Check every tool in a tools/list result or a server card. Returns per-tool findings plus duplicate-name, overlapping-descriptions, and too-many-tools. Those three omit resource. Does not store the tools.

Input Schema

{
  "type": "object",
  "properties": {
    "tools": {
      "type": "array",
      "description": "Tools from a tools/list result or a server card. Each item has name, description, and inputSchema.",
      "items": {
        "type": "object"
      }
    },
    "result": {
      "type": "object",
      "description": "JSON-RPC tools/list result. Used only when tools is omitted. The array is result.tools."
    }
  }
}
⚪report_outcome(name, result, description, client, report_id)

Record whether an agent called or ignored a tool. Stores the name, a SHA-256 of the description, and the result. Does not store the raw description.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Tool name that was offered to the agent"
    },
    "result": {
      "type": "string",
      "enum": [
        "called",
        "ignored"
      ],
      "description": "Whether an agent called the tool"
    },
    "description": {
      "type": "string",
      "description": "Hashed with SHA-256 and not stored"
    },
    "client": {
      "type": "string",
      "description": "Optional short label such as cursor. No account ids."
    },
    "report_id": {
      "type": "string",
      "description": "Optional idempotency key, 8 to 80 letters, digits, underscore or hyphen"
    }
  },
  "required": [
    "name",
    "result"
  ]
}
🟢outcome_summary

Return the anonymous tally of called versus ignored reports on this server. Not a representative sample.

Input Schema

{
  "type": "object",
  "properties": {}
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools