Skip to main content
Glama

ToolFit + MCPCheck

Server Details

Audit, pin and diff agent tool lists; preflight and watch remote MCP servers. Free tier; x402.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

Score is being calculated.

Available Tools

6 tools
audit_toolsAudit a tool list (ToolFit)A
Read-onlyIdempotent
Inspect

Check the tool definitions an agent loads, before they cost tokens or fail: estimated tokens per tool, schema errors per provider (OpenAI, Anthropic, Gemini, Bedrock, MCP; add openai_strict for strict mode) with JSON paths and fixed definitions, tool pairs models will confuse with fix hints, basic poisoning patterns, a grade and a pin (set_id) for diff_tools. Pass "tools" (array in any common format) or "url" (public remote MCP server; tools are listed, never called). level "lite" returns the summary only. Free: 20 calls/day per IP (shared with diff_tools), then $0.003 lite / $0.01 full via x402 or credits.

NameRequiredDescriptionDefault
urlNoPublic remote MCP server URL (Streamable HTTP, https), e.g. https://api.youraitools.co/mcp/hub. ToolFit only lists its tools.
levelNolite = summary only; full (default) = every issue, fixed definitions, pair hints
toolsNoTool definitions: MCP tools/list entries, OpenAI {type:"function",function:{...}}, Anthropic {name,description,input_schema}, Gemini functionDeclarations or Bedrock toolSpec. Max 500.
providersNoProviders to check (default openai, anthropic, gemini, bedrock, mcp; add openai_strict for Structured Outputs strict mode). GET: comma list.

TDQS

A4/5.0
Behavior4/5

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

Annotations already mark it read-only, idempotent, and open-world; the description adds genuinely new behavior: remote MCP servers are only listed, never called, the 500-tool cap, the 20 calls/day free limit shared with diff_tools, and pricing after that. It stops short of describing error behavior or partial-failure handling.

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

Conciseness3/5

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

All the content is relevant and the purpose is front-loaded, but it is delivered as one sprawling 100+ word sentence with stacked clauses and a pricing tail, which makes it harder to scan than a short bulleted structure would be.

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 no output schema, the description still enumerates what comes back (token counts, schema errors with JSON paths and fixed definitions, pair hints, grade, set_id), so an agent knows what to expect. A note on partial failures or when no issues are found would complete it.

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 coverage is 100%, so the schema already documents all four parameters, their enums, and accepted formats. The description only adds marginal meaning, such as reminding that openai_strict is for strict mode and that lite yields summary only, both of which are effectively restated in the schema.

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

Purpose5/5

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

States a concrete verb and resource: audit a list of tool definitions, returning token estimates, per-provider schema errors, confusion pairs, poisoning signals, a grade, and a set_id. It names the sibling it feeds (diff_tools) and is clearly distinguishable from check_mcp_server and the watch_* tools.

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

Usage Guidelines4/5

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

Explains the trigger clearly ('before they cost tokens or fail') and gives the two mutually exclusive input paths (tools array vs. url). It explains lite vs. full and that set_id feeds diff_tools, but never states when NOT to use it or how it differs from check_mcp_server.

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

check_mcp_serverPreflight a remote MCP server (MCPCheck)A
Read-onlyIdempotent
Inspect

Does this remote MCP server work, and is it worth connecting or paying for? Sends initialize and tools/list only (never calls a tool) and reports reachability, protocol version, sign-in method (OAuth protected-resource metadata), x402 payment terms if it asks for payment, latency, tool count and token cost, provider compatibility, poisoning patterns in tools and server instructions, issues and a grade A-F, plus a pin for later diffs. https public hosts only. Free: 10 checks/day per IP, then $0.005 via x402 or credits.

NameRequiredDescriptionDefault
urlYesPublic remote MCP server URL (Streamable HTTP, https), e.g. https://api.youraitools.co/mcp/hub. ToolFit only lists its tools.

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readOnlyHint/idempotentHint/openWorldHint, yet the description still adds real substance: it discloses the exact probe depth (initialize + tools/list, no tool invocation), outbound network behavior, and the cost model (free 10 checks/day per IP, then $0.005 via x402 or credits). The https-only restriction and the emitted report contents are behavior an agent cannot infer from the 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 decisive question, then the method, then constraints and pricing — a sensible order. It is dense and slightly list-like in the middle ('reachability, protocol version, sign-in method, x402 payment terms...'), but each clause carries information an agent would otherwise have to discover by calling the tool.

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

Completeness5/5

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

There is no output schema, so the description must describe the return payload, and it does: reachability, protocol version, auth method, payment terms, latency, tool count, token cost, compatibility, poisoning findings, grade A-F, and a reusable pin. Combined with the rate-limit and host constraints, an agent has everything needed to decide to call it and interpret the result.

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?

Only one parameter and schema description coverage is 100%, with the schema itself explaining Streamable HTTP, https, and giving an example URL. The description echoes the https public-host constraint but adds no format, encoding, or validation detail beyond the schema. Baseline 3 is appropriate when the schema carries the parameter burden.

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

Purpose5/5

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

Opens with a specific decision question ('Does this remote MCP server work, and is it worth connecting or paying for?') and immediately names the concrete method: sends initialize and tools/list. The scope (reachability, protocol version, auth, payment terms, latency, tool count, poisoning, grade, pin) is specific enough to distinguish it from audit_tools, diff_tools and watch_mcp_server without opening any schema.

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

Usage Guidelines4/5

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

The lead question establishes the use case (pre-connect / pre-purchase evaluation) and 'sends initialize and tools/list only (never calls a tool)' sets a clear boundary on what the check does. It also states the eligibility constraint (https public hosts only). It never explicitly names when to reach for watch_mcp_server or diff_tools instead, so the sibling routing is implied rather than stated.

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

diff_toolsDiff a tool list against a pin (ToolFit)A
Read-onlyIdempotent
Inspect

What changed in a tool list since you approved it? Compares "tools" or "url" now with "pin" (set_id from audit_tools/diff_tools) or "baseline" (earlier definitions). Each change is labeled breaking (removed tool or param, new required param, type or enum removal), suspicious (new text with injection patterns or hidden characters), review (description, title, annotation or new tool) or additive; descriptions come with before/after text and a word diff. Returns a new pin. Free: 20 calls/day per IP (shared with audit_tools), then $0.002 via x402 or credits.

NameRequiredDescriptionDefault
pinNoA pin (set_id "ts_..." from an earlier ToolFit call) to compare against.
urlNoPublic remote MCP server URL (Streamable HTTP, https), e.g. https://api.youraitools.co/mcp/hub. ToolFit only lists its tools.
toolsNoTool definitions: MCP tools/list entries, OpenAI {type:"function",function:{...}}, Anthropic {name,description,input_schema}, Gemini functionDeclarations or Bedrock toolSpec. Max 500.
baselineNoInstead of pin: the earlier tool definitions themselves.

TDQS

A4.5/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing the classification taxonomy (breaking / suspicious / review / additive), the detection heuristics (injection patterns, hidden characters, enum removal), that descriptions include before/after text and a word diff, and that it issues a new pin. It also discloses cost and rate limits (20 calls/day per IP, shared with audit_tools, then $0.002 via x402 or credits) — exactly the operational context annotations cannot carry.

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 motivating question, then inputs, then output semantics, then pricing — a sensible order with little waste. The change-label enumeration and pricing sentence are dense and slightly run-on, but every clause conveys actionable information.

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 no output schema, the description carries the return-value burden and does so adequately: per-change labels, before/after descriptions, word diffs, and a new pin. What's missing is the concrete response shape (field names, how the new pin id is surfaced), which an agent needs to chain the next call.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3; the description earns above that by clarifying the mutual exclusivity the schema does not encode — pin is a set_id from an earlier ToolFit call, baseline is the earlier definitions used "instead of pin". The tools format list and url scope are largely restated from the schema.

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

Purpose5/5

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

Opens with a specific verb+resource framing ("What changed in a tool list since you approved it?") and states it compares a current tool list against a pin or baseline. This is clearly distinct from audit_tools (which produces the pin) and check_mcp_server, so an agent can route correctly without opening the schema.

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

Usage Guidelines4/5

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

Gives the operative context — use it after approval, when you need to know what changed — and specifies the input combinations ("tools" or "url" vs "pin" or "baseline"). It does not explicitly say when to prefer audit_tools or check_mcp_server instead, so it stops short of full alternative routing.

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

watch_cancelCancel a ToolFit watchA
DestructiveIdempotent
Inspect

Free: cancel a watch (no further checks or webhooks; not refunded). Needs watch_id and the secret returned when it was created.

NameRequiredDescriptionDefault
secretYesThe whsec_... secret returned once when the watch was created
watch_idYeswatch_id (w_...) returned by POST /v1/watch

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so the bar is lower, but the description still earns credit by spelling out the concrete effect (checks and webhooks stop) and the irreversibility ('not refunded'), which the annotations alone do not convey. It stops short of saying what happens on an already-cancelled watch despite the idempotent hint.

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?

Two compact sentences with the operational effect and the required inputs front-loaded; nearly every clause carries information. The opening 'Free:' label is the one piece of noise whose meaning is unclear.

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?

For a 2-parameter mutation with full schema coverage, no output schema and strong annotations, the description supplies the missing behavioral piece (checks/webhooks cease, no refund). Only the idempotent-when-already-cancelled behavior and the meaning of 'Free:' are left unexplained.

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%, with both properties documented in detail (whsec_... secret returned once, w_... watch_id from POST /v1/watch). The description only restates that these two values are required, adding no format or provenance detail beyond the schema, so the baseline of 3 applies.

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 and resource ('cancel a watch') and the immediate effect ('no further checks or webhooks'), so the agent knows exactly what operation is performed. It does not explicitly distinguish itself from siblings like watch_status or watch_mcp_server, and the leading 'Free:' token is ambiguous about what it qualifies.

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?

The consequences clause ('no further checks or webhooks; not refunded') implies this is the terminal teardown action and shouldn't be used casually, but the description never names an alternative (e.g. watch_status for inspecting, watch_mcp_server for changing) or states an explicit when-to-use condition.

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

watch_mcp_serverWatch a remote MCP server for changes (ToolFit)AInspect

Hosted watch (paid only; this MCP call validates and returns how to pay): ToolFit re-audits a public remote MCP server every 24 h ($0.25) or 6 h ($0.60) for 30 days and POSTs an HMAC-SHA256 signed JSON webhook to your https endpoint when its tools/list fingerprint or grade changes, or it goes unreachable or recovers. Pay at POST /v1/watch or /v1/watch/6h with x402 or a credits key; the response has watch_id and the signing secret (shown once).

NameRequiredDescriptionDefault
urlYesPublic remote MCP server URL (Streamable HTTP, https), e.g. https://api.youraitools.co/mcp/hub. ToolFit only lists its tools.
everyNoCheck interval: 24h (default, $0.25 per 30 days) or 6h ($0.60 per 30 days).
webhookYesYour https endpoint (public host, port 443) that receives the signed JSON change notifications. A query string is allowed.

TDQS

A3.9/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing pricing tiers, the exact webhook payload semantics (HMAC-SHA256 signed JSON on fingerprint/grade change or reachability transitions), payment methods (x402 or credits key), that the signing secret is shown once, and that this call returns payment instructions rather than creating the watch directly. This is exactly the kind of operational detail an agent needs for a paid, non-idempotent mutation.

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?

The most important fact—that this is a paid validation call that returns payment instructions—is front-loaded in the first sentence. The remaining details are dense but each earns its place; the one weakness is that the payment-flow sentence is somewhat run-on and could be split for easier parsing.

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?

For a paid tool with no output schema, the description covers cost, payment endpoints, webhook behavior, and the response contents (watch_id and signing secret). It does not fully clarify whether watch_id and the secret come from the MCP call or from the subsequent POST /v1/watch, leaving a small ambiguity about the exact end-to-end flow.

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 all three parameters are already fully documented in the schema, including defaults, enum values, and per-interval pricing. The description adds little parameter-level meaning beyond what the schema provides, so the baseline of 3 applies.

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 and resource: it re-audits a public remote MCP server on a 24h/6h schedule and sends signed webhook notifications on changes. It also clarifies that the MCP call itself only validates and returns payment instructions, which is a crucial distinction. It doesn't explicitly contrast with siblings like check_mcp_server or audit_tools, but the 'watch' framing makes the ongoing-monitoring purpose clear.

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?

The description establishes context (paid only, validates and returns how to pay, requires an https webhook) but never states when to choose this over one-off checks like check_mcp_server or audit_tools, nor does it mention watch_status/watch_cancel. Usage is implied by the monitoring scenario rather than explicitly guided.

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

watch_statusStatus of a ToolFit watchA
Read-onlyIdempotent
Inspect

Free: state (active, expired, cancelled), interval, expiry, next check, last result (pin, grade, score, tool count) and webhook delivery counters for a watch. Needs watch_id and the secret returned when it was created.

NameRequiredDescriptionDefault
secretYesThe whsec_... secret returned once when the watch was created
watch_idYeswatch_id (w_...) returned by POST /v1/watch

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered; the description adds value beyond them by disclosing that the call is free and that authentication depends on a secret issued only at creation time. It does not describe failure modes (e.g. expired secret), which keeps it short of a 5.

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?

A single dense sentence that front-loads the payoff ('Free:') and then lists returned fields, with no filler. The parenthetical field lists are compact and readable, though the long enumeration makes it slightly list-like rather than prose.

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?

There is no output schema, so enumerating the returned fields (state values, next check, last result contents, webhook counters) is exactly the compensating information an agent needs. The auth requirement is also covered; only error/expiry behavior is left implicit.

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 coverage is 100% and both parameters carry descriptions, so the schema already does the work. The sentence 'Needs watch_id and the secret returned when it was created' restates the schema's own wording rather than adding format or sourcing detail beyond it, so the baseline 3 applies.

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?

The description clearly identifies the resource (a watch) and the operation (retrieve its status), and enumerates exactly what is returned: state, interval, expiry, next check, last result and webhook counters. It does not explicitly name a sibling it differs from, but 'watch_status' plus this content is unambiguous against watch_cancel or watch_mcp_server.

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?

The leading 'Free:' signals a cost consideration (no credit charge), which is a genuine usage hint, and the description notes the credentials required to call it. However, it never states when to prefer this over watch_mcp_server or check_mcp_server, nor any when-not condition.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updates
    • First observedaudit_tools
    • First observedcheck_mcp_server
    • First observeddiff_tools
    • First observedwatch_cancel
    • First observedwatch_mcp_server
    • First observedwatch_status

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    This MCP server lets agents inspect every Model Context Protocol server on the machine, verify tools by running them in a sandbox, and check each call against a human-approved baseline so that changed or newly appeared tools are blocked before they execute. It also surfaces token cost, capability facts, and drift history for each tool entirely locally, without uploading inventory or requiring an account.
    746 PyPI
    1
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables agents to inspect and diagnose their own MCP setup by exposing read-only tools that audit configured servers, report which coding agents have configs, surface misplaced or duplicated registrations, and list curated preset packs. It also powers CLI workflows for checking handshake, tool lint, and tool-surface quality scores of any stdio server.
    15 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables agents to run server-side security audits through callable tools that sweep attack surfaces, trace source-to-sink reachability, verify live findings, and manage scope, recon, chains, manuals, intelligence, and memory from any MCP client.
    2,097 npm
    512
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    A continuous, out-of-band trust and reliability layer for the MCP ecosystem. It fingerprints MCP server tool definitions, detects and classifies drift (e.g., rug pulls) via a severity taxonomy, maintains a hash-chained evidence ledger, and gates CI with SARIF—while also acting as an MCP server itself so agents can check a server's safety before binding.
    Apache 2.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources