skills-as-mcp
Turns Claude-style skill folders into MCP tools, resources, and prompts for discovering and using skills.
README
skills-as-mcp
skills-as-mcp is a TypeScript MCP server that turns Claude-style skill folders
into MCP tools, resources, and prompts.
It is inspired by the Python project
biocontext-ai/skill-to-mcp,
but built for the TypeScript ecosystem and aligned with the official
Model Context Protocol server guidance.
What it does
- Recursively discovers
SKILL.mdfiles from one or many skill roots - Parses YAML frontmatter for
nameanddescription - Exposes three core MCP tools:
get_available_skillsget_skill_detailsget_skill_related_file
- Exposes MCP resources for the catalog and each discovered skill
- Exposes a
use_skillprompt for clients that support prompts - Supports:
stdiofor local coding tools and desktop clientshttpfor Streamable HTTP on/mcpssefor a compatibility server that exposes/mcp,/sse, and/messages
Installation
Run it directly with npx:
npx skills-as-mcp --skills-dir /absolute/path/to/skills --type stdio
Or install it into a project:
npm install skills-as-mcp
Quick Start
1. Create a skill directory
Your skills can live anywhere. Each skill needs its own directory and a
SKILL.md file with frontmatter:
my-skills/
└── release-helper/
├── SKILL.md
├── references/
└── scripts/
---
name: release-helper
description: Helps prepare package releases and changelogs.
---
# Release Helper
Instructions go here...
2. Run as a local MCP server
npx skills-as-mcp --skills-dir /absolute/path/to/my-skills --type stdio
3. Run as a remote server
Streamable HTTP only:
npx skills-as-mcp --skills-dir /absolute/path/to/my-skills --type http --host 0.0.0.0 --port 3000
Compatibility mode with legacy SSE:
npx skills-as-mcp --skills-dir /absolute/path/to/my-skills --type sse --host 0.0.0.0 --port 3000
In sse mode the server exposes:
/mcpfor Streamable HTTP clients/ssefor legacy SSE clients/messagesfor legacy POST requests
CLI Reference
npx skills-as-mcp --skills-dir <path> [--skills-dir <path> ...] --type <stdio|http|sse>
Options
--skills-dir <path>: Add a skill root. Repeat the flag to load multiple roots.--type <stdio|http|sse>: Select the transport mode.--host <host>: Host interface for HTTP modes. Default:127.0.0.1.--port <port>: Port for HTTP modes. Default:3000.
Environment variables
SKILLS_DIR: Single skill rootSKILLS_DIRS: Multiple skill roots joined by your OS path delimiterSKILLS_AS_MCP_TYPE: Same values as--typeSKILLS_AS_MCP_HOST: Same as--hostSKILLS_AS_MCP_PORT: Same as--port
SKILLS_DIRS uses : on macOS/Linux and ; on Windows.
MCP Surface Area
Tools
get_available_skills
- Returns every discovered skill with
name,description, andpath
get_skill_details
- Returns the
SKILL.mdcontent and the recursive file listing for a skill - Supports
return_typevalues ofcontent,file_path, andboth
get_skill_related_file
- Reads a specific file inside a skill directory
- Blocks directory traversal outside the skill root
- Supports
return_typevalues ofcontent,file_path, andboth
Resources
skills://catalogskills://<skill-name>
Prompts
use_skill
Example MCP Client Config
For clients that spawn local MCP servers over stdio, the shape is typically:
{
"mcpServers": {
"skills-as-mcp": {
"command": "npx",
"args": [
"skills-as-mcp",
"--skills-dir",
"/absolute/path/to/my-skills",
"--type",
"stdio"
]
}
}
}
For multiple skill roots:
{
"mcpServers": {
"skills-as-mcp": {
"command": "npx",
"args": [
"skills-as-mcp",
"--skills-dir",
"/absolute/path/to/team-skills",
"--skills-dir",
"/absolute/path/to/project-skills",
"--type",
"stdio"
]
}
}
}
Included Example
An example skill is included at
examples/skills/example-skill/SKILL.md
so you can try the package immediately:
npx skills-as-mcp --skills-dir ./examples/skills --type stdio
Library Usage
You can also import the core pieces directly:
import { SkillRegistry, createSkillsMcpServer } from "skills-as-mcp";
const registry = await SkillRegistry.fromSkillRoots(["./examples/skills"]);
const server = createSkillsMcpServer({ registry });
Development
npm install
npm run lint
npm test
npm run build
Useful commands:
npm run dev -- --skills-dir ./examples/skills --type stdionpm run dev -- --skills-dir ./examples/skills --type http --port 3000npm run dev -- --skills-dir ./examples/skills --type sse --port 3000
Notes
- Invalid skills are skipped with warnings instead of crashing the whole server.
- Duplicate skill names across roots are treated as a startup error.
- In
stdiomode all human-readable logs go tostderrso MCP traffic onstdoutstays clean.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。