Skills MCP Server

使用说明内容(Markdown格式)

项目简介

Skills MCP Server 是一个集中化的、沙箱化的后端服务,结合 Agno 技术栈,通过 MCP 协议向 LLM 客户端暴露"技能"、"工具"以及"系统提示片段"等能力。REST 控制平面用于技能的安装、更新、查询等管理操作,MCP 提供端点则让 MCP 客户端按需调用技能、获取指引和执行脚本等。

主要功能点

  • REST 控制平面:加载、安装、删除、查询技能及获取系统提示片段。
  • MCP 提供端:通过 FastMCP 实现的工具集,暴露以下能力
    • get_available_skills:列出已加载的技能及描述
    • get_skill_instructions(skill_name):获取某个技能的完整指引
    • get_skill_reference(skill_name, reference_path):读取技能中的参考文档
    • get_skill_script(skill_name, script_path, execute, args):读取或执行技能中的脚本
    • prompt_snippet:获取用于注入到代理系统提示中的系统片段,可按技能列表过滤
  • Skill 管理与加载:本地目录或 S3 同步加载技能,支持离线虚拟环境(venv)的自动创建与依赖安装(可配置是否延迟安装)。
  • 安全与权限:MCP 端点通过 X-API-Key 进行身份校验,REST 与 MCP 使用同一 API Key。
  • 兼容扩展:支持从 GitHub、Zip、索引 JSON(Cloudflare Discovery RFC 风格)等多种来源安装技能,支持按子路径导入、以及按 Skill.md 前言提要读取名称。
  • 灵活存储后端:本地存储(默认),也可配置 S3 作为技能源。

安装步骤

  • 确保环境:Python 3.12+、uvicorn、FastAPI、FastMCP、Agno 及依赖。
  • 克隆仓库并进入项目目录:
    • git clone https://github.com/chameleonbr/skills_mcp_server.git
    • cd skills_mcp_server
  • 复制并修改环境变量(示例):
    • API_KEY=your_api_key
    • SKILLS_DIR=skills
    • SKILLS_STORAGE=local 或 s3
    • 如使用 S3,配置 S3_BUCKET、S3_PREFIX、S3_CACHE_DIR、AWS 证书等
  • 安装依赖并启动服务:
    • uvicorn main:app --reload
  • 运行后访问文档与接口:
    • http://localhost:8000/docs
    • REST 控制平面在 /skills,MCP 服务在 /mcp

服务器配置(MCP 客户端需要的连接信息,JSON 格式)

{ "server_name": "Skills MCP Server", "command": "uvicorn main:app --reload", "args": ["--host", "0.0.0.0", "--port", "8000"], "environment": { "API_KEY": "<你的 API Key>", "SKILLS_DIR": "skills", "SKILLS_STORAGE": "local", "ALLOW_RUN_SCRIPTS": "false", "LAZY_INSTALL_VENVS": "false" }, "mcp": { "endpoint": "http://<host>:8000/mcp", "transport": "StreamableHTTP", "headers": { "X-API-Key": "<你的 API Key>" } }, "notes": "MCP 客户端将通过 POST /mcp 或 GET /mcp/sse 进行通信,请确保 API Key 与本服务一致;MCP 端点位于 /mcp,REST 与 MCP 使用同一个 API Key 进行鉴权。" }

基本使用方法

  • 启动后,先通过 REST 的 /skills 接口安装并管理技能
  • 通过 /mcp 端点向 MCP 客户端提供技能访问工具
  • 如需获取系统提示片段,可使用 /skills/prompt_snippet,便于将技能信息整合进代理系统提示
  • 对于需要执行的技能脚本,需在配置中开启 ALLOW_RUN_SCRIPTS,且需通过 mcp_get_script 接口执行并捕获输出

其他信息

  • 技术栈与依赖:FastAPI、FastMCP、Agno、uv、httpx、boto3(若使用 S3 存储)、zipfile、S3Skills、LocalSkills 等
  • 存储与加载:本地 SKILLS_DIR 目录或 S3 同步缓存目录,支持 .zip、GitHub、索引 JSON 等多种来源的技能安装
  • 安全性:REST 与 MCP 使用同一 API Key 进行鉴权,MCP 端点在 /mcp 下暴露

备注

该实现包含完整的服务器功能、MCP 接口暴露、技能管理与加载、以及测试覆盖,符合作为标准 MCP 服务器实现的要求。

服务器信息