Back to list
theflysurfer

fastmcp-quality-review

by theflysurfer

Personal marketplace for developing and sharing custom Claude skills

1🍴 0📅 Jan 21, 2026

SKILL.md


name: fastmcp-quality-review description: Review and score FastMCP MCP server quality. Use when creating/auditing MCP servers, before publishing to MCP directory, or to improve existing servers. triggers:

English

  • is my MCP server good?
  • check my server quality
  • review my MCP
  • how can I improve my MCP server?
  • analyze the quality of this server
  • give me feedback on my MCP
  • how well-written is this server?

French

  • mon serveur MCP est-il bon ?
  • vérifie la qualité de mon serveur
  • analyse mon MCP
  • comment puis-je améliorer mon serveur MCP ?
  • donne-moi ton avis sur mon MCP
  • ce serveur est-il bien écrit ?

FastMCP Quality Review

Automated quality review for FastMCP MCP servers based on Anthropic MCP Directory Policy.

Quick Start

Observability

First: At the start of execution, display:

🔧 Skill "fastmcp-quality-review" activated
  1. Locate the MCP server file (usually mcp_server.py or similar)
  2. Run the review process below
  3. Get a score out of 100 with actionable recommendations

Review Process

Step 1: Load Server Code

# Read the MCP server file
from fastmcp import Client
# Import the server instance

Step 2: Run Quality Checks

Execute each check from the Quality Checklist:

CheckWeightPass Criteria
Tool Descriptions20%Clear, <64 chars, matches functionality
Error Handling15%Graceful errors with helpful messages
Annotations15%readOnlyHint, destructiveHint present
Token Efficiency15%Minimal response sizes
Test Coverage20%pytest tests exist and pass
Documentation15%Docstrings + 3 usage examples

Step 3: Generate Report

Output format:

## MCP Server Quality Report

**Server**: {server_name}
**Score**: {total}/100 ({grade})

### Results by Category

| Category | Score | Status | Issues |
|----------|-------|--------|--------|
| Tool Descriptions | X/20 | ✅/⚠️/❌ | ... |
| Error Handling | X/15 | ... | ... |
| ... | ... | ... | ... |

### Critical Issues (Must Fix)
1. ...

### Recommendations (Should Fix)
1. ...

### Nice to Have
1. ...

Scoring Guide

GradeScoreMeaning
A90-100Production ready, MCP Directory eligible
B75-89Good quality, minor improvements needed
C60-74Acceptable, several issues to address
D40-59Needs work before deployment
F0-39Major redesign required

Review Script

# In-memory review using FastMCP Client
import asyncio
from fastmcp import Client

async def review_mcp_server(mcp_server):
    """Review an MCP server and return quality score."""
    results = {
        "tool_descriptions": {"score": 0, "max": 20, "issues": []},
        "error_handling": {"score": 0, "max": 15, "issues": []},
        "annotations": {"score": 0, "max": 15, "issues": []},
        "token_efficiency": {"score": 0, "max": 15, "issues": []},
        "test_coverage": {"score": 0, "max": 20, "issues": []},
        "documentation": {"score": 0, "max": 15, "issues": []},
    }

    async with Client(transport=mcp_server) as client:
        tools = await client.list_tools()

        for tool in tools:
            # Check description length
            if len(tool.name) > 64:
                results["tool_descriptions"]["issues"].append(
                    f"Tool '{tool.name}' name exceeds 64 chars"
                )

            # Check description exists and is clear
            if not tool.description or len(tool.description) < 10:
                results["tool_descriptions"]["issues"].append(
                    f"Tool '{tool.name}' has missing/short description"
                )

            # Check for annotations (if available in schema)
            # ...

    return results

What to Check Manually

Some checks require manual review:

  1. Functionality Match: Do tools actually do what descriptions say?
  2. Security: OAuth 2.0 for remote servers? No hardcoded secrets?
  3. Edge Cases: Test with invalid inputs
  4. Token Bloat: Are responses unnecessarily verbose?

See references/manual-review-guide.md for detailed manual checks.

Skill Chaining

Skills Required Before

  • None (entry point for MCP review)

Input Expected

  • Path to MCP server file or module
  • Optional: path to test directory

Output Produced

  • Format: Markdown quality report with score
  • Side effects: None (read-only analysis)

Compatible Skills After

  • skill-creator: If major rewrite needed
  • commit: After fixing issues

Tools Used

  • Read (read server source code)
  • Bash (run pytest, import checks)
  • Grep (find patterns in code)

Score

Total Score

50/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon