项目简介

Skillz MCP 服务端是一个Python软件包和命令行工具,它能够将Anthropic风格的“技能”(包含 'SKILL.md' 指令文件和可选辅助资源的目录)暴露给任何兼容MCP协议的客户端。它会自动发现这些技能,为每个技能注册一个MCP工具,提供技能指令、元数据和资源路径,并可选择在一个临时工作区中执行技能中的辅助脚本。

主要功能点

  • 技能自动发现: 自动扫描指定目录(默认为 '~/.skillz')下的所有技能目录,识别 'SKILL.md' 文件,并将其加载为可用的技能。
  • 工具注册与管理: 为每个发现的技能注册一个对应的MCP工具,使得大型语言模型(LLM)客户端能够通过这些工具调用技能,以执行特定任务或获取信息。
  • 资源提供: 工具调用会返回技能的详细指令、元数据以及所有相关文件的资源路径(包括绝对路径、相对路径和 'resource://' URI)。LLM客户端可以通过 'ctx.read_resource' API按需获取这些文件内容。
  • 脚本执行: 支持执行技能中包含的辅助脚本。脚本在一个临时且受限制的环境中运行,支持传递命令行参数、环境变量、文件内容和标准输入,并返回执行结果(标准输出、错误输出、返回码等)。这使得LLM能够调用外部程序来完成复杂操作。
  • 多种传输协议: 通过 FastMCP 库,Skillz 支持 'stdio'(标准输入输出)、'http' 和 'sse'(Server-Sent Events)等多种传输协议,方便与各类MCP客户端灵活集成。

安装步骤

  1. 确保您的系统安装了 Python 3.12 或更高版本。
  2. 安装 'uv' 包管理器 (如果尚未安装,'uv' 是一个快速的 Python 包安装器和解析器):
    pip install uv
  3. 使用 'uvx' 命令来运行 Skillz MCP 服务端。'uvx' 会自动下载并管理 Skillz 的所有运行时依赖,无需手动安装 Skillz 包:
    uvx skillz
    第一次运行可能会稍慢,因为 'uvx' 需要下载必要的依赖。

服务器配置 (供MCP客户端使用)

MCP客户端需要配置MCP服务器的启动命令和参数才能与Skillz建立连接。以下是一个标准的JSON配置示例,您可以根据您使用的MCP客户端的配置界面,将以下信息填写到对应的字段中。

  • 服务器名称 (Server ID/Name): 'Skillz'
  • 启动命令 (Command): 'uvx'
  • 参数 (Arguments): 'skillz'
  • 环境变量 (Environment Variables): (可选,通常为空,例如 '{}')

例如,在一些MCP客户端的配置文件或UI中,您可能需要提供如下JSON格式的内容:

{
  "servers": {
    "Skillz": {
      "command": "uvx",
      "args": [
        "skillz"
      ],
      "env": {}
    }
  }
}

如果您需要配置通过HTTP或SSE传输协议连接服务器,可以根据需求增加相应的参数:

  • HTTP传输协议配置示例:
    • Command: 'uvx'
    • Arguments: 'skillz --transport http --host 127.0.0.1 --port 8000 --path /mcp'
  • SSE传输协议配置示例:
    • Command: 'uvx'
    • Arguments: 'skillz --transport sse --host 127.0.0.1 --port 8000'

请根据您的MCP客户端的特定要求,将这些信息填入正确的字段或配置文件中。

基本使用方法

  1. 准备技能: 创建一个目录来存放您的技能。每个技能应该是一个独立的子目录,其中必须包含一个 'SKILL.md' 文件(该文件以YAML前置元数据块开头,包含技能的名称、描述等信息),并且可以包含任何辅助资源文件(如脚本、数据文件等)。默认的技能根目录是 '~/.skillz',您也可以自定义。
  2. 启动服务器:
    • 使用默认技能目录启动:
      uvx skillz
    • 指定技能目录启动:
      uvx skillz /path/to/your/skills
      默认情况下,服务器通过 'stdio' 传输协议监听(即通过标准输入输出进行通信)。
  3. 验证技能解析 (可选): 在不启动服务器传输的情况下,您可以使用 '--list-skills' 参数来验证 Skillz 是否正确发现了并解析了您的技能:
    uvx skillz /path/to/your/skills --list-skills
    这将列出所有已发现的有效技能。
  4. 连接MCP客户端: 根据您使用的MCP客户端(例如 Visual Studio Code 的 GitHub Copilot Chat、LM Studio、Cursor 等),使用上面提供的服务器配置信息连接到 Skillz MCP 服务端。一旦连接成功,您的LLM应用或助手就能够识别并调用这些技能,获取上下文信息,并执行技能中定义的工具和脚本了。

信息

分类

AI与计算