CtrlK
BlogDocsLog inGet started
Tessl Logo

api-server-mcp

REST API server and MCP protocol integration

47

Quality

50%

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

Quality

Content

50%

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

The body is a well-structured, competence-assuming architectural reference with concrete locations, tables, and a usable Claude Desktop config, but it is verbose for a single file, relies on pseudocode for its one code pattern, and provides no validation-gated task workflow for batch operations. It reads as an internal codebase map rather than tightly actionable, progressively-disclosed guidance.

Suggestions

Replace the commented pseudocode tool-registration block with a minimal executable Rust snippet (Tool definition with a real JSON Schema and a handler signature).

Split the large reference into one-level-deep bundle files (e.g. references/api-handlers.md, references/mcp.md, references/env-config.md) and keep SKILL.md as a concise overview with signaled links.

Add a validation-gated workflow for batch/async extraction (queue -> validate input -> process -> verify result -> report failures) with explicit checkpoints.

Trim the ASCII request-flow diagram and consolidate the Critical Rules so they do not restate the handler and error-mapping tables.

DimensionReasoningScore

Conciseness

It assumes Claude's competence (no explanations of REST, CORS, LRU, MCP, or JSON-RPC), but at ~205 lines the ASCII request-flow diagram and the 17-item Critical Rules section partly restate the handler/error tables and could be tightened. Above anchor 1 (concept bloat); below anchor 3 (every token earns its place).

2 / 3

Actionability

Provides concrete specifics — file locations, endpoint/handler tables, env vars, and a copy-paste Claude Desktop JSON config — but the Rust tool-registration example is pseudocode (`// Define Tool with name...`) and the rules are abstract directives ('Always validate multipart file uploads') without executable code. Matches anchor 2 (pseudocode, some gaps).

2 / 3

Workflow Clarity

The request-flow diagram gives a clear architectural sequence, but there is no Claude task workflow with validation checkpoints, and batch operations (extract_batch, POST /batch) lack verification steps, which caps workflow clarity at 2. Below anchor 3 (explicit validation/feedback loops); above anchor 1 (sequence is present).

2 / 3

Progressive Disclosure

Sections are well-organized, but the body is a monolithic ~205-line single-file reference with handler, MCP, and env-config detail that could be split into separate files; no bundle files exist for one-level-deep references. Above anchor 1 (it is organized, not a wall of text); below anchor 3 (content is not appropriately split with signaled references).

2 / 3

Total

8

/

12

Passed

Description

50%

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 a concise domain label naming REST API and MCP integration, but it reads as a category rather than an action statement and omits any 'Use when...' trigger guidance. It is specific enough to avoid being generic but lacks the concrete actions and explicit triggers that would make it reliably surfaceable.

Suggestions

Lead with concrete verbs, e.g. 'Builds a dual REST API + MCP server exposing document-extraction endpoints, middleware, and tools for AI agents'.

Add an explicit trigger clause: 'Use when implementing or extending the Xberg API server, MCP tool/resource/prompt registration, or Claude Desktop integration.'

Include natural user-facing terms such as 'API endpoints', 'MCP tools', 'Claude Desktop', and 'document extraction server' alongside the technical phrasing.

DimensionReasoningScore

Specificity

Names a concrete domain ("REST API server", "MCP protocol") but offers only the gerund "integration" as an action — no concrete verbs like build, expose, or integrate. It sits above anchor 1 (fully vague) because the domain is specific, but below anchor 3 (multiple concrete actions).

2 / 3

Completeness

Answers "what" (REST API server and MCP integration) but has no "when" — no "Use when..." clause or equivalent trigger guidance, which the rubric caps at 2. Matches anchor 2 exactly.

2 / 3

Trigger Term Quality

"REST API server" and "API server" are natural user terms, but "MCP protocol integration" is technical jargon with no common variations or phrasings a user would naturally say. Below anchor 3 (good coverage of natural terms); above anchor 1 (no natural keywords).

2 / 3

Distinctiveness Conflict Risk

MCP + REST API server is a fairly distinct niche, but as a noun-phrase label with no action-based triggers it could still overlap with other API/web-server skills. Not anchor 1 (generic) nor anchor 3 (clear niche with distinct triggers).

2 / 3

Total

8

/

12

Passed

Validation

93%

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

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

Total

15

/

16

Passed

Repository
xberg-io/xberg
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.