一个非常简单的Python模板,用于使用可流式传输的HTTP传输构建MCP服务器。
此模板提供了一个基础,用于创建可以与AI助手和其他MCP客户端通信的MCP服务器。它包括一个简单的HTTP服务器实现,以及示例工具、资源和提示,帮助您开始构建自己的MCP集成。
使用以下按钮克隆仓库并将服务器直接部署到Alpic
git clone git@github.com:alpic-ai/mcp-server-template-python.git
cd mcp-server-template-python
uv python install
uv sync --locked
在3000端口启动服务器:
uv run main.py
要立即通过UI运行,请执行以下操作:
npx @modelcontextprotocol/inspector
检查器服务器将启动,并且UI将在http://localhost:6274可用。
您可以通过选择以下内容来测试您的本地服务器:
要添加新工具,请修改main.py:
@mcp.tool(
title="您的工具名称",
description="LLM的工具描述",
)
async def new_tool(
tool_param1: str = Field(description="参数1的LLM描述"),
tool_param2: float = Field(description="参数2的LLM描述")
) -> str:
"""新工具的基础方法"""
result = await some_api_call(tool_param1, tool_param2)
return result
要添加新资源,请修改main.py:
@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:
@mcp.prompt("")
async def your_prompt(
prompt_param: str = Field(description="用户参数的描述")
) -> str:
"""生成有用的提示"""
return f"您是一个友好的助手,帮助用户并且不要忘记{prompt_param}。"