CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

mcp-server-patterns

Build MCP servers with Node/TypeScript SDK — tools, resources, prompts, Zod validation, stdio vs Streamable HTTP. Use Context7 or official MCP docs for latest API.

Quality

68%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./.agents/skills/mcp-server-patterns/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

53%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 body is well-organized and honest about SDK version drift, but it hedges repeatedly instead of committing to one current API pattern with verified examples, leaving the reader with a server-construction snippet and little executable guidance for registration or transport wiring. Consolidating the doc-lookup reminder to one place and adding one complete, current example (registration + stdio connect + a verify/test step) would raise actionability and workflow clarity substantially.

Suggestions

State the Context7/docs verification directive once (e.g., in a short "API drift" note) and delete the other four repetitions — this alone removes most of the conciseness penalty.

Add one complete, copy-paste-ready example for the current SDK: register a tool with a Zod schema, create a StdioServerTransport, and connect — plus a verification step such as running the MCP Inspector against the server.

Sequence the guidance as an explicit build workflow (install → construct → register tools/resources → pick transport → connect → test) so the implicit topical order becomes a checklist, and trim the Go/C# SDK lines that don't serve the Node/TypeScript focus.

DimensionReasoningScore

Conciseness

The body is mostly efficient, but the "check Context7 / official MCP docs" hedge is repeated at least five times (intro, "How It Works", "Connecting with stdio", Examples, SDKs section), and the opening line "The Model Context Protocol (MCP) lets AI assistants call tools..." explains a concept Claude already knows. This matches anchor 3 (mostly efficient with some unnecessary explanation that could be tightened) rather than anchor 2, since there is no large-scale padding — the redundancy is one repeated instruction plus one known-concept sentence.

3 / 5

Actionability

Concrete elements exist ("npm install @modelcontextprotocol/sdk zod", the McpServer construction snippet, Zod guidance), but the core actions are left at hint level: the stdio section says "create a stdio transport and pass it to your server's connect method" with no code, the Streamable HTTP section has no example, and tool registration is deliberately ambiguous across three API shapes. The version-variability flexibility is explicitly justified (told to verify against docs), which keeps this at anchor 3 (some concrete guidance but incomplete, missing key details) rather than anchor 2 — but a copy-paste-ready registration or connect example is absent, ruling out anchor 4.

3 / 5

Workflow Clarity

The document is topically ordered (concepts → transports → setup → best practices), which implicitly implies a build sequence, but no explicit step ordering exists and there are no checkpoints: no "verify the server starts", no MCP Inspector test step, no error-recovery guidance despite "Errors: Return structured errors" being listed as a best practice. This fits anchor 3 (sequence present but implicit, checkpoints missing) — anchor 4 requires most checkpoints present, and this is not a destructive/batch operation, so no cap applies.

3 / 5

Progressive Disclosure

No bundle files exist, and the ~63-line body is short enough not to need splitting, with clear headers (When to Use, How It Works, Examples, Best Practices, Official SDKs) and well-signaled one-level-deep external references (modelcontextprotocol.io, Context7, SDK repos). It falls short of anchor 5 per the guideline threshold (over 50 lines) and because tangential content is inlined (the Go and C# SDK entries in "Official SDKs and Docs" add little for a Node/TypeScript-focused skill); it is clearly above anchor 3, whose example requires large inlined content that belongs in a separate file.

4 / 5

Total

13

/

20

Passed

Description

66%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 specific and distinctive, naming the domain, the SDK, the MCP primitives, validation, and both transports with good natural keywords. Its main defect is the missing 'Use when...' trigger clause — the second sentence reads as a documentation-lookup instruction rather than guidance on when to invoke the skill, which caps completeness and slightly muddies distinctiveness.

Suggestions

Add an explicit trigger clause, e.g. "Use when building or maintaining an MCP server, adding tools/resources/prompts, or choosing between stdio and HTTP transports."

Include common synonyms users would naturally say: "Model Context Protocol", "MCP tools", and client names like "Claude Desktop" or "Cursor".

Move the "Use Context7 or official MCP docs" instruction out of the description (or reframe it as a trigger) so the second sentence clearly signals when to use the skill rather than how to look up APIs.

DimensionReasoningScore

Specificity

"Build MCP servers with Node/TypeScript SDK — tools, resources, prompts, Zod validation, stdio vs Streamable HTTP" lists several concrete, specific capabilities (tool/resource/prompt registration, Zod validation, transport selection). It falls short of anchor 5 because the items are named as noun lists rather than multiple concrete actions, and coverage gaps exist (e.g., client connection/testing is absent); it is above anchor 3 because far more than 1-2 concrete specifics are named.

4 / 5

Completeness

The 'what' is clear ("Build MCP servers with Node/TypeScript SDK..."), but there is no 'Use when...' clause or equivalent explicit trigger guidance — the second sentence "Use Context7 or official MCP docs for latest API" is a doc-lookup instruction, not a when-to-use trigger. Per the judging guidelines, a missing 'Use when...' clause caps completeness at 3; the description matches anchor 3 (clear 'what', 'when' missing/only weakly implied) and not anchor 4, which requires both.

3 / 5

Trigger Term Quality

Includes strong natural keywords a user would say: "MCP servers", "Node/TypeScript SDK", "tools", "resources", "prompts", "stdio", "Streamable HTTP", "Zod". Below anchor 5 because common variations are missing — the spelled-out "Model Context Protocol", client names (Claude Desktop, Cursor), and phrases like "MCP tools" are absent; above anchor 3 because keyword coverage is genuinely good, not partial.

4 / 5

Distinctiveness Conflict Risk

"MCP servers with Node/TypeScript SDK — tools, resources, prompts, Zod validation, stdio vs Streamable HTTP" occupies a clear niche with distinctive technical triggers (stdio, Streamable HTTP, Zod, MCP). Below anchor 5 because it could minorly overlap with generic TypeScript/Node development skills or a broader 'Context7/docs' usage pattern since "Use Context7..." appears in the description; above anchor 3 because the MCP-specific terms make wrong-skill triggering unlikely.

4 / 5

Total

15

/

20

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 — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

ysyecust/everything-claude-code

Path

.agents/skills/mcp-server-patterns/SKILL.md

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.