Sitelet https://github.com/hostinger/api-mcp-server/issues/67
Skip to content

A public record of api-mcp-server's tool definitions over time #67

Open

Description

@GautamTalksDev

Hi,

I've been building a public log of MCP tool definitions, because clients ask a user to approve a server once and then never re-check. If a description changes in a later release, nothing tells that user.

Here's the page for api-mcp-server: https://mcp-pin.gautamkhosla.com/servers/c4fae9e413747b6a.html

Yours is the largest surface I've fingerprinted so far: 372 tools and just over 101,000 characters of description. horizons_createWebsiteV1 alone is 1,767 characters. That's a lot of model-facing instruction, and across 193 tags I'd guess a fair amount of it has moved.

That's the case this is built for. A user approved these tools at some version, and their client has not looked since. The log now has a fingerprint per tool, so any future change shows up as a dated diff rather than being invisible.

If it's useful to your team, there's a badge:

mcp-pin

No ask beyond that. If you'd rather not be crawled, say so and it stops, no explanation needed: https://mcp-pin.gautamkhosla.com/about.html

And if this is useless to you, telling me why would be the most helpful reply I could get.

Gautam

Activity

  1. GautamTalksDev commented on Sep 3, 2026

    @GautamTalksDev
    Author

    Follow-up: here's a 35-second walkthrough of what this looks like when it fires, including a real change it caught on day one.

    https://youtu.be/uDFFiV10hLo

  2. GautamTalksDev commented on Sep 3, 2026

    @GautamTalksDev
    Author

    The log caught your release. Between 2 Sep 19:12 and 3 Sep 07:06 UTC, three tools were added (reach_createADraftCampaignV1, reach_createAnEmailTemplateV1, reach_listEmailTemplatesV1) and agency-hosting_createANewWebsiteV1 changed with a byte-identical description and a different fingerprint, so its schema moved while the text didn't.

    Full diff: https://mcp-pin.gautamkhosla.com/servers/c4fae9e413747b6a.html

  3. GautamTalksDev commented on Sep 3, 2026

    @GautamTalksDev
    Author

    Related to the diff above: there's now a GitHub Action that catches this in the PR that makes it, rather than after the fact. Add uses: GautamTalksDev/mcp-pin@v1 to a workflow with command: node and args: dist/index.js. Setup is in the README.

    The baseline is a file in your repo and it doesn't contact anything. Schema changes that leave the description untouched get flagged first.

  4. Paraphern commented on Oct 12, 2026

    @Paraphern

    We keep a similar record — pin tool contracts and skill files, diff on every release — and your point about the description surface (372 tools, 101k chars) is well taken. One finding from our log that your fingerprint format doesn't capture: Hostinger also delivers agent-skill instructions as MCP resources, not tools.

    Between 2.4.0 and 2.11.0, six SKILL.md files appeared silently through the resources channel:

    • audit-hosting/SKILL.md
    • connect-domain/SKILL.md
    • deploy-to-hosting/SKILL.md
    • maintain-wordpress/SKILL.md
    • migrate-to-hosting/SKILL.md
    • troubleshoot-website/SKILL.md

    These are model-facing instructions delivered alongside the 372 tools you fingerprinted, but through a different channel (resources/list, not tools/list). A user who approved the 2.4.0 surface now receives new instruction content with no approval step — the tools are unchanged, the descriptions are unchanged, but the agent is being served new instructions it was never consented to.

    We verified this across three versions: 2.4.0 had 6 resources (all hostinger-headless), 2.11.0 had 12 (+ the six above), and 2.13.0 (current latest) has the same 12 with tool contracts clean. The six skill files persist through the latest release.

    This is the sharpest version of the staleness problem this issue describes: not just definitions changing, but new instruction payloads arriving through a channel the fingerprint doesn't watch. If your format ever adds a resources section, these would be the first entries.

    Repro (resources diff between 2.4.0 and 2.11.0):

    mkdir hm && cd hm && npm init -y
    # mcp.json: {"mcpServers":{"hostinger":{"command":"node","args":["node_modules/hostinger-api-mcp/src/servers/all.js"],"env":{"HOSTINGER_API_KEY":"x"}}}}
    npm i hostinger-api-mcp@2.4.0
    npx rugsnare@1.3.0 scan --config mcp.json --timeout 45000
    npm i hostinger-api-mcp@2.11.0
    npx rugsnare@1.3.0 diff --config mcp.json --timeout 45000
    #   tools: clean, resources: 6 -> 12 (six new SKILL.md)

    Happy to compare pin formats if useful — we ship a PIN-SPEC that covers both channels.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions