技能协议服务器

一个模型上下文协议(MCP)服务器,使AI代理能够发现、加载和执行技能,这些技能是包含指令、脚本和资源的文件夹,为代理提供额外能力。

  • by Livus-AI
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 Livus-AI/Skills-MCP

使用说明

MCP服务器技能

模型上下文协议(MCP)服务器,使AI代理能够发现、加载和执行 代理技能 -为代理提供额外功能的指令、脚本和资源的有序文件夹。

基于 代理技能规范.

什么是技能?

技能是包含以下内容的文件夹:

  • 技能.md -说明和元数据(名称、描述)
  • 脚本/ -可执行Python脚本
  • 参考文献 -附加文件(按需加载)
  • 资产/ -静态资源(模板、数据文件)

技能使用 渐进式呈现 为了高效地管理上下文:

  1. 级别1:名称+描述始终可见于 skill 工具描述
  2. 2级:加载完整技能.md时 skill(name) 被称为
  3. 级别3:加载脚本/引用时 execute_skill_script() 或 get_skill_resource() 被称为

特性

  • 动态技能发现:所有技能名称和描述都嵌入在 skill 工具描述
  • 又称渐进负重:按需加载技能说明
  • 脚本执行:从技能运行预构建的Python脚本
  • 资源访问:根据需要加载参考文档和资产
  • 代理技能兼容:遵循开放的代理技能规范

入门指南

先决条件

  • Python 3.10+
  • MCP兼容客户端(例如Manus、Claude Code、Cursor)

安装

  1. 克隆存储库:

    git clone https://github.com/Livus-AI/Skills-MCP.git
    cd Skills-MCP
    
  2. 安装依赖项:

    pip install -e .
    
  3. 运行服务器:

    skills-mcp
    

配置

  • 技能目录:默认情况下,技能存储在 skills/ 目录。您可以通过设置 SKILLS_DIR 环境变量。

MCP工具

服务器暴露 3工具:

工具 说明
skill(name) 加载技能的完整指令。 工具描述动态地包括所有技能名称和描述。
execute_skill_script(skill_name, script_name, params) 从技能中执行Python脚本 scripts/ 目录。
get_skill_resource(skill_name, resource_path) 加载特定的资源文件(参考文档、资产)。

运作原理

这 skill 工具描述为 动态生成 始终包括每种可用技能的名称和描述。这意味着:

  1. 代理人立即看到所有技能 -无需调用“list”函数
  2. 一次加载调用 - skill("name") 加载完整指令
  3. 准备就绪后执行 - execute_skill_script() 运行脚本

工作流示例

# Agent reads skill tool description and sees:
# - hello-world: A simple example skill...
# - slack-message: Post messages to Slack...

# Step 1: Load the skill
skill("slack-message")
# Returns: full instructions, available scripts, resources

# Step 2: Execute a script
execute_skill_script("slack-message", "post.py", {"channel": "#general", "message": "Hello!"})
# Returns: script output

创造技能

看 技能_创意.md 完整的指南。

快速开始

  1. 创建目录结构:
skills/
└── my-skill/
    ├── SKILL.md              # Required: Instructions + metadata
    ├── scripts/              # Optional: Executable scripts
    │   └── main.py
    ├── references/           # Optional: Additional docs
    │   └── api.md
    └── assets/               # Optional: Static resources
        └── template.json
  1. 使用frontmatter创建SKILL.md:
---
name: my-skill
description: What this skill does and when to use it. Include keywords that help agents identify relevant tasks.
license: MIT
metadata:
  author: your-name
  version: "1.0"
---

# My Skill

## Overview
Brief description of what this skill helps accomplish.

## Available Scripts
- `scripts/main.py` - Primary functionality

## How to Use
Step-by-step instructions...
  1. 使用标准格式创建脚本:
import sys
import json

def run(params: dict = None) -> dict:
    params = params or {}
    # Your logic here
    return {"status": "success", "result": "..."}

if __name__ == "__main__":
    params = {}
    if len(sys.argv) > 1:
        params = json.loads(sys.argv[1])
    result = run(params)
    print(json.dumps(result))

示例技能

此存储库包括以下示例技能 skills/ 目录:

  1. 你好,世界 -演示技能格式的简单示例
  2. 松弛信息 -通过webhook向Slack发布消息

路线图

  • [ ] create_skill 工具-以编程方式创建新技能
  • [ ] execute_code tool-使用e2b沙盒执行任意Python代码
  • []技能验证和筛选
  • []技能版本控制和更新

贡献

欢迎投稿!请随时提交拉取请求或打开问题。

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

相关