MCP个人助理代理
使用模型上下文协议(MCP)构建的多功能个人助理AI代理,可帮助处理日历、任务、电子邮件等。
概述
该项目是一个模型上下文协议(MCP)服务器,为个人助理代理提供了一组工具。它可以与Claude for Desktop等MCP客户端集成,使AI助手能够:
- 管理日历事件
- 跟踪任务和待办事项
- 阅读和发送电子邮件
- 搜索网络并检索信息
- 控制智能家居设备
需求
⚠️ 重要: MCP SDK需要Python 3.10或更高版本。服务器将无法与早期Python版本一起使用。
- Python 3.10+
- MCP SDK 1.2.0+
- 必需的Python包(见requirements.txt)
安装
- 克隆存储库:
git clone https://github.com/yourusername/mcp-pa-ai-agent.git
cd mcp-pa-ai-agent- 确保你有Python 3.10+:
python --version- 如果您的系统Python版本低于3.10,请设置一个兼容的环境:
# Using conda
conda create -n mcp-env python=3.10
conda activate mcp-env
# OR using venv (if Python 3.10+ is installed elsewhere)
python3.10 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- 安装依赖项:
pip install -r requirements.txt- 通过复制示例文件配置环境变量:
cp .env.example .env- 编辑
.env使用API凭据和设置创建文件。
运行服务器
使用以下命令启动MCP服务器:
python mcp_server.py服务器将启动并监听MCP客户端连接。
连接到Claude for Desktop
- 安装 桌面版Claude
- 通过编辑以下位置的配置文件,配置Claude for Desktop以使用此MCP服务器:
- MacOS/Linux: ~/Library/Application Support/Claude/claude_desktop_config.json - 窗户: %APPDATA%\Claude\claude_desktop_config.json
- 添加以下配置:
{
"mcpServers": {
"personal-assistant": {
"command": "/path/to/python",
"args": [
"/absolute/path/to/mcp-pa-ai-agent/mcp_server.py"
]
}
}
}如果您使用的是虚拟环境,请确保指向该环境中的Python可执行文件。
- 重新启动桌面版的Claude
可用工具
日历
get_events:检索即将到来的日历事件create_event:安排新的日历活动
任务
list_tasks:查看所有任务或按状态筛选add_task:创建新任务update_task_status:将任务标记为待处理、正在进行或已完成
电子邮件
get_emails:列出收件箱中最近的电子邮件read_email:查看特定电子邮件的完整内容send_email:撰写并发送新电子邮件
知识
web_search:在网上搜索信息get_weather:获取当前天气信息get_news:检索最新新闻文章
智能家居
list_devices:查看所有智能家居设备control_device:控制智能家居设备(灯、恒温器等)get_device_state:获取有关设备当前状态的详细信息
配置
服务器需要各种API密钥和凭据才能访问不同的服务:
- 谷歌API:用于日历和电子邮件功能(OAuth2凭据)
- 天气API:获取天气信息
- 新闻API:用于新闻检索
- 家庭助手:用于智能家居控制
请参阅 .env.example 所有可配置选项的文件。
故障排除
Python版本问题
如果您看到以下错误:
Error: Python 3.10 or higher is required for the MCP server.您需要升级Python版本或使用Python 3.10+的虚拟环境。
MCP SDK安装问题
如果您在安装MCP SDK时遇到问题:
ERROR: Could not find a version that satisfies the requirement mcp>=1.2.0请确保您使用的是Python 3.10+,并且pip已更新:
pip install --upgrade pip发展
要向服务器添加新功能,您可以:
- 在中创建新模块
modules/目录 - 使用
@mcp.tool()装饰器 - 将模块导入
mcp_server.py
