内容
# MCP服务器模板Python版
一个非常简单的Python模板,用于使用Streamable HTTP传输构建MCP服务器。
## 概述
该模板为创建可以与AI助手和其他MCP客户端通信的MCP服务器提供了一个基础。它包含一个简单的HTTP服务器实现,以及示例工具、资源和提示,帮助您快速开始构建自己的MCP集成。
## 部署
使用以下按钮克隆仓库并直接将服务器部署到Alpic:
[](https://app.alpic.ai/new/clone?repositoryUrl=https%3A%2F%2Fgithub.com%2Falpic-ai%2Fmcp-server-template-python)
## 前置条件
- 安装uv(https://docs.astral.sh/uv/getting-started/installation/)
## 安装
1. 克隆仓库:
```bash
git clone git@github.com:alpic-ai/mcp-server-template-python.git
cd mcp-server-template-python
```
2. 安装Python版本和依赖:
```bash
uv python install
uv sync --locked
```
## 使用
在端口3000上启动服务器:
```bash
uv run main.py
```
## 运行检查器
### 要求
- Node.js: ^22.7.5
### 快速开始(UI模式)
要立即开始使用UI,只需执行以下操作:
```bash
npx @modelcontextprotocol/inspector
```
检查器服务器将启动,UI将在http://localhost:6274上可访问。
您可以通过选择以下选项在本地测试服务器:
- 传输类型:Streamable HTTP
- URL:http://127.0.0.1:3000/mcp
## 开发
### 添加新工具
要添加新工具,请修改`main.py`:
```python
@mcp.tool(
title="您的工具名称",
description="LLM的工具描述",
)
async def new_tool(
tool_param1: str = Field(description="LLM的参数1描述"),
tool_param2: float = Field(description="LLM的参数2描述")
)-> str:
"""新工具的底层方法"""
result = await some_api_call(tool_param1, tool_param2)
return result
```
### 添加新资源
要添加新资源,请修改`main.py`:
```python
@mcp.resource(
uri="your-scheme://{param1}/{param2}",
description="此资源提供的描述",
name="您的资源名称",
)
def your_resource(param1: str, param2: str) -> str:
"""资源模板实现"""
# 您的资源逻辑在此
return f"{param1}和{param2}的资源内容"
```
URI模板使用`{param_name}`语法定义参数,这些参数将从资源URI中提取并传递给您的函数。
### 添加新提示
要添加新提示,请修改`main.py`:
```python
@mcp.prompt("")
async def your_prompt(
prompt_param: str = Field(description="用户参数描述")
) -> str:
"""生成一个有用的提示"""
return f"你是一个友好的助手,请帮助用户并不要忘记{prompt_param}。"
```