Vercel MCP Python服务器
使用Python和FastMCP构建的模型上下文协议(MCP)服务器,设计用于在Vercel的无服务器平台上运行。
项目结构
vercel-mcp-python/
├── api/
│ └── index.py # Main Vercel function
├── src/
│ └── mcp_server.py # Your MCP server logic
├── client-app/ # Interactive MCP client
│ ├── mcp_client.py # Rich client application
│ ├── requirements.txt # Client dependencies
│ ├── setup.py # Setup script
│ ├── README.md # Client documentation
│ └── run_client.bat # Windows launcher
├── requirements.txt # Server dependencies
├── vercel.json # Vercel configuration
└── README.md特性
此MCP服务器提供以下工具:
- 回声:回显提供的消息
- 获取时间:获取当前服务器时间
- add_numbers:将两个数字相加
- get_weather_info:获取某个地点的模拟天气信息
以及以下资源:
- config://server:服务器配置信息
先决条件
在设置项目之前,您需要安装Vercel CLI:
安装Vercel CLI
对于Windows上的Git Bash:
- 安装Node.js (如果尚未安装):
- 下载自
- 全局安装Vercel CLI:
npm install -g vercel- 验证安装:
vercel --version如果遇到PATH问题:
# Find npm global directory
npm config get prefix
# Add to PATH (add this to your ~/.bashrc)
export PATH=$PATH:$(npm bin -g)
source ~/.bashrc替代方法:
# Using npx (no global installation)
npx vercel
# Using yarn
yarn global add vercel设置
- 创建并激活虚拟环境 (推荐):
# Create virtual environment
python -m venv venv
# Activate virtual environment
# On Windows PowerShell:
.\venv\Scripts\Activate.ps1
# On Windows Git Bash:
source venv/Scripts/activate
# On macOS/Linux:
source venv/bin/activate- 安装依赖项:
pip install -r requirements.txt- 登录Vercel:
vercel login- 部署到Vercel:
vercel --prod地方发展
要在本地进行测试,您可以使用Vercel的开发服务器:
vercel devWindows问题疑难解答
备注:地方发展 vercel dev 由于运行时初始化错误,Windows上可能存在问题。这是一个已知的限制,不会影响生产部署。
如果您遇到以下问题 vercel dev:
解决方案1:直接部署(推荐)
vercel --prod您的服务器将在提供的Vercel URL上可用,并在生产中完美运行。
解决方案2:使用Python在虚拟环境中进行本地测试
# Activate virtual environment first
.\venv\Scripts\Activate.ps1 # Windows PowerShell
# or
source venv/Scripts/activate # Windows Git Bash
# Test MCP server functionality
python -c "
import sys, os
sys.path.append('src')
from mcp_server import mcp
import json
# Test echo tool
request = {
'jsonrpc': '2.0',
'id': 1,
'method': 'tools/call',
'params': {'name': 'echo', 'arguments': {'message': 'Hello from venv!'}}
}
response = mcp.handle_request(request)
print(json.dumps(response, indent=2))
"解决方案3:使用已部署的版本 部署后,您的服务器将在您的Vercel域中可用。
您可以通过以下方式进行测试:
- 在浏览器中打开URL
- 使用Postman或curl等工具
- 与MCP客户端连接
解决方案4:以管理员身份运行(如果需要)
- 关闭终端
- 右键单击Git Bash/PowerShell并选择“以管理员身份运行”
- 导航回您的项目:
cd /d/repos/vercel-mcp-python - 尝试
vercel dev再次
API终点
GET /:返回服务器信息和状态POST /:处理MCP协议请求OPTIONS /:处理CORS飞行前请求
依赖项
fastmcp>=0.15.0:用于构建MCP服务器的FastMCP框架uvicorn>=0.24.0:用于Python web应用程序的ASGI服务器python-json-logger>=2.0.0:Python应用程序的JSON日志记录
配置
服务器通过以下方式配置 vercel.json 与:
- Python运行时使用
@vercel/python - 最大执行时间30秒
- 为跨源请求启用CORS
- 自动路由到主处理程序
用法
部署后,您的MCP服务器将在您的Vercel域中可用。您可以使用任何兼容MCP的客户端连接到它。
使用附带的客户端应用程序
一个丰富的交互式客户端应用程序包含在 client-app/ 目录:
# Navigate to client directory
cd client-app
# Setup (first time only)
python setup.py
# Configure environment (optional)
cp .env.example .env
# Edit .env to customize server URL and settings
# Run the client
python mcp_client.py客户提供:
- 🔌 连接测试
- 🔧 交互式工具调用
- 📚 资源管理
- 🧪 所有工具的自动化测试
- 🎨 漂亮的控制台界面
看 client-app/README.md 了解详细的使用说明。
额外资源
- Vercel MCP文档 -Vercel关于模型上下文协议的官方文档
- MCP服务器存储库 -探索可用的MCP服务器
- AI SDK文档 -使用AI SDK初始化MCP客户端
许可证
麻省理工学院
