项目简介
MCP技能中心服务器是一个生产就绪的后端应用,遵循Model Context Protocol (MCP) 规范,旨在为大语言模型(LLM)客户端(如Claude Desktop)提供结构化的上下文信息和功能。它能够从指定目录动态发现、加载和管理一系列“技能”,这些技能以Markdown文件('SKILL.md')的形式定义,并支持热重载,即在不重启服务器的情况下更新技能。
主要功能点
- 动态技能加载与管理: 自动从指定目录发现并加载技能,每个技能需在独立文件夹中。
- 热重载支持: 实时监测技能文件('SKILL.md')的变更,自动更新技能而无需手动重启服务器。
- MCP协议兼容: 完全实现MCP协议定义的资源(Resources)和工具(Tools)接口,通过JSON-RPC与客户端通信。
- 技能作为资源: 将技能目录作为可查询的资源 ('skill://catalog'),每个技能内容 ('skill://{name}') 也作为独立资源对外提供。
- 技能操作工具: 提供'search_skills'(搜索技能)、'reload_skills'(手动重载)、'get_skill_info'(获取技能元数据)和'list_skill_folders'(列出技能文件夹)等工具供LLM客户端调用。
- 严格目录结构验证: 强制要求每个技能必须位于其专属文件夹内,并提供清晰的错误提示和日志。
- 生产环境就绪: 包含全面的错误处理、日志记录和配置校验,支持Docker部署。
安装步骤
推荐使用Docker: 无需安装Python或Poetry,直接拉取镜像即可。
- 创建技能目录:
mkdir -p ~/claude-skills/my-first-skill - 创建技能文件('~/claude-skills/my-first-skill/SKILL.md'):
--- name: "my-first-skill" description: "我的第一个Claude技能" --- # 我的第一个技能 这里是我的第一个Claude技能! ## 使用方法 在这里描述你的技能如何使用。 - 运行服务器:
docker run -i --rm \ -v ~/claude-skills:/skills:ro \ mcp-skills-server
开发环境使用Poetry:
- 克隆仓库:
git clone https://github.com/srprasanna/mcp-skill-hub.git cd mcp-skill-hub - 安装依赖:
poetry install - 运行服务器:
export MCP_SKILLS_DIR=~/claude-skills # 请替换为你的技能目录路径 poetry run mcp-skills
服务器配置 (供MCP客户端连接)
MCP客户端(如Claude Desktop)需要通过JSON格式的配置连接到该MCP服务器。以下是一个示例配置,展示了如何配置服务器的启动命令及其参数:
{ "mcpServers": { "skills": { "command": "docker", "args": [ "run", "-i", "--rm", "-v", "${HOME}/claude-skills:/skills:ro", "mcp-skills-server" ], "description": "用于动态加载和管理Claude技能的MCP服务器,支持从 ~/claude-skills 目录读取技能。", "name": "MCP技能服务器" } } }
参数注释:
- 'mcpServers': 客户端配置中用于定义MCP服务器的顶级键。
- 'skills': 你为该MCP服务器定义的唯一名称(可自定义,例如 'my_skills_server')。
- 'command': 启动MCP服务器的命令,这里是 'docker'。
- 'args': 传递给 'command' 的参数列表。
- '-i', '--rm': Docker参数,表示交互式运行并在退出时自动删除容器。
- '-v ${HOME}/claude-skills:/skills:ro': 将本地 '~/claude-skills' 目录挂载到Docker容器内的 '/skills' 目录,并设为只读。这是服务器读取技能的来源,请将 '~/claude-skills' 替换为你的实际技能目录路径。
- 'mcp-skills-server': 要运行的Docker镜像名称。
- 'description': 服务器的简要说明,方便客户端用户理解其功能。
- 'name': 服务器的显示名称,会呈现在客户端的用户界面中。
基本使用方法
- 准备技能文件: 按照“安装步骤”中的格式,在配置的技能目录下创建或放置你的Markdown技能文件 ('SKILL.md')。每个技能必须有自己的文件夹。
- 启动服务器: 通过Docker或Poetry启动MCP技能中心服务器。
- 连接客户端: 在你的MCP客户端(如Claude Desktop)中添加上述配置,客户端将自动连接并发现服务器提供的技能资源和工具。
- 与LLM交互: LLM客户端会通过MCP协议调用服务器上的工具,例如'search_skills'来查找相关技能,或通过读取'skill://{name}'资源来获取技能的Markdown内容,并将其整合到与用户的交互中。当'SKILL.md'文件内容发生变化时,服务器将自动热重载,客户端无需重新连接即可获取最新技能。
信息
分类
AI与计算