用于测试的模拟MCP服务器
一个超级简单的模拟MCP服务器,您的团队可以轻松修改它,与您的代理一起测试不同的工具。
设置
先决条件
- Python 3.10+
- 紫外线 包管理器
安装
- 克隆存储库:
git clone https://github.com/Jacob-Haynes/mcp-test-agent.git
cd mcp-test-agent- 创建虚拟环境并安装依赖项:
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -r requirements.txt- 设置环境变量:
cp .env.example .env编辑 .env 并添加您的凭据:
GOOGLE_CLOUD_PROJECT-您的GCP项目IDOPENAI_API_KEY-您的OpenAI API密钥
运行代理
从项目根目录使用ADK web界面启动代理:
adk web这将启动一个web UI,您可以在其中与配备模拟MCP工具的代理进行交互。
快速开始
代理已配置为在中使用模拟MCP服务器 mock_mcp_server.py。只需运行代理程序,它就可以访问模拟工具!
如何添加/修改工具
打开 mock_mcp_server.py 并寻找 TOOLS 部分。都在那里!
添加新工具
- 写下你的工具函数:
async def my_new_tool(param1: str, param2: int) -> str:
"""Your tool logic here"""
return f"Result: {param1} - {param2}"- 将其添加到工具列表中:
TOOLS = [
# ... existing tools ...
(
my_new_tool, # Your function
"my_new_tool", # Tool name the agent sees
"Description of what this tool does",
{
"type": "object",
"properties": {
"param1": {
"type": "string",
"description": "First parameter"
},
"param2": {
"type": "number",
"description": "Second parameter"
}
},
"required": ["param1", "param2"]
}
),
]就是这样!重新启动代理,它将具有新工具。
修改现有工具
只需在中直接编辑该函数 mock_mcp_server.py例如,要更改天气响应:
async def get_weather(city: str) -> str:
# Change this to return whatever you want!
return f"The weather in {city} is rainy and 45°F"拆卸工具
只需从中删除或注释掉该工具 TOOLS 列表。
示例工具包括
- get_weather -返回模拟天气数据
- 计算 -执行基本的数学运算
- get_user_info -从字典中返回模拟用户数据
- send_邮件 -模拟发送电子邮件
测试模拟服务器
您可以直接测试模拟服务器:
python3 mock_mcp_server.py它将通过stdin/stdout等待MCP命令。
提示
- 保持工具功能简单且专注
- 从工具函数返回字符串
- 使用async/await(只需添加
async之前def) - 模拟数据可以在函数中硬编码,也可以在文件顶部定义
- 参数模式遵循JSON模式格式
