个人助手功能服务器集合

一组提供天气、邮件、股票、新闻、任务管理和文件系统操作等功能的个人助手服务,可与Claude Desktop等MCP兼容客户端集成。

  • by AxelReich
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 AxelReich/mcp-personal-assistant

使用说明

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.配置克劳德桌面

  1. 安装克劳德桌面
  2. 打开设置→ 开发者
  3. 点击“编辑配置”打开 mcp.config.json
  4. 添加要使用的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

看 许可证 文件以获取详细信息。