技能转换工具

将SKILL.md技能定义转换为MCP兼容工具定义,实现跨生态系统技能共享。

  • by effectorHQ
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 effectorHQ/openclaw-mcp

使用说明

📦 加固的。 此包现在是 effectorHQ/effector → packages/serve/src/mcp/. monorepo中的所有积极开发都在继续。此存储库仍可供参考。

运行: effector serve . 通过统一的CLI。


openclaw mcp

中文文档

概述

openclaw mcp 将效果器SKILL.md格式桥接到 模型上下文协议 (MCP),使效应器技能能够与任何兼容MCP的代理运行时协同工作。

它的作用

将SKILL.md技能定义转换为MCP兼容的工具定义。您的OpenClaw技能可立即用于:

  • 克劳德 (Claude Desktop,API)
  • 光标 集成开发环境
  • 帆板运动 集成开发环境
  • 任何支持MCP的代理运行时

为什么重要

  • 跨生态系统可移植性:在OpenClaw中构建一次,在支持MCP的任何地方部署
  • 无代码更改:您现有的SKILL.md文件无需修改即可工作
  • 可组合技能:将OpenClaw技能与其他来源的MCP工具相结合
  • 标准化互操作性:MCP是人工智能工具集成的行业标准

安装

npm install @effectorhq/skill-mcp

您还可以直接使用CLI,而无需全局安装:

npx @effectorhq/skill-mcp ./skills
npx @effectorhq/skill-mcp --stdio

请参阅npm上发布的包: https://www.npmjs.com/package/@效应/技能mcp

快速开始

启动MCP服务器

npx @effectorhq/skill-mcp serve ./skills/

服务器监听stdin/stdout(MCP标准),并公开中的所有SKILL.md文件 ./skills/ 作为MCP工具。

在克劳德桌面

添加 ~/.claude/desktop/config.json (macOS/Linux)或 %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "openclaw": {
      "command": "node",
      "args": ["[path-to-node-modules]/@effectorhq/skill-mcp/bin/skill-mcp.js", "serve", "./skills"]
    }
  }
}

重新启动克劳德桌面。您的OpenClaw技能现在可以作为工具使用。

建筑

┌─────────────────────┐
│   SKILL.md Files    │
│  (frontmatter +     │
│   markdown body)    │
└──────────┬──────────┘
           │
           ▼
┌─────────────────────┐
│  skill-mcp Parser   │
│  (YAML → JSON)      │
└──────────┬──────────┘
           │
           ▼
┌─────────────────────┐
│  MCP Converter      │
│  (schema mapping)   │
└──────────┬──────────┘
           │
           ▼
┌─────────────────────┐
│  MCP Server (stdio) │
│  (JSON-RPC 2.0)     │
└──────────┬──────────┘
           │
           ▼
┌─────────────────────┐
│  MCP Clients        │
│  • Claude           │
│  • Cursor           │
│  • Windsurf         │
│  • etc.             │
└─────────────────────┘

命令行用法

服务

启动一个托管您技能的MCP服务器:

skill-mcp serve <directory> [--port 3000]

转换

将单个SKILL.md转换为MCP JSON模式:

skill-mcp convert <path-to-skill.md> [--output output.json]

验证

验证SKILL.md文件的MCP兼容性:

skill-mcp validate <directory>

帮助

skill-mcp --help

程序化API

parseSkill(filePath)

将SKILL.md文件解析为技能对象。

import { parseSkill } from '@effectorhq/skill-mcp';

const skill = await parseSkill('./skills/my-skill.md');
console.log(skill.frontmatter.name);

convertToMCPTool(skill)

将解析的技能转换为MCP工具架构。

import { convertToMCPTool, parseSkill } from '@effectorhq/skill-mcp';

const skill = await parseSkill('./skills/my-skill.md');
const mcpTool = convertToMCPTool(skill);
console.log(mcpTool);
// { name: '...', description: '...', inputSchema: { type: 'object', ... } }

createMCPServer(skillsDirectory)

创建并返回JSON-RPC 2.0 MCP服务器。

import { createMCPServer } from '@effectorhq/skill-mcp';

const server = createMCPServer('./skills');
await server.start();

文件结构

  • bin/skill-mcp.js --CLI入口点
  • src/index.js --主模块导出
  • src/parser.js --SKILL.md解析器(YAML frontmatter)
  • src/converter.js --技能.md→ MCP刀具转换器
  • src/server.js --JSON-RPC 2.0 MCP服务器
  • tests/ --测试套件(Node.js内置测试运行器)
  • docs/ --架构和映射文档

发展

npm test
npm run lint
npm run build

贡献

欢迎投稿!看 贡献.md.

许可证

该项目目前根据 Apache许可证,版本2.0 。