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.

61

Quality

73%

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

78%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 content is highly actionable with comprehensive executable examples and clear workflows, scoring well on actionability and workflow clarity. Its main weakness is progressive disclosure: a long monolithic body with only one external reference and no bundled reference files, plus minor lifecycle-example redundancy.

Suggestions

Move the large MCP Apps and Complete server-route example blocks into separate reference files under references/ and link to them one level deep, slimming the main SKILL.md to an overview.

Consolidate the repeated lifecycle/close pattern into a single canonical example plus a brief cross-reference from chat({mcp}) and Common Mistakes to reduce redundancy.

Add a short 'Verify' step to the codegen flow (e.g. re-run `generate` after server schema changes and confirm the generated file compiles) to tighten workflow checkpoints.

DimensionReasoningScore

Conciseness

The body is dense, assumes Claude's competence, and avoids explaining what MCP/libraries are, but the lifecycle/close pattern recurs across several sections (Lifecycle, chat({mcp}), Complete route example, Common Mistakes), giving minor redundancy that fits score-4 rather than fully lean score-5.

4 / 5

Actionability

Copy-paste-ready TypeScript examples span transports, auth, all three type-safety modes, lifecycle, the mcp prop, resources, prompts, apps, and a full route handler, fully covering the common cases per the score-5 anchor.

5 / 5

Workflow Clarity

Sequences are clear (install → client → transport → tools → lifecycle; codegen's explicit 3-step flow) with lifecycle rules and Common Mistakes providing wrong-vs-correct checkpoints, but there is no formal validate→fix→retry loop and codegen lacks an explicit re-verify step, fitting score-4.

4 / 5

Progressive Disclosure

Headers are clear and there is a signaled one-level reference ("See docs/mcp/apps.md"), but no bundle files exist and substantial blocks (full route example, MCP apps handler detail) are inlined in an ~840-line file rather than split out, matching the score-3 anchor of good-but-could-be-better-organized.

3 / 5

Total

16

/

20

Passed

Description

67%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 clearly distinguished, but omits an explicit "Use when..." trigger clause, which the rubric caps at completeness 3 and leaves trigger-term coverage at the same mid-band. Adding a concrete when-to-use clause with natural phrasing would lift both dimensions.

Suggestions

Append a 'Use when...' clause with natural user phrasing, e.g. 'Use when connecting a TanStack AI chat() loop to an external MCP server for tools, resources, or prompts.'

Add common natural synonyms users would say, such as 'Model Context Protocol', 'MCP tools', 'MCP server', and 'tool discovery', to broaden trigger-term coverage beyond the technical terms.

Keep the existing action list but ensure the when-guidance names concrete scenarios (third-party MCP tool servers, generated typed tool names) rather than restating capabilities.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — connect to external MCP servers, discover/run tools inside chat(), read resources and prompts, generate TypeScript types via CLI, manage lifecycle with close()/await using — covering the package surface comprehensively, matching the score-5 anchor.

5 / 5

Completeness

A clear "what" is present but no "Use when..." or equivalent explicit trigger guidance, so per the rubric a missing when-clause caps completeness at 3 (anchor 3).

3 / 5

Trigger Term Quality

Real keywords exist ("MCP servers", "Model Context Protocol (MCP)", "chat()", "resources and prompts") but they lean technical and miss common user-phrasing synonyms, fitting the score-3 anchor of relevant-but-incomplete keyword coverage.

3 / 5

Distinctiveness Conflict Risk

Scoped narrowly to a host-side MCP client for TanStack AI, a distinct niche with minimal overlap risk against other skills, matching the score-5 anchor.

5 / 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.

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.