MCP代理基础
作为MCP(模型上下文协议)服务器公开的AI代理。
概述
该项目提供了一个AI驱动的代理,可以:
- 读取本地文件
- 从URL获取内容
- 总结内容
- 回答问题并执行任务
代理作为MCP服务器公开,使其可供任何兼容MCP的客户端(VS Code、Claude Desktop等)访问。
先决条件
- Python 3.13+
- 紫外线 -Python包管理器
- 无烟煤API键 -AI代理需要
- Node.js (可选)-使用Readability.js进行更好的URL内容提取
安装
uv sync用法
运行代理(独立)
uv run main.py作为MCP服务器运行
uv run python mcp_server.py可用工具
MCP服务器公开了以下工具:
| 工具 | 说明 | 参数 |
|---|---|---|
read_file | 读取本地文件的内容 | file_path (必填) |
fetch_url | 从URL获取内容 | url (必填) |
summarize | 将内容总结成简洁的格式 | content (必填), max_length (可选,默认值:280) |
ask_agent | 向AI代理询问任何问题或任务 | prompt (必填) |
配置
VS Code
添加到 .vscode/mcp.json 在您的工作空间中:
{
"servers": {
"mcp-basic-agent": {
"type": "stdio",
"command": "uv",
"args": ["run", "python", "mcp_server.py"],
"cwd": "E:\\Programming\\MCP-Agent-Basic"
}
}
}克劳德桌面版
添加到您的Claude Desktop配置中:
{
"mcpServers": {
"mcp-basic-agent": {
"command": "uv",
"args": ["run", "python", "mcp_server.py"],
"cwd": "/path/to/MCP-Agent-Basic"
}
}
}环境变量
在中设置API密钥 mcp_agent.secrets.yaml:
anthropic:
api_key: "your-api-key-here"或者作为环境变量:
ANTHROPIC_API_KEY-适用于克劳德模特
故障排除
Node.js警告
如果你看到关于找不到Node.js的警告,fetch服务器将使用基于Python的文章提取,而不是Readability.js。这仍然有效,但可能会产生略有不同的结果。安装Node.js v10+以获得最佳的URL获取。
MCP协议问题
服务器登录到stderr,以避免干扰stdout上的MCP JSON-RPC协议。检查VS Code中的输出面板(从下拉列表中选择“MCP”)以获取调试信息。
