README
🚀 本地技能MCP
通过MCP,让任何大语言模型(LLM)或人工智能代理都能从你的本地文件系统中调用专业技能。
项目状态
| 指标 | 详情 |
| ---- | ---- |
| npm版本 | |
| npm下载量 |
|
| npm类型支持 |
|
| 许可证 |
|
| Node支持 |
|
| MCP兼容性 |
|
| CI状态 |
|
| 代码覆盖率 |
|
| CodeQL分析 |
|
| GitHub星星数 |
|
| GitHub分支数 |
|
| GitHub问题数 |
|
| GitHub最后提交时间 |
|
| PR欢迎状态 |
|
快速开始 • 特性 • 使用方法 • 常见问题解答 • 贡献代码
📑 目录
什么是本地技能MCP?
本地技能MCP是一个通用的模型上下文协议(MCP)服务器,它允许任何大语言模型(LLM)或人工智能代理从你的本地文件系统中访问专业技能。你只需编写一次技能,就可以在Claude Code、Claude Desktop、Cline、Continue.dev、自定义代理或任何兼容MCP的客户端中使用。
它通过结构化的、专家级的指令来处理特定任务,从而提升人工智能的能力。采用上下文高效的懒加载机制,即最初仅加载技能名称和描述(每个技能约50个令牌),完整内容按需加载。
🆚 为什么要使用本地技能MCP?
| 特性 | 本地技能MCP | Claude内置技能 |
| ---- | ---- | ---- |
| 可移植性 | 任何MCP客户端 | 仅适用于Claude Code |
| 存储方式 | 聚合多个目录 | 仅~/.claude/skills/ |
| 调用方式 | 通过MCP工具显式调用 | 由Claude自动调用 |
| 上下文使用 | 懒加载(仅加载名称) | 上下文中包含所有技能 |
✨ 特性
- 🌐 通用性:可与任何MCP客户端配合使用(如Claude Code/Desktop、Cline、Continue.dev、自定义代理)。
- 🔄 可移植性:编写一次,可在多个人工智能系统和大语言模型(如Claude、GPT、Gemini、Ollama等)中使用。
- ⚡ 上下文高效性:采用懒加载机制(每个技能名称/描述约50个令牌,完整内容按需加载)。
- 🔥 热重载:所有更改(新增、编辑、删除技能)立即生效,无需重启。
- 🎯 多源聚合:自动从多个目录聚合技能(优先级从低到高),包括内置技能、
~/.claude/skills、./.claude/skills、./skills和自定义路径。 - 📦 零配置:使用标准位置时,无需额外配置即可使用。
- ✨ 简单API:通过单一工具
get_skill实现动态发现。
🚀 快速开始
1. 安装
要求:Node.js 18+
你可以选择以下任意一种安装方式:
# 从npm安装(推荐)
npm install -g local-skills-mcp
# 从GitHub安装
npm install -g github:kdpa-llc/local-skills-mcp
# 或者克隆并本地构建
git clone https://github.com/kdpa-llc/local-skills-mcp.git
cd local-skills-mcp
npm install # 通过prepare脚本自动构建
2. 配置MCP客户端
将以下内容添加到你的MCP客户端配置中:
对于Claude Code/Desktop(配置文件路径为~/.config/claude-code/mcp.json或~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"local-skills": {
"command": "local-skills-mcp"
}
}
}
对于Cline:在VS Code设置中找到“Cline: MCP Settings”(使用相同的JSON结构)。
对于其他MCP客户端:使用相同的命令/参数结构。
如果是本地克隆(未全局安装),请使用以下配置:
{
"mcpServers": {
"local-skills": {
"command": "node",
"args": ["/absolute/path/to/local-skills-mcp/dist/index.js"]
}
}
}
技能发现: 服务器会自动从多个目录聚合技能(优先级从低到高):
- 包内置技能(自带文档指南)
~/.claude/skills/- 全局技能./.claude/skills/- 项目特定技能(隐藏)./skills- 项目特定技能(可见)$SKILLS_DIR- 自定义路径(如果设置了环境变量)
后续目录中的技能会覆盖前面目录中的同名技能,你可以通过这种方式自定义内置技能。
3. 创建并使用技能
创建技能(选项1:让AI创建 - 推荐)
你只需让你的AI创建技能,例如:
"创建一个用于编写简洁、地道Python代码的专家技能"
"创建一个专注于安全性和最佳实践的PR审查技能"
AI会使用内置的skill-creator技能生成结构良好的技能,包含正确的YAML前置元数据和触发关键词。
创建技能(选项2:手动创建)
创建~/.claude/skills/my-skill/SKILL.md文件,内容如下:
---
name: my-skill
description: 该技能的功能和使用场景
---
你是[领域]的专家。你的任务是[具体任务]。
指导原则:
1. 具体且可操作
2. 提供示例
3. 包含最佳实践
使用技能
请求使用任何技能,例如:"使用my-skill技能"
技能会自动发现并按需加载。通过热重载功能,所有更改立即生效,无需重启!
📝 SKILL.md格式
每个技能都是一个包含YAML前置元数据的SKILL.md文件:
---
name: skill-name
description: 简要描述该技能的功能和使用场景
---
你的技能说明,采用Markdown格式...
必填字段:
name- 技能标识符(小写,使用连字符,最长64个字符)description- 对技能选择至关重要(最长200个字符)
编写有效描述的方法:
使用模式:[它的功能]. 在[触发条件/关键词]时使用。
✅ 好的示例:
- "根据git diff生成清晰的提交消息。在编写提交消息或审查暂存更改时使用。"
- "分析Excel电子表格并创建数据透视表。在处理.xlsx文件或表格数据时使用。"
❌ 不好的示例:
- "帮助处理Excel文件"
具体的触发关键词有助于AI在选择技能时做出更好的决策。
🎯 使用方法
工作原理
- AI会看到所有可用的技能名称和描述(自动更新,每个约50个令牌)。
- 当你请求使用某个技能时,AI会调用
get_skill工具。 - 按需加载完整的技能内容,包含详细的说明。
内置技能
包含三个自带文档的技能:
local-skills-mcp-usage- 快速使用指南local-skills-mcp-guide- 全面的文档skill-creator- 技能编写最佳实践
技能目录
自动从多个位置聚合技能(后面的目录会覆盖前面的目录):
- 包内置技能
~/.claude/skills/- 全局技能./.claude/skills/- 项目特定技能(隐藏)./skills- 项目特定技能(可见)$SKILLS_DIR- 自定义路径(可选)
自定义目录
你可以在MCP客户端配置中通过环境变量进行配置:
{
"mcpServers": {
"local-skills": {
"command": "local-skills-mcp",
"env": {
"SKILLS_DIR": "/custom/path/to/skills"
}
}
}
}
示例技能
---
name: code-reviewer
description: 审查代码的最佳实践、漏洞和安全性。在审查PR或分析代码质量时使用。
---
你是一位精通软件工程最佳实践的代码审查专家。
分析代码时需关注:
1. 正确性和漏洞
2. 最佳实践和可维护性
3. 性能和安全问题
提供具体、可操作的反馈,并附上示例。
❓ 常见问题解答
Q:支持哪些MCP客户端?
支持任何兼容MCP的客户端,如Claude Code、Claude Desktop、Cline、Continue.dev或自定义代理。
Q:我可以使用~/.claude/skills/中的现有Claude技能吗?
可以!服务器会自动从`~/.claude/skills/`以及其他目录聚合技能。
Q:添加或编辑技能后需要重启吗?
不需要!支持热重载,所有更改(新增、编辑、删除技能)立即生效,无需重启MCP服务器。
Q:如何覆盖内置技能?
在优先级更高的目录中创建同名技能即可。优先级顺序为:包内置技能 → `~/.claude/skills` → `./.claude/skills` → `./skills` → `$SKILLS_DIR`。
Q:它可以与本地大语言模型(如Ollama、LM Studio)一起使用吗?
可以!它可以与任何兼容MCP的客户端和大语言模型一起使用。技能是结构化的提示,可与任何模型配合使用。
Q:它可以离线使用吗?
可以!MCP服务器完全在你的本地文件系统上运行(不过你的大语言模型可能需要根据提供商的要求连接互联网)。
Q:如何创建有效的技能?
请参阅SKILL.md格式部分。使用包含触发关键词的清晰描述、具体的说明和示例。或者让你的AI使用内置的`skill-creator`技能来创建技能。
Q:我在哪里可以获得帮助?
在GitHub上提交问题,或者查看内置的`local-skills-mcp-guide`技能。
更多信息:请参阅CONTRIBUTING.md、SECURITY.md、CHANGELOG.md。
🤝 贡献代码
欢迎贡献代码!详细指南请参阅CONTRIBUTING.md。
快速开始步骤:
- Fork并克隆仓库。
- 创建你的功能分支(
git checkout -b feature/amazing-feature)。 - 进行更改并添加测试。
- 提交更改(
git commit -m '添加惊人的功能')。 - 推送更改(
git push origin feature/amazing-feature)。 - 打开Pull Request。
本项目遵循行为准则。
🔗 相关项目
你可以使用以下互补工具来优化你的MCP设置:
MCP压缩代理
聚合并压缩来自多个MCP服务器的工具描述
虽然本地技能MCP提供了专家级的提示指令,但MCP压缩代理可以通过基于大语言模型的智能压缩来优化你的工具描述。
完美组合:
- 本地技能MCP - 具有懒加载功能的专家技能(每个技能约50个令牌)
- MCP压缩代理 - 压缩后的工具描述(减少50 - 80%的令牌消耗)
它们共同实现了:
- 🎯 技能和工具的最大上下文效率
- 🔗 通过一次连接访问多个MCP服务器
- ⚡ 大规模工作流的最小令牌消耗
- 🚀 拥有数百个工具的专业人工智能代理设置
💖 支持本项目
如果你觉得本地技能MCP很有用,请考虑支持其开发!
支持方式:
- ⭐ 给这个仓库加星
- 💰 通过上面的徽章进行赞助
- 🐛 报告漏洞并提出功能建议
- 📝 贡献代码或文档
📄 许可证
本项目采用MIT许可证 - 详情请参阅LICENSE文件。版权所有 © 2025 KDPA
🙏 致谢
本项目基于模型上下文协议SDK构建,灵感来自Claude技能。
Scan to join WeChat group