← スキル一覧に戻る

fastmcp-quality-review
by theflysurfer
Personal marketplace for developing and sharing custom Claude skills
⭐ 1🍴 0📅 2026年1月21日
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
- Locate the MCP server file (usually
mcp_server.pyor similar) - Run the review process below
- 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:
| Check | Weight | Pass Criteria |
|---|---|---|
| Tool Descriptions | 20% | Clear, <64 chars, matches functionality |
| Error Handling | 15% | Graceful errors with helpful messages |
| Annotations | 15% | readOnlyHint, destructiveHint present |
| Token Efficiency | 15% | Minimal response sizes |
| Test Coverage | 20% | pytest tests exist and pass |
| Documentation | 15% | 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
| Grade | Score | Meaning |
|---|---|---|
| A | 90-100 | Production ready, MCP Directory eligible |
| B | 75-89 | Good quality, minor improvements needed |
| C | 60-74 | Acceptable, several issues to address |
| D | 40-59 | Needs work before deployment |
| F | 0-39 | Major 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:
- Functionality Match: Do tools actually do what descriptions say?
- Security: OAuth 2.0 for remote servers? No hardcoded secrets?
- Edge Cases: Test with invalid inputs
- 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)
スコア
総合スコア
50/100
リポジトリの品質指標に基づく評価
✓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
レビュー
💬
レビュー機能は近日公開予定です