mcpField
T
tiger-skills

tiger-skills

本地服务
github.com/timescaleAI 与智能体74 周前更新

关于 tiger-skills

tiger-skills 是 MCP 服务,可让使用任意 LLM 的 Agent 使用 Claude Skills 风格的技能包。它从本地路径或 GitHub 仓库加载技能,也可选提供子 Agent 任务执行。

主要功能

  1. 01从本地路径或 GitHub 加载技能
  2. 02通过 MCP 为任意 LLM 提供技能
  3. 03配置启用或禁用的技能
  4. 04仅提供工具、资源或两者兼有
  5. 05可选委派任务给子 Agent

适用场景

  1. 01为 Agent 提供领域工作流和指导
  2. 02共享存放在 GitHub 仓库中的技能
  3. 03将客户端连接限制为选定技能
  4. 04把复杂任务拆分为子 Agent 任务

MCP 相关

通过工具和资源向 MCP 客户端提供已配置的技能,支持 Streamable HTTP 和 stdio。可选的 subagent 工具能利用配置的技能执行任务。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"timescale-tiger-skills": {
"command": "npx",
"args": [
"-y",
"@tigerdata/tiger-skills-mcp-server"
],
"env": {
"GITHUB_TOKEN": "<GITHUB_TOKEN>",
"SKILLS_FILE": "<SKILLS_FILE>"
}
}
}
}
启动命令npx -y @tigerdata/tiger-skills-mcp-server
需要配置的环境变量
GITHUB_TOKEN密钥Token to access (private) GitHub repos
SKILLS_FILELocation of configuration file for skills

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@tigerdata/tiger-skills-mcp-server0.1.4
ocighcr.io/timescale/tiger-skills-mcp-server:0.1.4

工具

1

收录的工具列表 · 更新于 2 周前

参数类型必填说明
pathstring是技能中要查看的文件或目录的相对路径。 如果为空,默认查看 `SKILL.md` 文件。 使用 `.` 列出技能的根目录。
skill_namestring是要浏览的技能名称,或使用 `.` 列出所有可用技能。

详细介绍

Tiger Skills MCP Server

通过 Model Context Protocol(MCP)服务,让任何大模型都能模拟 Claude Skills。

什么是 Skills?

Skills 是模块化组件,可通过提供特定功能、工作流和领域专业知识,增强兼容 MCP 的 Agent 的能力。它们能将通用 Agent 转变为专业 Agent,使其具备任何模型都无法完全掌握的程序性知识。

我们的目标是完全兼容 Anthropic 的技能格式。有关详情,请参阅其 Agent Skills Spec 和相关文档。

Skills 规范概览
Skill 结构

Skills 是模块化、自包含的软件包,可通过提供专业知识、工作流和工具来扩展 Agent 的能力。可以将它们视为特定领域或任务的“入职指南”——它们能将通用 Agent 转变为专业 Agent,使其具备任何模型都无法完全掌握的程序性知识。

Skills 提供的内容
  1. 专业工作流——针对特定领域的多步骤流程
  2. 工具集成——使用特定文件格式或 API 的说明
  3. 领域专业知识——公司特定知识、架构和业务逻辑
  4. 捆绑资源——用于复杂重复任务的脚本、参考资料和资源文件
Skill 的组成

每个 skill 都包含一个必需的 SKILL.md 文件和可选的捆绑资源:

skill-name/
├── SKILL.md (required)
│   ├── YAML frontmatter metadata (required)
│   │   ├── name: (required)
│   │   └── description: (required)
│   └── Markdown instructions (required)
└── Bundled Resources (optional)
    ├── scripts/          - Executable code (Python/Bash/etc.)
    ├── references/       - Documentation intended to be loaded into context as needed
    └── assets/           - Files used in output (templates, icons, fonts, etc.)
SKILL.md(必需)

元数据质量: YAML frontmatter 中的 name 和 description 决定 Agent 何时使用该 skill。请具体说明 skill 的功能和适用时机。使用第三人称表述(例如,“当……时应使用此 skill”,而不是“当……时使用此 skill”)。

捆绑资源(可选)
脚本(scripts/)

用于需要确定性可靠性或需要反复重写的任务的可执行代码(Python/Bash 等)。

  • 适用情况:反复重写相同代码,或需要确定性可靠性时
  • 示例:用于 PDF 旋转任务的 scripts/rotate_pdf.py
  • 优点:节省 Token、结果确定、无需加载到上下文中即可执行
  • 注意:Agent 仍可能需要读取脚本,以进行修补或针对特定环境调整
参考资料(references/)

供 Agent 按需加载到上下文中,用于指导其流程和思考的文档及参考材料。

  • 适用情况:Agent 工作时需要参考的文档
  • 示例:财务架构的 references/finance.md、公司 NDA 模板的 references/mnda.md、公司政策的 references/policies.md、API 规范的 references/api_docs.md
  • 用途:数据库架构、API 文档、领域知识、公司政策、详细工作流指南
  • 优点:让 SKILL.md 保持精简,仅在 Agent 判定有需要时加载
  • 最佳实践:如果文件较大(超过 10k 个单词),请在 SKILL.md 中加入 grep 搜索模式
  • 避免重复:信息应放在 SKILL.md 或参考文件中,不要两边重复。除非信息确实是 skill 的核心内容,否则详细信息应优先放在参考文件中——这样既能让 SKILL.md 保持精简,也能让信息易于查找而不占用过多上下文窗口。SKILL.md 中只保留必要的流程说明和工作流指南;将详细参考资料、架构和示例移至参考文件。
##### 资源(`assets/`)

这些文件不会加载到上下文中,而是用于 Agent 生成的输出。

  • 适用场景:技能需要在最终输出中使用文件时
  • 示例:用于品牌资源的 assets/logo.png、用于 PowerPoint 模板的 assets/slides.pptx、用于 HTML/React 样板代码的 assets/frontend-template/、用于字体排版的 assets/font.ttf
  • 使用场景:模板、图片、图标、样板代码、字体、会被复制或修改的示例文档
  • 优点:将输出资源与文档分开,使 Agent 无需将文件加载到上下文中即可使用
渐进式披露设计原则

技能采用三级加载系统,高效管理上下文:

  1. 元数据(名称 + 描述) - 始终处于上下文中(约 100 个单词)
  2. SKILL.md 正文 - 技能触发时加载(少于 5k 个单词)
  3. 捆绑资源 - Agent 按需加载(无限*)

*之所以是无限,是因为脚本可以执行,而无需读入上下文窗口。

配置

环境变量
  • SKILLS_FILE:配置技能集合的 YAML 文件路径。默认值:./skills.yaml
  • SKILLS_TTL:缓存已加载技能的时间(毫秒)。默认值:5 分钟
技能配置文件

技能集合通过 YAML 文件配置。支持本地目录和 GitHub 仓库。配置可以指向单个技能,也可以指向技能集合。

local-directory-collection:
  # A collection of local skills stored in the `./skills` directory.
  # Each skill should be in its own subdirectory with a `SKILL.md` file.
  type: local_collection
  path: ./skills
local-individual-skill:
  # An individual local skill stored in the `./skills/skill-name` directory.
  type: local
  path: ./path-to/individual/skill-name
anthropic-github-collection:
  # A GitHub repo containing a collection of skills.
  # Each skill should be in its own subdirectory with a `SKILL.md` file.
  type: github_collection
  repo: anthropics/skills
  # path: ./ # not needed for this example since skills are at the root of the repo
  # Optionally specify skills/paths to ignore in this collection
  ignored_paths:
    - .claude-plugin
    - document-skills
  disabled_skills:
    - canvas-design
  # Setting enabled_skills will _only_ load the specified skills from the collection
  # enabled_skills:
  #   - frontend-design
  #   - webapp-testing
single-github-skill-example:
  # A GitHub repo containing an individual skill.
  type: github
  repo: anthropics/claude-cookbooks
  path: ./skills/custom_skills/creating-financial-models

所有已配置技能的名称必须唯一。重复项将被忽略,并显示警告。

连接字符串参数

客户端可以通过连接字符串中的参数控制启用的技能集合以及使用的协议。

  • enabled_skills:要启用的技能键,以逗号分隔。若未提供,则启用所有已配置的技能。
  • disabled_skills:要禁用的技能键,以逗号分隔。若未提供,则不禁用任何技能。
  • tools=0:禁用所有工具(用于仅资源集成)。
  • resources=0:禁用所有资源(用于仅工具集成)。
示例
http://tiger-skills-mcp-server/mcp?disabled_skills=foo,bar&resources=0

子 Agent 任务执行

此 MCP 服务(可选)提供一个 subagent 工具,可用于将复杂任务拆分为较小的子任务,分别交由独立的 Agent 实例处理。这适用于需要多个步骤的任务,尤其是这些步骤可能需要在大模型上下文中处理大量数据时。

子 Agent 将自动获得与 view 技能工具相同的技能,并能够(递归地)调用更多子 Agent。此外,还可以提供 mcp.yaml 配置文件,指定要提供给子 Agent 的其他工具。

如果不想使用子 Agent,可以在环境中设置 SUBAGENT_DISABLED=true 来禁用该工具。

子 Agent 的 MCP 配置

创建 mcp.yaml 文件,指定子 Agent 可使用的其他工具。默认从根目录读取此文件,也可以通过环境变量 MCP_PATH 指定其他路径。

目前仅支持可流式传输的 HTTP 传输方式。

pg_aiguide:
  type: http
  url: https://mcp.tigerdata.com/docs

开发

在本地克隆并运行服务。

git clone [email protected]:timescale/tiger-skills-mcp-server.git
构建

运行 ./bun i 安装依赖并构建项目。使用 ./bun watch 在更改时重新构建。

你需要一个具有正确权限范围的 GitHub 令牌。可通过此直接链接创建新令牌。

根据 .env.sample 文件创建 .env 文件。

cp .env.sample .env

然后更新 .env 中的 GITHUB_TOKEN 值。

测试

MCP Inspector 非常方便,可通过基于 Web 的界面测试 MCP 服务。

./bun inspector
通过 HTTP 测试
./bun watch http
字段值
传输类型Streamable HTTP
URLhttp://localhost:3001/mcp
通过 stdio 测试
./bun watch stdio
字段值
传输类型STDIO
命令node
参数dist/index.js
在 Claude Desktop 中测试

创建或编辑文件 ~/Library/Application Support/Claude/claude_desktop_config.json,添加如下条目,并确保使用本地 tiger-skills-mcp-server 项目的绝对路径,以及有效的 GitHub 令牌。

{
  "mcpServers": {
    "tiger-skills": {
      "command": "node",
      "args": [
        "/absolute/path/to/tiger-skills-mcp-server/dist/index.js",
        "stdio"
      ],
      "env": {
        "GITHUB_TOKEN": "ghp_whatever"
      }
    }
  }
}

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。