skill2mcp
skill2mcp

skill2mcp es una CLI/biblioteca de TypeScript que convierte documentos SKILL.md en definiciones de herramientas listas para MCP y puede generar un paquete de servidor MCP desplegable mínimo a partir de un solo archivo o de un directorio completo de habilidades.
El servidor generado utiliza el SDK oficial de MCP para TypeScript (@modelcontextprotocol/sdk) y admite transportes stdio, http o both.
Por qué este proyecto
Los documentos SKILL suelen ser archivos markdown semiestructurados (frontmatter + prosa + tablas). Las herramientas MCP requieren contratos estrictos (name, description, inputSchema).
skill2mcp cierra esa brecha con una canalización en capas:
Analizar markdown en una Representación Intermedia (IR) estable
Transformar la IR en definiciones de herramientas MCP
Generar un paquete de servidor MCP desplegable con stubs de controladores
Related MCP server: Skillz
Estado actual
MVP implementado y funcional:
Analizador determinista (
strict,tolerant)Modo semántico en cascada (
semantic) para la recuperación de metadatos faltantesTransformación de herramientas (
SchemaBuilder,ToolMapper,ToolValidator)Salida
inspectcon JSON de herramientas al estilo MCPSalida
buildcon paquete de servidor MCP desplegableEl servidor generado admite
stdio+httpbuild --watchpara regeneración iterativa
Instalación
Requisitos
Node.js 20+
npm 10+
Instalación local
npm installConstruir CLI
npm run buildInicio rápido
1. Analizar un SKILL individual
npm run parse -- ./fixtures/skills/valid-skill.md --mode strict2. Inspeccionar las definiciones de herramientas generadas
npm run inspect -- ./fixtures/skills --mode tolerant3. Generar un paquete de servidor MCP desplegable
npm run gen -- ./fixtures/skills --out ./generated/mcp-server --transport both --mode tolerant4. Ejecutar el servidor generado
cd ./generated/mcp-server
npm install
npm run build
npm run start:stdio
# or
npm run start:httpEndpoint HTTP:
POST /mcpReferencia de la CLI
parse
Convierte markdown SKILL a JSON de IR.
skill2mcp parse <input> [--mode strict|tolerant|semantic]Argumentos:
<input>: ruta a un archivo.mdo directorio
Opciones:
--mode: modo del analizador (tolerantpor defecto)--format: actualmentejson
Salida:
results[]conSkillDocumentanalizadodiagnostics[]por archivo fuente
inspect
Convierte la IR analizada en definiciones de herramientas tipo MCP.
skill2mcp inspect <input> [--mode strict|tolerant|semantic]Salida:
tools[]: definiciones de herramientas generadas (name,description,inputSchema)results[]: herramienta + diagnósticos por fuente
build
Genera un paquete de servidor MCP desplegable a partir de una o varias habilidades.
skill2mcp build <input> --out <dir> [--transport stdio|http|both] [--mode strict|tolerant|semantic] [--watch]Argumentos:
<input>: ruta a un archivo.mdo directorio
Opciones requeridas:
--out: directorio de salida para el paquete generado
Opciones opcionales:
--transport: transporte del servidor generado por defecto (bothpor defecto)--mode: modo de análisis (tolerantpor defecto)--watch: regenerar paquete ante cambios en la fuente
Salida:
archivos del paquete generado (
package.json,tools.json,src/server.ts, controladores)resumen de diagnósticos en JSON
Modos de análisis
strict
Falla ante brechas en metadatos/esquemas requeridos
Ideal para puertas de calidad en CI
tolerant
Continúa con advertencias ante campos faltantes
Ideal para procesamiento por lotes de habilidades de calidad mixta
semantic
Comienza desde un análisis tolerante
Intenta la extracción semántica a través de OpenRouter (cuando está configurado)
Aplica inferencia de respaldo determinista para campos no resueltos
Mantiene el rastro de diagnósticos (códigos
SEMANTIC_*)
Configuración de OpenRouter para semantic
Variables de entorno:
OPENROUTER_API_KEY: habilita la extracción semántica remotaOPENROUTER_MODEL(opcional): por defectoanthropic/claude-3.5-sonnetSKILL2MCP_CACHE_DIR(opcional): sobrescribe el directorio de cachéOPENROUTER_HTTP_REFERER(opcional): reenviado como encabezado de OpenRouterOPENROUTER_X_TITLE(opcional): reenviado como encabezado de OpenRouter
Comportamiento de la caché:
Las respuestas semánticas se almacenan en caché por hash de contenido en
.skill2mcp-cache/semantic-openrouter-cache.jsonSi la caché está presente, el modo semántico reutiliza la caché y evita llamadas remotas adicionales
Formato canónico SKILL.md (recomendado)
---
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"Estructura del paquete generado
generated/mcp-server/
package.json
tsconfig.json
README.md
tools.json
src/
server.ts
generated-tools.ts
handlers/
index.ts
<tool_name>.tsDesarrollo
Scripts
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 entrySuite de pruebas
La cobertura automatizada actual incluye:
comportamiento del analizador (
strict,tolerant,semantic)constructor de esquemas y mapeo de herramientas
contrato de salida del comando inspect
generación de artefactos de construcción de extremo a extremo
Convenciones de ingeniería
Siga las reglas de colaboración del repositorio en
AGENTS.mdLas directivas de producto/negocio se rigen por
ROADMAP.mdLos mensajes de confirmación (commit) deben usar el prefijo
[AI]cuando sean generados por IA
Artefactos de lanzamiento
Este repositorio incluye:
Distribución con doble licencia:
MIT OR Apache-2.0CHANGELOG.mdCONTRIBUTING.mdRELEASE_CHECKLIST.md
Modelo de colaboración
Reglas de gobernanza y decisión:
GOVERNANCE.mdCódigo de conducta:
CODE_OF_CONDUCT.mdReporte de seguridad:
SECURITY.mdCanales de soporte:
SUPPORT.md
Limitaciones conocidas
El análisis de parámetros actualmente asume el formato de tabla markdown en
## ParametersEl modo semántico prioriza los metadatos faltantes y puede enriquecer los parámetros faltantes cuando la extracción está disponible
El modo watch rastrea el árbol actual; si se añaden carpetas profundamente anidadas más tarde, reinicie el watch para una cobertura completa
Alineación con la hoja de ruta
La implementación activa sigue la entrega por fases en ROADMAP.md.
La política de integración de GenAI (cuando está habilitada) prioriza a OpenRouter como estrategia de proveedor predeterminada, según lo definido en las directivas de la hoja de ruta.
Licencia
Licenciado bajo cualquiera de:
Licencia MIT (
LICENSE-MIT)Licencia Apache 2.0 (
LICENSE-APACHE)
a su elección.
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