@mcpx-digital/readme-score
Provides tools for scoring local Markdown README files, suggesting improvements, and checking relative link existence.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@mcpx-digital/readme-scorescore ./README.md and suggest improvements"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@mcpx-digital/readme-score
MCP server that scores README quality and suggests improvements.
Honest, heuristic scoring for install/usage/license/badges/structure plus relative link checks. Local markdown files only.
Scoring rubric (100 points)
Category | Max | What we look for |
Title | 5 | Top-level |
Description | 10 | Short prose intro |
Install | 20 | Install heading + package-manager / clone commands |
Usage | 20 | Usage/examples heading + fenced code |
License | 10 | License section or clear license mention |
Badges | 10 | Status/shield badges |
Contributing | 5 | Contributing section or link |
Relative links | 15 | Relative paths resolve on disk |
Structure | 5 | Enough markdown headings |
Grades: A≥90, B≥80, C≥70, D≥60, else F.
Heuristic for documentation completeness — not code quality, security, or SEO.
Related MCP server: MCP Docs Server
Install
npx -y @mcpx-digital/readme-scoreCursor mcp.json example
{
"mcpServers": {
"readme-score": {
"command": "npx",
"args": ["-y", "@mcpx-digital/readme-score"]
}
}
}Local clone:
{
"mcpServers": {
"readme-score": {
"command": "node",
"args": ["/absolute/path/to/readme-score-mcp/index.js"]
}
}
}Tools
Tool | What it does |
| Full 0–100 score with category breakdown |
| Concrete fix list |
| Relative link existence only |
Example prompts
“Score
./README.md”“Suggest README improvements for this repo”
“Which relative links in the README are broken?”
Development
git clone https://github.com/TheoryofShadows/readme-score-mcp.git
cd readme-score-mcp
npm install
npm testLicense
MIT
Available Tools
3 toolscheck_readme_linksC
Check that relative links in a README resolve on disk. Scores a local README markdown file only.
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to README.md. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description is the only behavioral disclosure. It states the checking action and local-only scope, but does not say whether the tool returns a pass/fail, a list of broken links, or a score, nor whether it has side effects. The ambiguous 'Scores' further obscures the actual behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded, with the primary action in the first sentence. The second sentence adds a scope limitation, though 'Scores' is awkward and slightly redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no output schema and no annotations, the description leaves key context missing: what the result looks like, how broken links are reported, and whether the file is modified. An agent can invoke it but cannot predict its output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: filePath is described as 'Path to README.md.' The description adds no parameter-level detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence clearly identifies the action: checking that relative links in a README resolve on disk, which is a specific verb+resource and distinct from the sibling tools' overall scoring or suggestions. The second sentence is slightly ambiguous ('Scores' could be a typo for 'Scans'), but the core purpose remains understandable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to choose this tool over score_readme or suggest_improvements. The only contextual hint is the local-file restriction, and no exclusions or alternatives are mentioned, so an agent must infer usage from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
score_readmeA
Score a README for install/usage/license/badges/structure and relative link validity (0–100). Scores a local README markdown file only.
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to README.md (or other markdown). | |
| skipLinkCheck | No | Skip relative link existence checks. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It usefully states the scoring categories, output range, and local-file restriction, but it does not mention whether the operation is read-only, what happens on missing/unreadable files, or the exact return format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The entire description is one focused sentence that front-loads the core purpose, lists the evaluation dimensions, and states the key constraint. Every clause adds information; there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two parameters and full schema coverage, the description provides enough context: what is scored, the score range, and the local-file restriction. Although there is no output schema, the stated 0–100 range addresses the primary return payload, and no complex side effects are implied.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds meaning by clarifying that the file must be a local markdown file and by tying 'relative link validity' to the skipLinkCheck parameter. This goes beyond the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Score') with a clear resource (README) and enumerates the evaluation dimensions: install/usage/license/badges/structure and relative link validity. The explicit output range (0–100) and the restriction to a local markdown file distinguish it from sibling tools like check_readme_links and suggest_improvements.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly states this tool scores a local README markdown file only, which establishes context for filePath. However, it does not explicitly say when to prefer scoring over check_readme_links or suggest_improvements, so usage guidance is mostly implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
suggest_improvementsB
Suggest concrete README improvements based on the scoring rubric. Scores a local README markdown file only.
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to README.md. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral transparency burden. It does disclose that the tool operates only on local README markdown files and bases suggestions on a scoring rubric, which is useful. However, it does not explicitly state whether the tool modifies the file, whether it requires prior scoring, or what the response contains beyond 'suggestions.'
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no filler. The first sentence states the core action, and the second adds an important scope constraint. Both sentences earn their place, and the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no annotations or output schema, the description is mostly adequate. It explains the purpose and the key input constraint. However, it does not describe the output format or whether the suggestions are returned inline, written to a file, or require the file to have been scored first, leaving some ambiguity for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds meaningful value by clarifying that filePath must point to a local README markdown file only, which is a constraint not stated in the schema. This extra semantic helps prevent misuse with remote URLs or non-markdown files.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'suggest concrete README improvements' and the target resource ('a local README markdown file'). It does not explicitly differentiate itself from score_readme or check_readme_links, but the improvement-focused purpose is distinct enough that an agent can infer the intended use.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus its siblings. It mentions 'based on the scoring rubric' and 'local README markdown file only,' but does not say when an agent should prefer suggest_improvements over score_readme or check_readme_links, nor does it describe prerequisites.
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.
3 tool updates
v0.1.0- First observed
check_readme_links - First observed
score_readme - First observed
suggest_improvements
TDQS
Scored across 3 tools
The three tools are mostly easy to distinguish: score_readme produces an overall score, suggest_improvements produces recommendations, and check_readme_links verifies link resolution. However, score_readme already includes relative link validity in its scoring, so an agent could be uncertain whether to call score_readme or check_readme_links for link checking.
All tool names follow a consistent lowercase snake_case verb-object pattern: score_readme, suggest_improvements, check_readme_links. The naming makes the action and target predictable across the entire set.
Three tools is well-scoped for a focused README-scoring server. Each tool covers a distinct stage of the workflow—evaluating, suggesting improvements, and validating links—without unnecessary bloat.
The toolkit covers the complete local README workflow: scoring, receiving concrete improvement suggestions, and checking relative link integrity. Since the server explicitly targets local README files, there are no major missing operations within its stated scope.
Maintenance
Related MCP Connectors
Lint a SKILL.md for frontmatter, structure, secrets and size. All 6 tools free.
Scan any URL for on-page, technical & content SEO; 0-100 score with copy-paste fixes.
Score any URL against a real design contract — 42 checks, A-F grade, token + motion validation.
Scan a web page for accessibility, security, privacy, quality and SEO issues, with fixes.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI models to seamlessly access and query local markdown technical documentation files, providing automatic documentation context without explicit prompting.8 npm5ISC
- AlicenseNot gradedqualityDmaintenanceProvides direct access to local documentation files through simple search and overview tools, enabling LLMs to query project-specific markdown documentation without requiring vector databases or RAG pipelines.MIT
- AlicenseNot gradedqualityDmaintenanceScans codebases for TODOs, FIXMEs, code complexity, file stats, and dependencies, generating a health report with a letter grade. Zero configuration required.33 npmMIT
- AlicenseNot gradedqualityDmaintenanceGenerates comprehensive documentation (architecture overview, dependency graph, API surface, and README) for any codebase locally without external APIs.8 npm1MIT