使用说明
CEN4090L G26项目-个人助理MCP
该存储库包含CEN4090L Group 26项目,这是一组模型上下文协议(MCP)服务器,为个人助理系统提供各种工具。每个MCP服务器都提供专门的功能,可以与Claude Desktop和其他MCP兼容客户端集成。
需求
- Python 3.11或更高版本
- 紫外线 包管理器
依赖关系是单独管理的 pyproject.toml 每个MCP服务器目录中的文件。
可用的MCP服务器
1. 天气信息
使用AccuWeather API提供天气信息。
工具:
get_current_weather(city)-获取城市的当前天气状况get_weather_forecast(city)-获取一个城市的5天天气预报
设置:
- 需要
API_KEY环境变量(AccuWeather API键) - 依赖关系:
aiohttp,python-dotenv,fastmcp
配置:
"Weather-Info": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/Personal-Assistant-MCP/Weather-Info",
"run",
"main.py"
]
}
2. Gmail MCP
Gmail和谷歌日历集成,用于管理电子邮件和日历事件。
工具:
-
Gmail:
gmail_send(to, subject, body, html)-发送电子邮件gmail_search(query, limit)-使用Gmail查询语法搜索电子邮件gmail_delete_tool(message_id, permanent)-删除或回收邮件gmail_list_unread_tool(limit, in_inbox)-列出未读邮件gmail_reply_tool(thread_id, body, html, reply_all)-回复电子邮件帖子
-
日历:
calendar_list_tool(limit)-列出即将到来的日历事件calendar_create_tool(summary, start_time, duration_minutes, description, location)-创建日历事件calendar_delete_tool(event_id)-删除日历事件
设置:
- 需要Google OAuth凭据(
credentials.json) - 令牌存储在
token.json(首次运行时自动生成) - 依赖关系:
google-api-python-client,google-auth-oauthlib,fastmcp,python-dotenv
配置:
"Gmail-Tools": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/Personal-Assistant-MCP/Gmail-MCP",
"run",
"main.py"
]
}
3. 库存MCP
使用AlphaVantage API的股票市场信息。
工具:
global_quote(symbol)-获取最新股票报价time_series_daily(symbol, adjusted, outputsize)-获取每日时间序列数据rsi(symbol, interval, time_period, series_type)-计算RSI技术指标
设置:
- 需要
STOCK_API环境变量(AlphaVantage API密钥) - 依赖关系:
fastmcp,python-dotenv,requests
配置:
"Stock-MCP": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/Personal-Assistant-MCP/Stock-MCP",
"run",
"stockinfo.py"
]
}
4. MCP新闻
使用NewsAPI的最新新闻文章。
工具:
get_latest_news(query, hours, max_results, language)-获取有关某个主题的最新新闻文章get_headlines(country, category, max_results)-按国家/类别获取头条新闻
设置:
- 需要
NEWS_API_KEY环境变量(NewsAPI密钥) - 依赖关系:
fastmcp,python-dotenv,aiohttp
配置:
"News-MCP": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/Personal-Assistant-MCP/News-MCP",
"run",
"news_mcp/main.py"
]
}
5. MCP用户新闻
使用谷歌新闻RSS的替代新闻提供商(无需API密钥)。
工具:
get_latest_news_about(query, max_results, hl, gl, ceid)-从谷歌新闻RSS获取最新消息
设置:
- 不需要API密钥
- 依赖关系:
fastmcp,aiohttp,feedparser
配置:
"News-MCP-User": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/Personal-Assistant-MCP/News-MCP-User",
"run",
"news_user/main.py"
]
}
6. 任务管理器MCP
具有本地JSON存储的任务管理系统。
工具:
task_add(description, due_date)-添加新任务task_list()-列出所有任务task_delete(task_id)-删除任务task_complete(task_id)-将任务标记为已完成
设置:
- 无外部依赖(使用本地JSON文件存储)
- 依赖关系:
fastmcp
配置:
"TaskManager-Tools": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/Personal-Assistant-MCP/TaskManager-MCP",
"run",
"main.py"
]
}
7. 文件系统MCP
具有安全控制和.gitignore支持的文件系统操作。
工具:
list_directory(path, recursive)-列出文件和目录read_file(path)-读取文件内容write_file(path, content, create_dirs)-写入/创建文件create_directory(path, create_parents)-创建目录delete_path(path, recursive)-删除文件或目录copy_path(source_path, destination_path)-复制文件/目录move_path(source_path, destination_path)-移动/重命名文件/目录move_files_by_pattern(file_pattern, destination_folder, source_path)-移动与模式匹配的文件search_files(query, file_pattern)-在文件中搜索文本
设置:
- 需要根目录路径作为命令行参数
- 尊重
.gitignore模式 - 依赖关系:
mcp-server,pathspec
配置:
"FileSystem-Tools": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/Personal-Assistant-MCP/filesystem-MCP",
"run",
"main.py",
"/absolute/path/to/allowed/directory"
]
}
安装说明
先决条件
重要提示: 确保将项目安装在根目录中。将其安装在以下路径中 /onedrive/project 可能会导致问题。将其保存到桌面或类似位置。
1.克隆存储库
git clone https://github.com/YOUR_USERNAME/CEN4090L-PROJECT-G26.git
cd CEN4090L-PROJECT-G26/Personal-Assistant-MCP
2.为每个MCP服务器安装依赖项
对于要使用的每个MCP服务器,导航到其目录并安装依赖项:
cd <MCP-SERVER-NAME>
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -e .
3.配置环境变量
创建 .env 目录中需要API密钥的文件:
- 天气信息:
API_KEY=your_accuweather_key - 库存MCP:
STOCK_API=your_alphavantage_key - MCP新闻:
NEWS_API_KEY=your_newsapi_key - Gmail MCP:需要
credentials.json对于OAuth(请参阅谷歌云控制台)
4.配置克劳德桌面
- 安装克劳德桌面
- 打开设置→ 开发者
- 点击“编辑配置”打开
mcp.config.json - 添加要使用的MCP服务器(见上面的示例)
完整示例配置:
{
"mcpServers": {
"Weather-Info": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/Personal-Assistant-MCP/Weather-Info",
"run",
"main.py"
]
},
"Gmail-Tools": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/Personal-Assistant-MCP/Gmail-MCP",
"run",
"main.py"
]
},
"Stock-MCP": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/Personal-Assistant-MCP/Stock-MCP",
"run",
"stockinfo.py"
]
}
}
}
5.验证安装
在Claude Desktop中,您应该看到配置的MCP服务器正在运行。您还可以使用以下方法进行测试:
mcp dev <path/to/main.py>
这允许您查看API调用是否正常工作。
添加新的MCP服务器
添加与现有服务器无关的新MCP服务器时:
1.初始化项目
cd Personal-Assistant-MCP
uv init <MCP-SERVER-NAME>
cd <MCP-SERVER-NAME>
uv venv
source .venv/bin/activate
2.开发您的MCP服务器
- 创建您的
main.py使用FastMCP服务器 - 使用定义您的工具
@mcp.tool()装饰器 - 向添加依赖项
pyproject.toml
3.安装依赖项
uv pip install -e .
4.添加到Claude桌面配置
将新的MCP服务器添加到 mcp.config.json:
{
"mcpServers": {
"Your-MCP-Name": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/Personal-Assistant-MCP/<MCP-SERVER-NAME>",
"run",
"main.py"
]
}
}
}
调试
要调试MCP服务器,请使用:
cd <MCP-SERVER-DIRECTORY>
mcp dev main.py
这将实时显示API调用和任何错误。
许可证
麻省理工学院许可证 - 版权所有 (c) 2025 Axel Reich
看 许可证 文件以获取详细信息。