skills-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@skills-mcpwhat skills are available?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
skills-mcp
MCP server that serves agent skills (SKILL.md bundles, the format used by
Claude Code plugin skill repos like cloudflare/skills)
to any MCP client — including clients that can't install plugins, such as
claude.ai / Claude Desktop connectors or an aggregator like MetaMCP.
Skills are exposed two ways:
Tools —
list_skills,read_skill,read_skill_filefor tool-oriented clients. The server's MCPinstructionslist every skill so models know when to load one.Resources —
skill://<name>/SKILL.md(plus each bundled file) for resource-aware clients.
Configuration
Env var | Meaning |
| Comma-separated skill sources (required). Each entry is |
| Cache directory for GitHub tarballs (default: OS tmpdir). |
GitHub sources are fetched as tarballs on startup (no git needed) and fall
back to the cached copy if the fetch fails.
Related MCP server: Agent Skills MCP
Usage
SKILLS_SOURCES=cloudflare/skills,raymatos/my-skills npx -y skills-mcp-serverAny directory containing a SKILL.md (searched up to 6 levels deep) is a
skill; YAML frontmatter name: and description: are used when present.
License
MIT
Available Tools
3 toolslist_skillsList SkillsARead-onlyIdempotent
List all available agent skills with name, description, source, and bundled files. Call read_skill to load one.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the safe read-only nature is known. The description adds concrete behavioral context by listing the return fields (name, description, source, bundled files), going beyond what annotations provide. It does not describe pagination or sorting, but for a zero-parameter list tool this is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exceptionally concise: two sentences. The first sentence states the purpose and output fields, and the second directs to the sibling tool. No filler or redundant information, every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (zero parameters, no output schema), the description is complete. It lists the return fields explicitly and points to the related sibling read_skill for loading a skill. Nothing critical is missing for an agent to use this tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the input schema is empty, so there is nothing to explain. Per the rubric, a baseline of 4 is appropriate when there are no parameters. The description does not need to add parameter details because none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb and resource: 'List all available agent skills.' It also specifies the output fields (name, description, source, bundled files), which distinguishes it from siblings like read_skill that load a single skill.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells the agent when to use an alternative: 'Call read_skill to load one.' This implies that list_skills is for browsing/identifying skills, while read_skill is for loading a specific one, providing clear context and direct guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_skillRead SkillARead-onlyIdempotent
Read a skill's SKILL.md instructions. Use the returned guidance for the current task; it may reference supporting files readable via read_skill_file.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Skill name as returned by list_skills |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and idempotent behavior. The description adds context that the returned guidance may reference supporting files, which is useful beyond the annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the core purpose, and every word adds value. No redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and good annotations, the description is sufficiently complete. It covers purpose, usage, and points to the companion tool, leaving no major gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers the only parameter completely with 'Skill name as returned by list_skills'. The description adds no additional parameter meaning, but since schema coverage is 100%, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads a skill's SKILL.md instructions, which is a specific verb+resource. It distinguishes from siblings by explicitly mentioning supporting files readable via read_skill_file.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It tells the agent to use the returned guidance for the current task and mentions the alternative read_skill_file for supporting files. This provides clear context, though it doesn't explicitly state exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_skill_fileRead Skill FileARead-onlyIdempotent
Read a supporting file bundled with a skill (paths are listed by list_skills and referenced from SKILL.md).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Skill name as returned by list_skills | |
| path | Yes | Relative path of a bundled file, e.g. references/foo.md |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint and idempotentHint, so the description adds little about behavior beyond confirming it reads bundled files. It doesn't mention return format or error cases, but the safety profile is covered by annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence, front-loaded with the action, contains no filler words and fully defines the scope in one line.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with full schema and annotations, the description provides enough context, including how to discover paths. No output schema exists, but the return value (file content) is implied and the tool is straightforward.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters clearly described. The description adds a small contextual note about path origins (list_skills/SKILL.md), but the schema already does the main work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'Read a supporting file bundled with a skill', using a specific verb and resource. It distinguishes from siblings like read_skill (main skill) and list_skills (listing skills).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives context by noting paths are listed by list_skills and referenced from SKILL.md, which implies usage for supporting files. It doesn't explicitly exclude alternatives, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v1.0.0- First observed
list_skills - First observed
read_skill - First observed
read_skill_file
TDQS
Scored across 3 tools
Each tool has a distinct, non-overlapping role: listing skills, reading the main skill instructions, and reading supporting files. There is no ambiguity about which tool to use for a given step.
All tool names follow a consistent verb_noun pattern: list_skills, read_skill, read_skill_file. The verb and noun are clear and predictable.
Three tools is perfectly scoped for a skills management server. Each tool is necessary and there are no redundant or extraneous tools.
The tool surface covers the full workflow for accessing skills: discovery, reading the primary instructions, and accessing bundled files. No obvious gaps for the stated purpose.
Maintenance
Related MCP Connectors
Search and discover Agent Skills from the skills.sh registry. Powered by HAPI MCP server.
- UnifAPIOAuthcom.unifapi
Hosted MCP server for live public-data APIs and Skills for AI agents.
Agent communication platform for agent to agent messaging via MCP. Messages, channels, skills.
Registry of MCP servers, agent skills and plugins: search, filter, comments, likes, publish.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceDual-interface MCP server that exposes declarative tools and reusable skills via standard MCP protocol and provides a REST API for authoring them.-
- AlicenseNot gradedqualityBmaintenanceAn MCP server that makes Agent Skills available to any MCP-compatible agent through a declarative, package.json-based configuration, enabling team-shareable skill management and execution.4MIT
- AlicenseNot gradedqualityAmaintenanceMCP server that unifies and synchronizes AI coding skills across multiple tools, exposing skill discovery and retrieval via list_skills and read_skill.34 npm12MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that adapts, activates, and shares local Agent Skills for runtimes like OpenAI Agents SDK and Claude Code, enabling dynamic discovery and shareable HTML/image artifacts.22 npm2MIT