Awesome Agent Skills MCP 服务器

使用说明(Markdown 格式)

项目简介

这是一个基于 MCP(Model Context Protocol)的服务器实现,负责管理 AI 代理的技能资源、注册并执行工具、以及提供可渲染的提示模板。通过 JSON-RPC 协议与 MCP 客户端通信,支持技能查询、技能执行、以及技能刷新等能力,适用于将大语言模型接入到可扩展的上下文服务场景中。

主要功能点

  • 资源与技能管理:从仓库或本地源同步加载技能,提供技能注册、查询、以及参数校验等能力。
  • 工具注册与执行:实现 list_skills、get_skill、invoke_skill、refresh_skills 等工具,允许 MCP 客户端调用外部功能。
  • 参数校验与模板渲染:对技能参数进行校验,并在执行时将参数替换到技能内容中。
  • MCP 协议实现:基于 Model Context Protocol 的服务器端框架,处理 MCP 的请求/响应流程,并以 JSON-RPC 形式与客户端交互。
  • 会话与同步管理:包含技能缓存、源(远程/本地)优先级机制、以及自动/手动刷新技能的能力回调。
  • 多传输接口准备:实现基于 stdio 的传输,未来可拓展为 SSE/WebSocket 等传输通道。

安装步骤

  • 安装 Node.js 环境(推荐版本与项目依赖兼容)。
  • 安装依赖并编译
    • 安装依赖:npm install
    • 编译/打包:npm run build(输出到 dist/index.js,供 MCP 客户端连接)
  • 启动服务器
    • 运行入口通常为 dist/index.js,按项目默认行为会读取本地配置、拉取技能、初始化注册与执行器。

服务器配置(MCP 客户端连接配置示例)

以下为 MCP 客户端需要的配置信息(以 JSON 格式呈现,包含 serverName、command、args 等字段): { "serverName": "awesome-agent-skills-mcp", "command": "node", "args": ["dist/index.js"], "workingDirectory": "<项目根目录>", "env": { "LOG_LEVEL": "info", "SKILLS_SYNC_INTERVAL": "0" } // 备注:客户端只需要 serverName、command、args 即可建立连接,其他字段用于可选的环境配置 }

  • 说明
    • serverName 对应 MCP 服务端在日志与能力声明中的名称(此实现中为 awesome-agent-skills-mcp)。
    • command/args 指向 MCP 服务器的启动命令及参数,dist/index.js 为编译后的入口。
    • workingDirectory/ENV 等字段为运行时环境配置项,MCP 客户端本身不需要这些信息,但若需要自动化启动可将其设置好。

基本使用方法

  • 启动与连接
    • 在具备 MCP 客户端的环境中,使用上面的配置启动 MCP 客户端并建立与服务器的连接。
  • 常用能力
    • initialize:初始化服务器信息,获取协议版本与服务器信息。
    • tools/list:列出可用的技能/工具及其输入输出结构。
    • tools/call:调用具体技能,传入技能标识和参数,获取渲染后的内容和执行耗时。
    • refresh_skills:触发技能刷新(维护缓存并重新加载技能)。
    • get_skill:获取指定技能的详细信息和文档内容。
  • 使用注意
    • 服务端会维护技能缓存与源的优先级,新的本地技能会覆盖同名的远程技能(取决于优先级设置)。
    • 当技能参数不符合要求时,执行将返回错误信息,提醒缺少必填项或参数类型不匹配。

其他信息

  • 该实现提供了完整的服务端代码、注册与执行逻辑,以及集成测试用例,覆盖技能注册、参数校验、技能执行、技能文档获取、技能清单过滤、以及 MCP 工具调用等场景。
  • 服务器具备日志输出和异常处理,支持热更新/重刷技能的回调机制,便于生产环境的扩展与维护。

注意事项

  • 运行环境需要具备网络访问以拉取远程技能源(若使用仓库源)。
  • 本实现提供的示例工具与能力名为 list_skills、get_skill、invoke_skill、refresh_skills,具体实现细节以实际运行时的技能数据为准。

服务器信息