mcpbeat Sign in

SKILL.md Lint MCP Server

answering

SKILL.md Lint is answering right now. Last checked 12 min ago. It exposes 6 tools. Last commit 18 Aug 2026.

Lint a SKILL.md for frontmatter, structure, secrets and size. All 6 tools free.

Uptime history 15 days of history · worst day 98%
15 days agonow
98.9%
Uptime 24h
90 of 91 checks
6
Tools
read from the server
302 ms
Response time
average over 24h
0
Stars
last commit 18 Aug 2026

SKILL.md Lint does not always answer

Over the last week it answered 99.8% of our checks. We check every 15 minutes, so you hear about the next outage within the hour — not from your users.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 12 min ago.

run in your terminal
claude mcp add skillmd-lint --transport http https://mcp.moltlinestudio.com/skillmd-lint
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "skillmd-lint": {
      "url": "https://mcp.moltlinestudio.com/skillmd-lint"
    }
  }
}
~/.codex/config.toml
[mcp_servers.skillmd-lint]
url = "https://mcp.moltlinestudio.com/skillmd-lint"
.cursor/mcp.json
{
  "mcpServers": {
    "skillmd-lint": {
      "url": "https://mcp.moltlinestudio.com/skillmd-lint"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "skillmd-lint": {
      "url": "https://mcp.moltlinestudio.com/skillmd-lint"
    }
  }
}

Available tools 6

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

cron
cron_explain
Explain a 5-field cron expression in plain English and flag mistakes. FREE. Typical input {"expression": "0 9 * * 1-5"} returns {"expression": "0 9 * * 1-5", "meaning": "at minute 0; at hour 9; every day of month; every month; day of week 1-5", "issues": ["none"]}; out-of-range fields are listed in "issues". Use to read a schedule back in plain English before trusting it. Assumes 5-field cron; not for 6-field or seconds-precision variants. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "expected 5 fields, got <value>"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
diff
diff_texts
Produce a unified diff between two texts. FREE. Useful for comparing two SKILL.md versions. Typical input {"a": "<old text>", "b": "<new text>"} returns {"changed_lines": N, "diff": "--- \n+++ \n@@ ... @@\n-old line\n+new line"}; identical inputs return {"changed_lines": 0, "diff": "(identical)"}. The diff is capped at 400 lines. Use to show exactly what changed between two versions of a text. Not for judging the risk of a code change - the codereview server's review_diff does that. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "each text must be at most 500000 characters"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
json
json_validate
Validate JSON text and summarize its structure. FREE. Typical input {"text": "{\"a\": [1, 2]}"} returns {"valid": true, "structure": {"a": ["array[2]", "int"]}}; invalid JSON returns {"valid": false, "error": "<parser message>", "line": N, "column": N} instead. Use when JSON may be malformed or its shape is unknown. Reports structure, not conformance to a schema. Not for testing a pattern (regex_test). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "text is empty — pass the JSON document as a raw string"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
lint
lint_skill
Lint one SKILL.md file the way marketplaces and agents parse it. FREE. Checks YAML frontmatter presence and required fields (name, description), description quality, body structure (procedure steps, rules, degradation), secret/credential leakage, injection-style phrasing, and size budget. Typical input {"content": "<full SKILL.md text>"} returns {"verdict": "pass" | "pass-with-warnings" | "fail", "errors": ["..."], "warnings": ["..."], "stats": {"body_words": N, "has_frontmatter": bool}}. Use on the full text of one SKILL.md. Not for the surrounding archive layout (packaging_check). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "content is empty — pass the full SKILL.md text including frontmatter"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
packaging
packaging_check
Validate a zip layout plan for a skill marketplace before packaging. FREE. Checks SKILL.md placement rules and flags junk files. Typical input {"file_paths": ["my-skill/SKILL.md", "my-skill/examples.md"], "marketplace": "agensi"} returns {"verdict": "pass" | "fail", "issues": ["..."], "skill_files_found": ["my-skill/SKILL.md"]}. Use on a planned file layout, before zipping. Not for the content of a skill file (lint_skill). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "file_paths is empty — list every file that will be inside the zip"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
regex
regex_test
Test a regular expression against sample strings. FREE. Typical input {"pattern": "v(\\d+)", "samples": ["v12", "beta"]} returns {"pattern": ..., "results": [{"sample": "v12", "match": true, "matched_text": "v12", "groups": ["12"]}, {"sample": "beta", "match": false, ...}], "match_count": 1}. Use to confirm a pattern matches what you expect before shipping it. Not for validating JSON (json_validate). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "invalid regex: <value>"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.

Endpoints

URLTransportStateLatencyChecked
https://mcp.moltlinestudio.com/skillmd-lint streamable-http answering 197 ms 12 min ago

Alternatives to SKILL.md Lint

same job, measured the same way
skillkit
by furkan708

Toolbox for AI agent skills: scaffold, lint, pack, install, and serve SKILL.md skills

988 installs/wk local only
Code Analyze MCP
by clouatre-labs

MCP server for code structure analysis using tree-sitter.

local only
Aptu Coder
by clouatre-labs

MCP server for code structure analysis using tree-sitter.

local only
Pare Lint
by dave-london

Pare Lint ג€” Structured linting and formatting (ESLint, Prettier, Biome, Oxlint) as typed JSON.

187 installs/wk local only
Secureflows MCP Server
by michal-lefler

MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.

18 tools answering
Secureflows MCP
by michal-lefler

MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.

18 tools answering
I
Ruchy MCP
by noahgift

MCP server for Ruchy: code analysis, scoring, linting, formatting, and transpilation tools

local only
Topos
by krv-labs

Structural code-quality tools for AI coding agents.

516 installs/wk local only

SKILL.md Lint — questions

Answers built from our own checks of this server.

What can SKILL.md Lint do?
It exposes 6 tools, read directly from the server on our last check. Among them: cron_explain, diff_texts, json_validate, lint_skill, packaging_check, regex_test. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is SKILL.md Lint working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 90 of 91 checks got a reply (98.9%), average response time 302 ms. The bar chart above shows every period we have measured.
How do I connect SKILL.md Lint?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does SKILL.md Lint need an API key?
No. SKILL.md Lint completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 6 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is SKILL.md Lint?
It answers our handshake in 302 ms on average, which is faster than 57% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is SKILL.md Lint open source?
Yes — it is published under the MIT licence, written in Python and 0 stars on GitHub. The source link is on this page, so you can read exactly what it does with your data before you connect it.