skill2mcp
skill2mcp

skill2mcp는 SKILL.md 문서를 MCP 준비가 완료된 도구 정의로 변환하고, 단일 파일이나 전체 스킬 디렉토리로부터 최소한의 배포 가능한 MCP 서버 패키지를 생성할 수 있는 TypeScript CLI/라이브러리입니다.
생성된 서버는 공식 MCP TypeScript SDK(@modelcontextprotocol/sdk)를 사용하며 stdio, http 또는 both 전송 방식을 지원합니다.
이 프로젝트의 목적
SKILL 문서는 일반적으로 반구조화된 마크다운(프런트매터 + 산문 + 표)입니다. MCP 도구는 엄격한 계약(name, description, inputSchema)을 요구합니다.
skill2mcp는 다음과 같은 계층적 파이프라인을 통해 그 간극을 메워줍니다:
마크다운을 안정적인 중간 표현(IR)으로 파싱
IR을 MCP 도구 정의로 변환
핸들러 스텁이 포함된 배포 가능한 MCP 서버 패키지 생성
Related MCP server: Skillz
현재 상태
MVP가 구현되어 작동 중입니다:
결정론적 파서(
strict,tolerant)누락된 메타데이터를 위한 계단식 의미론적 모드(
semantic)도구 변환(
SchemaBuilder,ToolMapper,ToolValidator)MCP 스타일의 도구 JSON을 포함한
inspect출력배포 가능한 MCP 서버 패키지를 포함한
build출력생성된 서버는
stdio+http지원반복적인 재생성을 위한
build --watch지원
설치
요구 사항
Node.js 20+
npm 10+
로컬 설치
npm installCLI 빌드
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 /mcpCLI 참조
parse
SKILL 마크다운을 IR JSON으로 변환합니다.
skill2mcp parse <input> [--mode strict|tolerant|semantic]인자:
<input>:.md파일 또는 디렉토리 경로
옵션:
--mode: 파서 모드(tolerant기본값)--format: 현재json
출력:
파싱된
SkillDocument를 포함한results[]소스 파일별
diagnostics[]
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_*코드)
semantic을 위한 OpenRouter 설정
환경 변수:
OPENROUTER_API_KEY: 원격 의미론적 추출 활성화OPENROUTER_MODEL(선택 사항): 기본값anthropic/claude-3.5-sonnetSKILL2MCP_CACHE_DIR(선택 사항): 캐시 디렉토리 재정의OPENROUTER_HTTP_REFERER(선택 사항): OpenRouter 헤더로 전달OPENROUTER_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 명령어 출력 계약
엔드투엔드 빌드 아티팩트 생성
엔지니어링 관례
AGENTS.md의 저장소 협업 규칙 준수제품/비즈니스 지침은
ROADMAP.md에 따름커밋 메시지는 AI가 생성한 경우
[AI]접두사 사용 필수
릴리스 아티팩트
이 저장소는 다음을 포함합니다:
이중 라이선스 배포:
MIT OR Apache-2.0CHANGELOG.mdCONTRIBUTING.mdRELEASE_CHECKLIST.md
협업 모델
거버넌스 및 결정 규칙:
GOVERNANCE.md행동 강령:
CODE_OF_CONDUCT.md보안 보고:
SECURITY.md지원 채널:
SUPPORT.md
알려진 제한 사항
매개변수 파싱은 현재
## 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