skills.rs - Infinite Skills MCP Server
使用说明(Markdown 摘要,便于快速上手):
- 项目简介
- skills.rs 是一个统一的 MCP 服务器实现,致力于把来自不同 MCP 服务的工具和技能整合到一个注册表中,通过 4 个 MCP 工具向客户端提供资源、工具调用和技能管理能力。
- 核心能力包括:统一发现(search)、获取工具/技能签名与 Schema(schema)、执行调用(exec)、技能生命周期管理(manage),并附带沙箱执行、WASM、持久化等保障。
- 主要功能点
- 4 个 MCP 工具:search(快速发现工具与技能)、schema(获取输入输出签名与模式)、exec(带策略执行)、manage(创建/读取/更新/删除技能)
- 聚合上游 MCP 服务器和 Agent Skills/本地技能,提供统一入口
- Progressive disclosure(渐进式加载技能内容,节省上下文令牌)
- 高级沙箱和 WASM 支持,提供安全的工具执行环境
- SQLite 持久化记录工具/技能注册与执行历史
- 多传输支持:stdio、HTTP 等
- Agent Skills 兼容性与自动化技能导入
- 安装步骤
- 需要 Rust 环境,推荐使用 Rust 1.92 及以上版本
- 克隆仓库并编译
- cargo build --release
- 运行示例(stdio 模式):skills server stdio
- 运行示例(HTTP 模式):skills server http --bind 127.0.0.1:8000
- 服务器配置(MCP 客户端使用的启动信息,供 MCP 客户端进行连接配置)
- 服务器名称(alias):skills-mcp
- 启动命令(command):这是用来启动该 MCP 服务器的完整命令
- 参数(args):启动参数列表(如有),这里以最简单的示例给出
- 传输方式(transport):stdio(也可配置为 http/https 等,取决于部署)
- 说明:MCP 客户端在连接该服务器时,通常需要提供一个 JSON 配置,描述服务器名称、启动命令及参数等,以便 MCP 客户端能够在本地生成相应的会话与请求通道。下面给出一个准确的示例配置(以本仓库的运行方式为准):
- 示例配置(JSON,供 MCP 客户端使用,不作为代码直接执行:){ "alias": "skills-mcp", "transport": "stdio", "command": ["./skills", "server", "stdio"], "args": [] }
- 说明:上面的配置表示以当前编译产物所在路径下的可执行文件作为 MCP 服务端,通过标准输入输出与 MCP 客户端通信。若部署为 HTTP 模式,请将 transport 替换为 "http",并提供相应的 bind 地址与端点,例如: { "alias": "skills-mcp-http", "transport": "http", "command": ["./skills", "server", "http"], "args": ["--bind", "0.0.0.0:8000"] }
- 基本使用方法
- 启动服务器后,客户端可以通过 MCP 协议与之交互,使用 search/schema/exec/manage 来发现、查询、执行与管理技能
- 通过技能仓库(本地 SkillStore 与 Agent Skills 的导入)实现技能的渐进式加载与管理
- 如需与上游 MCP 服务器集成,可以在 upstreams 配置中添加别名、传输方式、命令等信息,使 skills.rs 作为统一入口聚合多源能力
- 备注
- 客户端需要的具体配置要点在部署文档中已有详细说明,服务器端以 upsteam/skill_store 的形式暴露能力