Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
76
66%
Does it follow best practices?
Impact
88%
1.60xAverage score across 3 eval scenarios
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/data/0b1c2d3e-4f5a-6b7c-8d9e-0f1a2b3c4d5e/SKILL.mdQuality
Discovery
89%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a solid description that clearly identifies its niche (MCP server development) and provides explicit 'Use when' guidance with relevant technology names. Its main weakness is that the 'what' portion is somewhat high-level—it could benefit from listing more specific concrete actions like defining tools, configuring transports, or handling authentication. Overall, the strong trigger terms and clear when-clause make it effective for skill selection.
Suggestions
Add more specific concrete actions to the 'what' portion, e.g., 'defining tools and resources, configuring transports, handling authentication, structuring server responses' to improve specificity.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description names the domain (MCP servers) and a general action ('creating high-quality MCP servers that enable LLMs to interact with external services through well-designed tools'), but it doesn't list multiple specific concrete actions like defining tools, handling authentication, setting up transport layers, etc. | 2 / 3 |
Completeness | Clearly answers both 'what' (creating high-quality MCP servers that enable LLMs to interact with external services through well-designed tools) and 'when' ('Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK)'). | 3 / 3 |
Trigger Term Quality | Includes strong natural keywords users would say: 'MCP', 'Model Context Protocol', 'MCP servers', 'FastMCP', 'MCP SDK', 'external APIs', 'Python', 'Node/TypeScript', 'tools', and 'integrate'. These cover the main variations a user building MCP servers would naturally use. | 3 / 3 |
Distinctiveness Conflict Risk | MCP server development is a very specific niche with distinct trigger terms (MCP, Model Context Protocol, FastMCP, MCP SDK). This is unlikely to conflict with general coding skills or other integration-related skills. | 3 / 3 |
Total | 11 / 12 Passed |
Implementation
42%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill has excellent structure and progressive disclosure, appropriately splitting content across reference files with clear navigation. However, it is significantly too verbose—repeating reference links multiple times, explaining concepts Claude already knows, and providing generic software engineering advice. The lack of any executable code examples in the main skill file is a notable gap for a development guide.
Suggestions
Cut at least 50% of the content by removing generic software engineering advice (DRY, error handling basics, what async/await is) and eliminating repeated reference file listings—list them once in the Reference Files section only.
Add at minimum one concrete, executable code example for each language (Python and TypeScript) showing a complete minimal MCP tool registration, rather than only describing what to do abstractly.
Replace the verbose Phase 1 design principles section with a concise bullet list of MCP-specific insights that Claude wouldn't already know, removing explanations of obvious concepts like 'error messages should guide agents toward correct usage.'
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is extremely verbose, explaining many concepts Claude already knows (what MCP is, what error handling means, what DRY principle is, how async/await works). There's extensive repetition—reference files are listed multiple times throughout the document and again in a dedicated section. Many instructions are generic software engineering advice rather than MCP-specific knowledge Claude wouldn't already have. | 1 / 3 |
Actionability | The skill provides some concrete guidance like specific URLs to fetch, XML format for evaluations, and tool annotation fields. However, it lacks executable code examples—there are no actual code snippets showing how to register a tool, create a server, or implement any of the described patterns. Most guidance is procedural description rather than copy-paste ready implementation. | 2 / 3 |
Workflow Clarity | The four-phase workflow is clearly sequenced and logically organized. However, validation checkpoints are weak—the testing section warns about hanging processes but doesn't provide explicit validation-then-proceed gates. The 'review and refine' phase lacks concrete verification steps beyond 'review the code for' checklists that defer to external files. | 2 / 3 |
Progressive Disclosure | The skill effectively uses progressive disclosure with clear references to external files (Python guide, TypeScript guide, evaluation guide, best practices) that are one level deep and well-signaled with descriptive labels and emoji markers. The main document serves as an overview with appropriate pointers to detailed reference materials loaded on demand. | 3 / 3 |
Total | 8 / 12 Passed |
Validation
100%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 11 / 11 Passed
Validation for skill structure
No warnings or errors.
d156cd1
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.