CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

netlify-mcp-servers

Build, deploy, and secure Model Context Protocol (MCP) servers on Netlify. Use whenever the task involves creating an MCP server, exposing an app or API to AI agents as MCP tools, letting Claude / Cursor / Claude Code call a custom remote server, or adding MCP tools to an existing Netlify site. Covers the MCP SDK + Streamable HTTP transport on a Netlify Function, authentication (single shared secret vs per-user API keys with Netlify Identity), read/write safety, file uploads, and connecting clients. Use even when the user just says "MCP", "tool server for an agent", or "let an AI use my API".

74

Quality

93%

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

SKILL.md
Quality
Evals
Security

Quality

Content

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

An excellent, highly actionable skill body: copy-paste-ready code, exact commands, and a concentration of Netlify-specific gotchas that are exactly what a skill should supply. The two soft spots are occasional long-winded passages (the disambiguation and CORS sections) and an implicit rather than explicit workflow sequence lacking a final deployed-endpoint verification step.

Suggestions

Tighten the "Netlify MCP means two different things" paragraph and the CORS section by 2-3 sentences each — both carry explanatory framing that could be compressed without losing the actionable core.

Add an explicit end-of-workflow verification step (e.g. after deploy, run a tools/list call against the production URL with the bearer token via MCP Inspector or curl) so the build sequence closes with a concrete checkpoint.

DimensionReasoningScore

Conciseness

The body is dense with genuinely non-obvious, platform-specific facts (WebStandard transport vs Node bridge, the 406 Accept-header gotcha, GET-to-SSE 502 behavior, per-instance state, declarative rate limits, secrets-scanning deploy failure) that Claude cannot know, so nearly every token earns its place. However, the "two different things" disambiguation paragraph and the CORS section carry a few sentences of over-explanation that could be trimmed — matching the 'efficient; minor instances of over-explanation' anchor rather than the lean 5.

4 / 5

Actionability

The server function is complete and copy-paste deployable (imports, handler, config export), the bearer check, rate-limit block, and CORS snippet are concrete, and client connection plus dev/test/deploy are given as exact commands (claude mcp add, mcp.json shape, netlify dev, MCP Inspector). The only placeholders (getItem) are inherently the user's own app logic, so common cases are fully covered.

5 / 5

Workflow Clarity

The document follows a coherent build order (decide auth model → stack → server function → tools → auth → safety → rate limiting → clients → dev/deploy) with real checkpoints and error-recovery feedback: test via MCP Inspector, 406 means fix the client's Accept header, a browser CORS console error has a specific fix, Identity must be tested on a deploy preview. It falls short of the 5 anchor because the sequence is topical rather than explicitly stepped, and there is no final 'verify the deployed endpoint end-to-end' checkpoint.

4 / 5

Progressive Disclosure

The body stays at overview level while deep material (full per-user key schema/hashing/revocation, the complete three-step upload flow, the full client matrix and OAuth deep-dive) lives in three references, each one level deep, clearly signaled inline at the point of need and again in a closing index — and all three referenced files exist in references/.

5 / 5

Total

18

/

20

Passed

Description

96%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: third-person voice, explicit what-and-when, concrete capability list, and natural trigger phrases including the minimal ones users actually blurt out. The only soft spot is a minor conflict risk with the adjacent hosted-Netlify-MCP use case that the bare "MCP" trigger invites.

DimensionReasoningScore

Specificity

Concrete actions are enumerated ("Build, deploy, and secure", "creating an MCP server", "exposing an app or API to AI agents as MCP tools", "adding MCP tools to an existing Netlify site") and the coverage list spans transport, auth variants, read/write safety, uploads, and client connection — comprehensive and specific.

5 / 5

Completeness

Both "what" (build/deploy/secure MCP servers on Netlify, with a concrete coverage list) and "when" ("Use whenever the task involves..." plus "Use even when the user just says 'MCP'...") are answered explicitly with concrete trigger phrases.

5 / 5

Trigger Term Quality

Natural terms users would actually say are covered, including synonyms and client names: "MCP server", "AI agents", "Claude / Cursor / Claude Code", "MCP tools", "Netlify site", plus the explicit low-barrier phrases "MCP", "tool server for an agent", "let an AI use my API".

5 / 5

Distinctiveness Conflict Risk

The niche is distinct (building your own MCP server on Netlify, vs. general Netlify skills), but "Use even when the user just says 'MCP'" slightly overlaps with adjacent territory (Netlify's own hosted MCP server / agent-runner use cases) that the body has to disambiguate — mostly distinct with minor overlap risk, not the clean minimal-conflict anchor.

4 / 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

netlify/context-and-tools

Path

codex/skills/netlify-mcp-servers/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.