Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/tomevault-io/skills-registry --skill mcp-server-dev명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
| name | mcp-server-dev |
| description | > Use when this capability is needed. |
Create multi-tool MCP servers in Python or TypeScript that follow the Model Context Protocol specification and Anthropic's tool design best practices.
An MCP server is a process that exposes one or more tools (and optionally resources and prompts) over the Model Context Protocol. Servers communicate via stdio transport — they read JSON-RPC from stdin and write responses to stdout.
MCP servers are how you package and distribute tool capabilities. An LLM client (Claude Code, Claude Desktop, etc.) starts the server process and calls its tools.
uvx or npx)mcp-tool-dev skill)| Factor | Python (FastMCP) | TypeScript (@modelcontextprotocol/sdk) |
|---|---|---|
| Distribution | uvx (uv tool) | npx |
| Type system | Type hints + docstrings | Zod schemas |
| Packaging | pyproject.toml | package.json with bin |
| Async | Native async/await | Native async/await |
| Best for | Data science, Python tooling, API wrappers | Frontend tooling, Node.js ecosystem, npm distribution |
Choose Python when the tools interact with Python libraries or you prefer pyproject.toml packaging. Choose TypeScript when targeting the npm ecosystem or when tools interact with Node.js libraries.
List every tool with its name, description, parameters, and return format. Apply the consolidation principle: prefer fewer capable tools over many narrow ones.
For each tool, write the 3-4 sentence description (what, when to use, when NOT to use, behavior notes). This is the most important step — good descriptions prevent misuse.
Use the templates as starting points:
templates/mcp-server-python-template/templates/mcp-server-typescript-template/Core directory structure:
Python:
my-server/
├── pyproject.toml # uvx entry point
├── src/my_server/
│ ├── __init__.py
│ ├── server.py # FastMCP instance + tool registration
│ └── tools/ # One file per tool or tool group
│ └── search.py
├── tests/
│ ├── conftest.py
│ └── test_tools.py
└── README.md
TypeScript:
my-server/
├── package.json # npx entry point with bin
├── tsconfig.json
├── src/
│ ├── index.ts # Entry: CLI args, transport, shutdown
│ ├── server.ts # Tool registration
│ └── tools/
│ └── search.ts
├── tests/
│ └── tools.test.ts
└── README.md
Write each tool handler following the patterns in the language-specific reference:
references/python-server-patterns.mdreferences/typescript-server-patterns.mdKey principles for all tools:
Python (uvx): Set [project.scripts] in pyproject.toml:
[project.scripts]
my-server = "my_server.server:main"
TypeScript (npx): Set bin in package.json:
{
"bin": { "my-server": "dist/index.js" }
}
Implement graceful shutdown (SIGINT/SIGTERM handling). This is critical for clean process termination when the client disconnects.
Test at three levels:
See references/server-testing-guide.md for detailed patterns.
list_capabilities tool[project.scripts] or bin entry; server can't be installedFor detailed patterns per language, see the references/ directory.
Source: andisab/swe-marketplace — distributed by TomeVault.
SOC 직업 분류 기준