mcp-registry/io.github.dleibner/mcp-surface-lint · v0.4.0
Also listed as mcp-registry/io.github.dleibner/mcplint
As of 2026-10-18 11:10 UTC, the Dleibner Surface Lint MCP server is up with a Glimind reliability score of 96/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks.
Statically audits MCP tool surfaces for token cost, schema quality, and design issues.
Claude Code
claude mcp add --transport http dleibner-surface-lint-mcp-server https://mcplint-web.vercel.app/api/mcp
Claude Desktop · Windsurf · Cline (mcpServers JSON)
{
"mcpServers": {
"dleibner-surface-lint-mcp-server": {
"type": "http",
"url": "https://mcplint-web.vercel.app/api/mcp"
}
}
}
Third-party server, listed as discovered. Review its source before installing.
1 tool(s) have parameters with no type (no type/enum/anyOf/$ref).
Give every parameter a "type" (or "enum"/"anyOf"). Untyped parameters make models guess — strings for numbers, objects for arrays. How to fix →
Handshake + tools/list takes ~1,646 ms.
Serve tools/list from memory, keep the process warm, and host close to your users. Every new agent session pays this before its first call.
In the last 30 days: 0 tool(s) removed and 1 schema change(s).
Add new tools or optional parameters instead of renaming or removing; deprecate first (say so in the description) and remove later. Agents cache tool contracts. How to fix →
Paste-ready definitions with the problems above fixed. Changes marked verify need a human look. All of them as JSON: /v1/readiness/mcp-registry%2Fio.github.dleibner%2Fmcp-surface-lint/fixes
{
"name": "check_mcp_server",
"description": "Statically audit an MCP tool surface from a public HTTPS URL or tools/list snapshot. Returns deterministic scores and findings without invoking any target tool or making LLM calls. When the user asks to check another installed MCP server, read that server's complete tool definitions from client context and pass them as snapshot (MCP `name` or Cursor-style `tool` both work; do not use file paths or $ref). If those definitions are unavailable, ask the user for its public endpoint or tools/list JSO",
"inputSchema": {
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Public HTTPS Streamable HTTP MCP endpoint to inspect."
},
"headers": {
"type": "object",
"description": "Optional HTTP headers sent only while reading the remote tools/list response.",
"additionalProperties": {
"type": "string"
}
},
"snapshot": {
"description": "A tools/list JSON response, MCP Surface Lint snapshot, or client tool dump containing a tools array. Each tool needs `name`, or the Cursor-style `tool` alias. Forward another installed server's complete tool definitions here — do not invent schemas.",
"type": "string"
}
},
"additionalProperties": false
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
},
"title": "Check MCP server"
}Get an email or webhook when this server's readiness drops by 10+ points, tool-poisoning text appears, or a tool breaks:
curl -X POST https://glimind.com/v1/subscriptions -H 'content-type: application/json' -d '{"tools":["mcp-registry/io.github.dleibner/mcp-surface-lint"],"email":"[email protected]"}'Agents: watch_tool({"toolId": "mcp-registry/io.github.dleibner/mcp-surface-lint"}) over MCP.
check_mcp_server ~340 tokensStatic checks of the advertised tools/list (schema, descriptions, annotations, tool-poisoning patterns, names, size) plus observed protocol, uptime, latency and contract changes. Read-only: no tool is ever called. Weights: schema 15, docs 20, safety 15, efficiency 15, compatibility 15, protocol 5, reliability 10, stability 5. Token counts are estimates (~3.6 characters per token).
Operator? Fix these, then re-check live. Embed the readiness badge:
[](https://glimind.com/server/mcp-registry%2Fio.github.dleibner%2Fmcp-surface-lint?ref=badge)
<a href="https://glimind.com/server/mcp-registry%2Fio.github.dleibner%2Fmcp-surface-lint?ref=badge"><img src="https://glimind.com/v1/readiness/badge/mcp-registry%2Fio.github.dleibner%2Fmcp-surface-lint.svg" alt="MCP agent-readiness"></a>
.. image:: https://glimind.com/v1/readiness/badge/mcp-registry%2Fio.github.dleibner%2Fmcp-surface-lint.svg :target: https://glimind.com/server/mcp-registry%2Fio.github.dleibner%2Fmcp-surface-lint?ref=badge :alt: MCP agent-readiness
Glimind records every version of this server's tool definitions in a signed, append-only transparency log. Current manifest sha256:3c12b1a61d4f25d0…, first seen 2026-10-17, included at leaf 6741 of 21,600. Version history · verify what your client received.
Compare: most reliable devops servers
Glimind tells agents whether a server is up right now and how to call it, then fails over to a live alternative when it isn't.
Claude Code
claude mcp add --transport http glimind https://glimind.com/mcp
Claude Desktop · Windsurf · Cline (mcpServers JSON)
{
"mcpServers": {
"glimind": {
"type": "http",
"url": "https://glimind.com/mcp"
}
}
}
As of 2026-10-18 11:10 UTC, the Dleibner Surface Lint MCP server is up with a Glimind reliability score of 96/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks.
Dleibner Surface Lint MCP server advertises 1 tool, including check_mcp_server.
Point your MCP client at this streamable-http endpoint: https://mcplint-web.vercel.app/api/mcp
Glimind scanned all 1 tool definitions for tool-poisoning patterns — hidden or invisible characters, instructions that override the model, concealment from the user, requests to read credential or MCP config files, conversation exfiltration and cross-tool shadowing — and found none. This checks what the server tells the model, not what its code does; review the source before granting access to sensitive data.
Status page: 90-day uptime, every outage and how long it lasted.
Claim this listing to get the Verified operator marker, a remediation checklist and owner analytics, or embed the live badge from any of the tool pages above. Maintainers: alerts, deploy attestation and monthly reports.
Status is an automated estimate from Glimind's liveness checks (handshake and tool listing only; no tool is ever called) and may lag or differ from your network. Glimind is not affiliated with this server or its operator. Operator? Request a correction or opt out at https://glimind.com/opt-out.