CtrlK
BlogDocsLog inGet started
Tessl Logo

ai-mcp

Host-side Model Context Protocol (MCP) client for TanStack AI: connect to external MCP servers, discover and run their tools inside any adapter's chat() loop, read resources and prompts, generate TypeScript types (typed tool names/pool keys) with the bundled CLI, and manage lifecycle with close()/await using.

60

Quality

72%

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 ./packages/ai-mcp/skills/ai-mcp/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

77%

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

The body is highly actionable with executable code and clearly sequenced workflows including explicit error-recovery guidance, but it is over-long for a single SKILL.md and does not split advanced material into reference files. Conciseness and progressive disclosure are the main limiting dimensions.

Suggestions

Move the full interactive MCP Apps section (createMcpAppCallHandler + useMcpAppBridge React example) into a references/ file and keep only a brief overview + pointer in SKILL.md to improve both conciseness and progressive disclosure.

Replace the standalone 'Complete server-route example' with a reference to a bundled example file, since its middleware-close pattern already appears in the Lifecycle and Common Mistakes sections.

Tighten prose around type-safety modes and error classes — the code already carries most of the information, so surrounding narration can be trimmed.

DimensionReasoningScore

Conciseness

The body assumes Claude's intelligence (no filler explaining MCP or libraries) and is purposeful throughout, but at ~835 lines it is over-complete for a SKILL.md overview — the full interactive MCP Apps bridge example and the complete server-route example repeat concepts and could be deferred to reference files.

2 / 3

Actionability

Pervasive copy-paste-ready TypeScript with real imports and config shapes plus concrete commands ('npx @tanstack/ai-mcp generate', 'pnpm add @tanstack/ai-mcp'), matching the 'fully executable, copy-paste ready' anchor rather than the pseudocode score-2 anchor.

3 / 3

Workflow Clarity

Multi-step flows are explicitly sequenced with checkpoints: the codegen CLI is a numbered 3-step process, and the Common Mistakes section gives wrong/correct pairs with explicit guards ('close only after the stream is drained', 'exactly one of onFinish/onAbort/onError fires').

3 / 3

Progressive Disclosure

No references/scripts/assets bundle exists, and content that arguably belongs in separate files (the full MCP Apps guide, the complete route example) is inlined in SKILL.md; the one signaled reference (docs/mcp/apps.md) is an external doc, not a one-level-deep bundle file.

2 / 3

Total

10

/

12

Passed

Description

67%

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, clearly delineating the package's concrete capabilities, but it lacks an explicit 'Use when...' trigger clause and leans on technical jargon over natural user phrasings. Completeness and trigger-term quality are the main limiting factors.

Suggestions

Append an explicit 'Use when...' clause naming natural user triggers (e.g. 'Use when connecting an agent or chat() loop to an external MCP server, reading MCP resources/prompts, or generating typed MCP tool names') to raise completeness to 3.

Add common natural-language variations of the trigger terms ('MCP server', 'Model Context Protocol', 'MCP tools in chat', 'typed MCP tool names') so the keywords match what users actually say.

Keep the third-person voice and concrete action list as-is; they are the strongest part of the description.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'connect to external MCP servers, discover and run their tools inside any adapter's chat() loop, read resources and prompts, generate TypeScript types... with the bundled CLI, and manage lifecycle with close()/await using' — matching the comprehensive anchor rather than the partial score-2 anchor.

3 / 3

Completeness

Clearly answers 'what does this do' via enumerated actions, but omits any 'when should Claude use it' / 'Use when...' trigger guidance; per the judging guidelines a missing trigger clause caps completeness at 2.

2 / 3

Trigger Term Quality

Includes relevant keywords ('MCP', 'MCP servers', 'tools', 'resources and prompts', 'TypeScript types') but they lean technical/SDK jargon with missing natural user phrasings, and there is no 'Use when...' trigger clause to broaden coverage.

2 / 3

Distinctiveness Conflict Risk

The niche is narrowly scoped to 'Host-side MCP client for TanStack AI' with typed-tool generation and lifecycle management, making it unlikely to trigger for unrelated skills.

3 / 3

Total

10

/

12

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.

Validation14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (855 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

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

Warning

Total

14

/

16

Passed

Repository
TanStack/ai
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.