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. Use when building or debugging an MCP server — tools, resources, prompts, validation, or transport choice.

Quality

78%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

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 API drift, but it spends tokens explaining MCP concepts Claude already knows and repeatedly disclaiming toward external docs instead of showing one complete, executable registration example. A single worked tool-registration snippet plus a build-and-verify sequence would substantially raise actionability and workflow clarity.

Suggestions

Replace the hedged registration prose with one complete executable example — a tool registered with a Zod inputSchema and handler — noting version differences in a single short parenthetical instead of five separate 'check the docs/Context7' disclaimers.

Cut the intro sentence explaining what MCP is and the Core concepts definitions of Tools/Resources/Prompts; Claude knows these, and the freed budget can go to concrete code.

Add a short sequenced workflow (install → define server → register tools → choose transport → connect and verify with an MCP inspector/client) so the build process has explicit steps and a validation checkpoint.

DimensionReasoningScore

Conciseness

The intro and "Core concepts" explain things Claude already knows ("The Model Context Protocol (MCP) lets AI assistants call tools, read resources...", definitions of Tools/Resources/Prompts), and the "check the official MCP docs or Context7" hedge is repeated roughly five times across sections. It is not a 2 because most sections still carry usable, non-padded guidance; it is not a 4 because the concept re-explanations and repeated hedging go beyond 'minor instances'.

3 / 5

Actionability

Concrete items exist (npm install command, McpServer import/constructor, Zod directive), but the central task — registering a tool with schema and handler — is explicitly deferred to external docs ("some versions use server.tool(...), others... Check the official MCP docs or Context7 for the current signatures") rather than shown as executable code. That is a key missing detail, not a minor gap, so it sits at the 3 anchor and below the mostly-executable 4.

3 / 5

Workflow Clarity

Sections follow a rough build order (concepts → transports → install/setup → best practices) but there is no sequenced build workflow and no validation checkpoint (e.g. connecting and listing tools via an inspector or client to verify registration). Not a 2 because a rough sequence is present and coherent; not a 4 because checkpoints are absent rather than merely implicit.

3 / 5

Progressive Disclosure

With no bundle files present, the body itself is the whole skill: sections are clearly organized (When to Use, How It Works, Examples, Best Practices, Official SDKs) and external pointers (modelcontextprotocol.io, Context7 queries) are well-signaled and one level deep. It is not a 5 because at ~62 lines with distinct stdio and HTTP setup content, some material (transport setup, full registration examples) could be split into reference files.

4 / 5

Total

13

/

20

Passed

Description

92%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.

A strong description: it states concrete capabilities, scopes to a specific SDK, and includes an explicit, specific use-when clause with natural trigger terms. The only gap is missing synonyms/identifiers (e.g. "Model Context Protocol", the npm package name) that would broaden natural-language matching.

DimensionReasoningScore

Specificity

"Build MCP servers with Node/TypeScript SDK — tools, resources, prompts, Zod validation, stdio vs Streamable HTTP" lists multiple concrete capabilities (tools, resources, prompts, validation, transport choice) that comprehensively cover the MCP server-building domain, matching the level of the 5-anchor example rather than the 4-anchor's 'minor gaps'.

5 / 5

Completeness

It explicitly answers both: what ("Build MCP servers with Node/TypeScript SDK — tools, resources, prompts, Zod validation, stdio vs Streamable HTTP") and when ("Use when building or debugging an MCP server — tools, resources, prompts, validation, or transport choice"), with concrete trigger phrases exactly like the 5-anchor example; it is not a 4 because the when-clause is specific, not merely present.

5 / 5

Trigger Term Quality

Natural phrases users would say are present ("building or debugging an MCP server", "transport", "validation", "tools"), but common synonyms and identifiers are missing — no spelled-out "Model Context Protocol" or the npm package name "@modelcontextprotocol/sdk" — so it stops short of the 5 anchor's synonym/extension coverage.

4 / 5

Distinctiveness Conflict Risk

"MCP server" with Node/TypeScript SDK scoping is a clear niche with distinct triggers, and generic-sounding terms ("tools", "prompts") are anchored to the MCP context, giving minimal conflict risk with other skills.

5 / 5

Total

19

/

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

affaan-m/ECC

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.