使用说明
MCP服务器模板
用于构建Python MCP服务器的最小、生产就绪的样板。在30分钟内构建您的第一个MCP服务器。
什么是MCP?
模型上下文协议(MCP)是Claude连接到外部工具的方式。MCP服务器描述了Claude可以调用的“工具”,比如检查日历、查询数据库或创建发票。
把它想象成人工智能的USB端口。你插入服务器,克劳德获得了一种新的能力。
此模板中有什么
mcp-server-template/
├── src/
│ └── my_mcp_server/
│ ├── __init__.py # Package init
│ ├── __main__.py # Entry point
│ └── server.py # MCP server with example tools
├── tests/
│ └── test_server.py # Example tests
├── pyproject.toml # Package config (ready for PyPI)
├── README.md # This file
└── LICENSE # MIT
快速开始
1.克隆和重命名
git clone https://github.com/NyxToolsDev/mcp-server-template.git my-mcp-server
cd my-mcp-server
2.安装依赖项
python -m venv venv
venv\Scripts\activate # Windows
# source venv/bin/activate # Mac/Linux
pip install -e ".[dev]"
3.运行服务器
python -m my_mcp_server
4.添加到克劳德代码
添加到您的Claude Code MCP配置中(~/.claude/mcp_servers.json):
{
"my-mcp-server": {
"command": "python",
"args": ["-m", "my_mcp_server"],
"env": {}
}
}
重新启动克劳德代码。您的工具现在可用。
如何添加自己的工具
打开 src/my_mcp_server/server.py。您将看到一个示例工具:
@server.tool()
async def hello(name: str) -> str:
"""Say hello to someone."""
return f"Hello, {name}!"
要添加新工具,请执行以下操作:
- 编写一个带有类型提示和docstring的函数
- 用
@server.tool() - 克劳德会自动发现的
docstring是至关重要的-它告诉克劳德何时以及如何使用该工具。具体点。
示例:天气工具
@server.tool()
async def get_weather(city: str) -> str:
"""Get current weather for a city. Use when the user asks about weather conditions."""
async with httpx.AsyncClient() as client:
resp = await client.get(f"https://api.weather.com/{city}")
data = resp.json()
return f"{city}: {data['temp']}°F, {data['condition']}"
示例:数据库查询工具
@server.tool()
async def query_users(search: str) -> str:
"""Search for users by name or email. Returns matching user records."""
results = db.users.find({"$text": {"$search": search}})
return json.dumps(results, indent=2)
良好MCP服务器的提示
-
工具描述比代码更重要。 如果Claude不明白何时使用工具,那么完美的实现是无用的。
-
返回字符串,而不是对象。 MCP工具返回Claude读取的文本。将输出格式化为可读文本或JSON字符串。
-
优雅地处理错误。 以字符串形式返回错误消息——不要让异常导致服务器崩溃。
-
保持工具专注。 一个工具=一个动作。不要制造一个“无所不能”的工具
-
与克劳德一起测试。 真正的考验是克劳德是否在正确的时间选择了正确的工具。
发布到PyPI
当您的服务器准备就绪时:
- 更新
pyproject.toml包含您的包名称、描述和URL - 构建:
python -m build - 上传:
twine upload dist/*
想要生产就绪的MCP服务器?
此模板可帮助您开始。对于具有完全身份验证、错误处理、高级功能和文档的生产MCP服务器:
- Calendary MCP服务器 --Claude的日历管理
- QuickBooks MCP服务器 --简明英语财务查询
- DICOM/HL7 MCP服务器 --医疗保健互操作性
全开源(MIT)。免费核心+高级功能。
由...建造 NyxTools ·NyxTools