CtrlK
BlogDocsLog inGet started
Tessl Logo

mcp-builder

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

77

2.55x
Quality

67%

Does it follow best practices?

Impact

97%

2.55x

Average score across 3 eval scenarios

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./plugins/all-skills/skills/mcp-builder/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

56%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The skill has a well-sequenced four-phase workflow with genuine testing/validation checkpoints, and its progressive-disclosure design (overview plus annotated sub-guides) is conceptually sound. However, every detailed reference link is broken — the `./reference/` directory does not exist in the bundle — which undermines both navigation and the actionability of the implementation guidance that depends on those files. Moderate tightening of repeated material would also improve token efficiency.

Suggestions

Fix the reference paths: either add the `reference/` directory containing mcp_best_practices.md, python_mcp_server.md, node_mcp_server.md, and evaluation.md, or repoint the links to wherever those files actually live; also add explicit paths for the existing `scripts/` files (evaluation.py, connections.py, example_evaluation.xml) that the evaluation guide alludes to as 'the provided scripts'.

Remove the duplicated 'Reference Files' section at the bottom (or the repeated loading instructions in Phases 1-2) — the same four documents are described twice, roughly doubling the navigation overhead.

Include at least one inline minimal code example (e.g., a FastMCP `@mcp.tool` skeleton or a `server.registerTool` call) so the core implementation pattern is actionable even before the language guides load.

DimensionReasoningScore

Conciseness

The body is mostly efficient bullet-list guidance, but includes unnecessary repetition and padding: the 'Reference Files' section at the bottom re-describes the same four documents already loaded in Phases 1-2, and bullets like "Consider the agent's context budget as a scarce resource" and "Focus on tools that enable complete tasks, not just individual API calls" restate their section headings. This matches anchor 3 ('mostly efficient but... could be tightened') rather than anchor 2, since there is no explanation of basic concepts Claude already knows.

3 / 5

Actionability

There are some concrete executable elements (`timeout 5s python server.py`, `python -m py_compile your_server.py`, `npm run build`, WebFetch URLs, the evaluation XML example), but the bulk of implementation guidance is high-level direction like "Design clear, actionable, LLM-friendly, natural language error messages" and "Plan graceful failure modes" with all actual code examples deferred to the referenced guide files. This matches anchor 3 ('some concrete guidance but incomplete; missing key details') rather than anchor 4's 'mostly executable guidance'.

3 / 5

Workflow Clarity

The four-phase workflow (research → implement → review/test → evaluate) is clearly sequenced with numbered sub-steps, and Phase 3 provides real checkpoints ("Run `npm run build` and ensure it completes without errors", "Verify dist/index.js is created", warnings about hanging processes with tmux/timeout workarounds, and Phase 4's answer-verification loop). It falls short of anchor 5 because the fix-and-revalidate feedback loop within Phase 3 is only implicit and the quality checklists are deferred to external files.

4 / 5

Progressive Disclosure

The intended structure is good — an overview body with well-labeled, one-level-deep references each annotated with what it contains and when to load it — but scored against the actual bundle, all five referenced paths (`./reference/mcp_best_practices.md`, `./reference/python_mcp_server.md`, `./reference/node_mcp_server.md`, `./reference/evaluation.md`) point to a `reference/` directory that does not exist, while the actual `scripts/` bundle files (evaluation.py, connections.py, example_evaluation.xml) are never referenced by path. The broken navigation means it cannot score at anchor 4/5 ('references mostly clear' / 'easy navigation'); it sits at anchor 3 with an organization defect beyond what that anchor describes.

3 / 5

Total

13

/

20

Passed

Description

78%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is strong: it pairs a concrete statement of what the skill does with an explicit 'Use when...' trigger clause naming technologies and languages. Its only weakness is that the capability description stays at the level of one or two actions rather than enumerating specific concrete actions, and 'integrate external APIs or services' is slightly broad.

DimensionReasoningScore

Specificity

Quotes like "Guide for creating high-quality MCP (Model Context Protocol) servers" and "enable LLMs to interact with external services through well-designed tools" name the domain clearly but describe only 1-2 actions (create servers, integrate external APIs/services) without enumerating multiple concrete capabilities. It matches anchor 3 ('names domain and 1-2 concrete actions, but not comprehensive') better than anchor 4, which expects a list of several specific actions like the PDF example.

3 / 5

Completeness

It explicitly answers both parts: the 'what' ("Guide for creating high-quality MCP servers that enable LLMs to interact with external services through well-designed tools") and the 'when' ("Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK)"). The 'when' clause contains concrete trigger phrases, matching the anchor 5 example's structure exactly.

5 / 5

Trigger Term Quality

"Use when building MCP servers", "integrate external APIs or services", "Python (FastMCP)", and "Node/TypeScript (MCP SDK)" give good natural keyword coverage users would actually say. A few natural variations are missing (e.g., "MCP integration", "expose an API as tools", "Model Context Protocol" only appears as a parenthetical expansion), so it falls just short of the comprehensive synonym/extension coverage of anchor 5.

4 / 5

Distinctiveness Conflict Risk

MCP server building is a clear niche with distinct triggers ("MCP servers", "FastMCP", "MCP SDK"), so it is mostly distinguishable. Minor overlap risk remains with closely related skills via the broad phrase "integrate external APIs or services", which could also match general API-integration skills — this places it at anchor 4 rather than anchor 5's 'minimal conflict risk'.

4 / 5

Total

16

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

relative_links

Relative link issues: 14 missing

Warning

Total

14

/

16

Passed

Repository
davepoon/buildwithclaude
Reviewed

Table of Contents

Is this your skill?

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.