Skip to main content
Glama
TheoryofShadows

@mcpx-digital/readme-score

@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 # heading

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-score

Cursor 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

score_readme

Full 0–100 score with category breakdown

suggest_improvements

Concrete fix list

check_readme_links

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 test

License

MIT

Available Tools

3 tools
score_readmeA

Score a README for install/usage/license/badges/structure and relative link validity (0–100). Scores a local README markdown file only.

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath to README.md (or other markdown).
skipLinkCheckNoSkip relative link existence checks.

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

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, 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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath to README.md.

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

  1. 3 tool updatesv0.1.0
    • First observedcheck_readme_links
    • First observedscore_readme
    • First observedsuggest_improvements

TDQS

A3.7/5.0

Scored across 3 tools

Disambiguation4/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness5/5

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

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers