Independent by design · no pay-to-rank placements  · How we evaluate tools →
Anclum Submit
R

robert19001-cmyk/mcp-lint

Free linter for MCP tool schemas across eight clients, with preflight and recovery scoring

Before you install: no copy-paste command · license MIT · link reachable

First step: $ npx mcp-lint check tools.json

View on GitHub ↗Link checked 2026-11-12 · HTTP 200 · opens the vendor's own site
Install & config
Client config (built from the install command this repo gives)
{
  "mcpServers": {
    "robert19001-cmyk-mcp-lint": {
      "command": "npx",
      "args": ["mcp-lint"]
    }
  }
}

Parsed from the README we fetched on 2026-11-03; we have not executed it.

command/args come from the install command the repository states. When it is ambiguous, the project README wins.
VS Code (.vscode/mcp.json - the key is servers)
{
  "servers": {
    "robert19001-cmyk-mcp-lint": {
      "command": "npx",
      "args": ["mcp-lint"]
    }
  }
}
Same server, but VS Code keeps it under <code>servers</code>.
Claude Code (command line)
claude mcp add --transport stdio robert19001-cmyk-mcp-lint -- npx mcp-lint
Claude Code does not read a config file; add the server with this command.
Key names differ by client: Clients & CLI
Star count
1 ★ · robert19001-cmyk/mcp-lint · read from the GitHub search API · (checked 2026-11-13 20:00:50)
Source
read directly from its GitHub page · type: open-source project
Harvest history
first seen 2026-11-04 · last seen 2026-11-14 · seen 11× · listed by 1 sources
Score
score 103 · 1 ★ · 1 sources · repo
Install
npx mcp-lint
FAQ (answers come from our records)
How do I install it?
The repository provides this install command: npx mcp-lint. It comes from the repository itself; we cannot guarantee it runs as-is in your client.
Who is it for?
We filed it under these tags: 开源项目. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
repository robert19001-cmyk/mcp-lint;first catalogued 2026-11-04;last seen 2026-11-14。There is no official certification or quality rating here — we record sources and dates only.

# mcp-lint

以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →

Lint MCP server tool schemas, then check whether an agent can recover when a tool fails.
Proof page, with a live bench: mcp-lint-alpha.vercel.app
MCP servers expose tool schemas consumed by Claude, Cursor, Gemini, VS Code Copilot, Windsurf, Cline, OpenAI Agents SDK, and Continue.dev. Each client has different JSON Schema support and quirks — a schema that works in Claude may silently break in Cursor or OpenAI. mcp-lint catches these issues before your users do.
This repository is 1.0.2. npm latest is 1.0.2. Design notes: PRODUCT.md, ROADMAP.md, ARCHITECTURE.md, SECURITY.md, RELEASE.md. Those files describe the current code. They are not extra commands.
$ npx mcp-lint check tools.json
search-tool
✖ Schema node at "inputSchema.properties.query" has required: false which is not valid JSON Schema.
inputSchema.properties.query [no-required-false]
⚠ Parameter "limit" in tool "search-tool" is missing a description.
inputSchema.properties.limit [description-exists]
1 error, 1 warning
## Installation
bash
# In a repo that already has tools.json
npx mcp-lint
# Or point at a file
npx mcp-lint check tools.json
# Global
npm install -g mcp-lint
# Per-project dev dependency
npm install --save-dev mcp-lint
## Quick Start
bash
# Look in this directory, and one level down, for tools.json, tools.yaml,
# tools.yml, mcp-tools.json, mcp-tools.yaml, or mcp-tools.yml
npx mcp-lint
# Check a JSON or YAML file
mcp-lint check tools.json
# See compatibility across all clients at a glance
mcp-lint compat tools.json
# Learn what a rule does
mcp-lint explain openai/no-additional-properties
# Auto-fix what can be fixed
mcp-lint fix tools.json --in-place
# Generate a config file
mcp-lint init
# Run as an MCP server
mcp-lint-server
# Score whether a tool failure tells the agent which tool to call next
mcp-lint recover examples/recover/bad-credential.json
# Lint the stdio servers already configured for Cursor, Claude, and VS Code
mcp-lint check --installed
# Save a live tool list, then fail CI when a later snapshot gets worse
mcp-lint snapshot -o tools.json --server stdio -- node server.js
mcp-lint diff tools.json tools.next.json
## mcp-lint compat — Compatibility Matrix
See exactly which tools work with which clients:
$ mcp-lint compat tools.json
claude cursor gemini vscode windsurf cline openai continue
search-tool ✓ ✗ ✓ ✓ ✓ ✓ ✓ ✓
file-reader ✓ ✓ ✗ ✓ ✓ ✓ ✓ ✗
database-query ✓ ✓ ✓ ✓ ✓ ✓ ✗ ✓
2 tools have compatibility issues. Run mcp-lint check for details.
bash
mcp-lint compat tools.json --format markdown # for PRs and GitHub Step Summary
mcp-lint compat tools.json --format json # machine-readable
mcp-lint compat tools.json --client openai # single client column
mcp-lint compat --server stdio -- node server.js
## mcp-lint explain — Rule Documentation
$ mcp-lint explain openai/no-additional-properties
Rule: openai/no-additional-properties
Severity: error
Clients: openai
Fixable: yes
Description
OpenAI Agents SDK strict mode requires additionalProperties: false on the root inputSchema.
Why
OpenAI's strict function calling mode rejects schemas that don't explicitly set
additionalProperties: false at the root level.
Bad example
"type": "object",
"properties": { "q": { "type": "string" } }
Listed badge (optional)
Copy this line into the README if you want the listing mark. Optional, and it does not affect being listed.
[![Listed on Anclum](https://anclum.com/badge/listed.svg)](https://anclum.com/en/s/robert19001-cmyk-mcp-lint/)
Source
github · https://github.com/robert19001-cmyk/mcp-lint
Browse by field
Open source
Traction
1 ★
added
today

More like this

All 1,671 →

Filed under

Every tag opens the full list for that filter. Counts are the live catalogue figures.

Browse all fields →

← Back to index