skill2mcp
skill2mcp

skill2mcp — это CLI/библиотека на TypeScript, которая преобразует документы SKILL.md в определения инструментов, готовые для MCP, и может генерировать минимальный развертываемый пакет сервера MCP из одного файла или целой директории навыков.
Созданный сервер использует официальный SDK MCP для TypeScript (@modelcontextprotocol/sdk) и поддерживает транспорты stdio, http или both.
Зачем нужен этот проект
Документы SKILL обычно представляют собой полуструктурированный Markdown (frontmatter + текст + таблицы). Инструменты MCP требуют строгих контрактов (name, description, inputSchema).
skill2mcp преодолевает этот разрыв с помощью многоуровневого конвейера:
Парсинг Markdown в стабильное промежуточное представление (IR)
Преобразование IR в определения инструментов MCP
Генерация развертываемого пакета сервера MCP с заглушками обработчиков
Related MCP server: Skillz
Текущий статус
MVP реализован и работает:
Детерминированный парсер (
strict,tolerant)Каскадный семантический режим (
semantic) для заполнения отсутствующих метаданныхПреобразование инструментов (
SchemaBuilder,ToolMapper,ToolValidator)Вывод
inspectс JSON инструментов в стиле MCPВывод
buildс развертываемым пакетом сервера MCPСозданный сервер поддерживает
stdio+httpbuild --watchдля итеративной перегенерации
Установка
Требования
Node.js 20+
npm 10+
Локальная установка
npm installСборка CLI
npm run buildБыстрый старт
1. Парсинг одного SKILL
npm run parse -- ./fixtures/skills/valid-skill.md --mode strict2. Проверка сгенерированных определений инструментов
npm run inspect -- ./fixtures/skills --mode tolerant3. Генерация развертываемого пакета сервера MCP
npm run gen -- ./fixtures/skills --out ./generated/mcp-server --transport both --mode tolerant4. Запуск созданного сервера
cd ./generated/mcp-server
npm install
npm run build
npm run start:stdio
# or
npm run start:httpHTTP-эндпоинт:
POST /mcpСправочник CLI
parse
Преобразует SKILL Markdown в IR JSON.
skill2mcp parse <input> [--mode strict|tolerant|semantic]Аргументы:
<input>: путь к файлу.mdили директории
Опции:
--mode: режим парсера (tolerantпо умолчанию)--format: в настоящее времяjson
Вывод:
results[]с распарсеннымSkillDocumentdiagnostics[]для каждого исходного файла
inspect
Преобразует распарсенный IR в определения инструментов, похожие на MCP.
skill2mcp inspect <input> [--mode strict|tolerant|semantic]Вывод:
tools[]: сгенерированные определения инструментов (name,description,inputSchema)results[]: инструмент + диагностика для каждого источника
build
Генерирует развертываемый пакет сервера MCP из одного или нескольких навыков.
skill2mcp build <input> --out <dir> [--transport stdio|http|both] [--mode strict|tolerant|semantic] [--watch]Аргументы:
<input>: путь к файлу.mdили директории
Обязательные опции:
--out: выходная директория для сгенерированного пакета
Опциональные опции:
--transport: транспорт сервера по умолчанию (bothпо умолчанию)--mode: режим парсинга (tolerantпо умолчанию)--watch: перегенерация пакета при изменениях в исходниках
Вывод:
сгенерированные файлы пакета (
package.json,tools.json,src/server.ts, обработчики)сводка диагностики в JSON
Режимы парсинга
strict
Завершается ошибкой при отсутствии обязательных метаданных/схемы
Лучший выбор для контроля качества в CI
tolerant
Продолжает работу с предупреждениями при отсутствии полей
Лучший выбор для пакетной обработки навыков разного качества
semantic
Начинается с парсинга в режиме tolerant
Пытается извлечь семантику через OpenRouter (если настроен)
Применяет детерминированный вывод для неразрешенных полей
Сохраняет трассировку диагностики (коды
SEMANTIC_*)
Конфигурация OpenRouter для semantic
Переменные окружения:
OPENROUTER_API_KEY: включает удаленное семантическое извлечениеOPENROUTER_MODEL(опционально): по умолчаниюanthropic/claude-3.5-sonnetSKILL2MCP_CACHE_DIR(опционально): переопределение директории кэшаOPENROUTER_HTTP_REFERER(опционально): передается как заголовок OpenRouterOPENROUTER_X_TITLE(опционально): передается как заголовок OpenRouter
Поведение кэша:
Семантические ответы кэшируются по хешу контента в
.skill2mcp-cache/semantic-openrouter-cache.jsonЕсли кэш присутствует, семантический режим использует его, избегая лишних удаленных вызовов
Канонический формат SKILL.md (рекомендуемый)
---
name: docx-generator
version: 1.0.0
description: Generate Word docs from structured markdown
tags: [documents, office]
---
## Parameters
| Name | Type | Required | Default | Description |
|------|------|----------|---------|-------------|
| content | string | yes | | Markdown content |
| title | string | yes | | Document title |
## Examples
**Input:** `{ content: "# Hello", title: "Report" }`
**Output:** report.docx generated at /outputs/
## Triggers
- "generate document"
- "create report"Структура сгенерированного пакета
generated/mcp-server/
package.json
tsconfig.json
README.md
tools.json
src/
server.ts
generated-tools.ts
handlers/
index.ts
<tool_name>.tsРазработка
Скрипты
npm run build # compile TypeScript
npm run test # run test suite
npm run parse # parse command entry
npm run inspect # inspect command entry
npm run gen # build command entryНабор тестов
Текущее автоматизированное покрытие включает:
поведение парсера (
strict,tolerant,semantic)построитель схем и маппинг инструментов
контракт вывода команды inspect
генерацию артефактов сборки end-to-end
Инженерные соглашения
Соблюдайте правила совместной работы в репозитории
AGENTS.mdПродуктовые/бизнес-директивы регулируются
ROADMAP.mdСообщения коммитов должны использовать префикс
[AI], если они сгенерированы ИИ
Артефакты релиза
Этот репозиторий включает:
Двойную лицензию:
MIT OR Apache-2.0CHANGELOG.mdCONTRIBUTING.mdRELEASE_CHECKLIST.md
Модель сотрудничества
Управление и правила принятия решений:
GOVERNANCE.mdКодекс поведения:
CODE_OF_CONDUCT.mdОтчеты о безопасности:
SECURITY.mdКаналы поддержки:
SUPPORT.md
Известные ограничения
Парсинг параметров в настоящее время предполагает формат таблицы Markdown в разделе
## ParametersСемантический режим отдает приоритет отсутствующим метаданным и может обогащать отсутствующие параметры, если доступно извлечение
Режим watch отслеживает текущее дерево; если позже будут добавлены глубоко вложенные папки, перезапустите watch для полного покрытия
Соответствие дорожной карте
Активная реализация следует поэтапной доставке, описанной в ROADMAP.md.
Политика интеграции GenAI (если включена) отдает приоритет OpenRouter как стратегии провайдера по умолчанию, как определено в директивах дорожной карты.
Лицензия
Лицензировано на ваш выбор:
Лицензия MIT (
LICENSE-MIT)Лицензия Apache 2.0 (
LICENSE-APACHE)
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityCmaintenanceConverts AI Skills (following Claude Skills format) into MCP server resources, enabling LLM applications to discover, access, and utilize self-contained skill directories through the Model Context Protocol. Provides tools to list available skills, retrieve skill details and content, and read supporting files with security protections.327Apache 2.0
- Alicense-qualityDmaintenanceTurns Claude-style skills (SKILL.md files with resources) into callable MCP tools for any agent. Discovers skills from a directory, exposes their instructions and resources, and can execute bundled helper scripts.398MIT
- Alicense-qualityDmaintenanceTurns Claude-style skill folders into MCP tools, resources, and prompts for discovering and using skills.81MIT
- Alicense-qualityAmaintenanceExposes an agent's skills as MCP tools, allowing any MCP client to route requests and load skills on demand from a single .3md file.91MIT
Related MCP Connectors
MCP server for skill documentation, generated by doc2mcp.
Generate AGENTS.md, AP2 compliance docs, checkout rules, debug playbook & MCP configs from any repo.
Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/agenttic-ai-dev/skill2mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server