个人助理服务器

一个强大的个人助理MCP服务器,集成了Google日历、Obsidian Vault、Trello和网页解析功能,提供统一的数字生活管理界面。

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

使用说明

Nexus MCP

A powerful personal assistant MCP server that integrates with various services including Google Calendar, Obsidian Vault, Trello, and web page parsing capabilities. Built using FastMCP, this server provides a unified interface for managing your digital life.

特性

  • 谷歌日历集成

    • 创建、读取、更新和删除日历事件
    • 列出即将举行的活动
  • 黑曜石金库管理

    • 创建、阅读、更新和删除笔记
    • 笔记中的全文搜索
    • 文件夹管理(创建、删除、搜索、列表)
  • Trello集成

    • 板、列表和卡管理
    • 创建、更新和删除卡片
    • 按文本查询搜索卡片
  • 网页解析

    • 从任何URL提取和清理HTML内容
  • 谷歌新闻搜索

    • 搜索给定主题的最新新闻文章

加入我 电报 和 博客

先决条件

  • Python 3.10或更高版本
  • Poetry(Python包管理器)
  • Google日历API凭证
  • Trello API证书(如果使用Trello功能)
  • 黑曜石保险库(如果使用黑曜岩功能)

安装

  1. 克隆存储库:

    git clone https://github.com/yourusername/nexus-mcp.git
    cd nexus-mcp
    
  2. 使用Poetry安装依赖项:

    poetry install
    
  3. 设置Google日历API:

    • 转到 谷歌云控制台
    • 创建新项目或选择现有项目
    • 启用Google日历API
    • 创建OAuth 2.0凭据
    • 下载凭据并将其另存为 credentials.json 在项目根中
  4. 设置Trello API(可选):

配置

  1. 运行初始设置以使用Google日历进行身份验证:
    poetry run python main.py
    
    • 这将打开一个浏览器窗口进行谷歌身份验证
    • 按照提示授权应用程序

用法

  1. 启动服务器:

    poetry run python main.py
    
  2. 服务器将启动并准备接受MCP兼容的客户端连接。

  3. 使用任何兼容MCP的客户端与服务器交互。服务器提供以下工具:

    • 日历管理
    • 黑曜石金库操作
    • Trello董事会管理
    • 网页解析

拟人克劳德桌面配置

要将此服务器与Anthropic Claude Desktop一起使用,请将以下配置添加到您的Claude Desktop设置中:

{
   "mcpServers": {
      "personal-assistant": {
         "command": "/path/to/your/venv/bin/python",
         "args": ["/path/to/your/project/main.py"],
         "env": {
                 "GOOGLE_CREDENTIALS_PATH": "/path/to/your/credentials.json",
                 "GOOGLE_TOKEN_PATH": "/path/to/your/token.json",
                 "GOOGLE_API_KEY": "your_google_api_key",
                 "GOOGLE_CX_ID": "your_google_cx_id",
                 "OBSIDIAN_VAULT_PATH": "/path/to/your/obsidian/vault",
                 "OBSIDIAN_DEFAULT_FOLDER": "your_default_folder",
                 "TRELLO_API_KEY": "your_trello_api_key",
                 "TRELLO_TOKEN": "your_trello_token",
                 "LOG_PATH": "/path/to/log.txt",
                 "ENABLE_OBSIDIAN_TOOLS": "True/False",
                 "ENABLE_TRELLO_TOOLS": "True/False",
                 "ENABLE_CALENDAR_TOOLS": "True/False",
                 "ENABLE_NEWS_SEARCH": "True/False",
                 "ENABLE_WEB_PARSER": "True/False",
                 "SEMANTIC_SEARCH_ENABLED": "True/False",
                 "EMBEDDINGS_PATH": "/path/to/embeddings.json"
         }
      }
   }
}

将路径和凭据替换为实际值:

  • command:Python虚拟环境的Python可执行文件的路径
  • args:项目的路径 main.py 文件
  • ENABLE_OBSIDIAN_TOOLS:设置为 True 启用黑曜石工具
  • ENABLE_TRELLO_TOOLS:设置为 True 启用Trello工具
  • ENABLE_CALENDAR_TOOLS:设置为 True 启用Google日历工具
  • ENABLE_NEWS_SEARCH:设置为 True 启用Google新闻搜索
  • ENABLE_WEB_PARSER:设置为 True 启用web解析器工具
  • GOOGLE_CREDENTIALS_PATH:您的Google日历凭据文件的路径(credentials.json)
  • GOOGLE_TOKEN_PATH:您的Google日历令牌文件的路径(token.json)
  • GOOGLE_API_KEY:您的Google API密钥(用于自定义搜索API)
  • GOOGLE_CX_ID:您的Google可编程搜索引擎ID(用于自定义搜索API的CX ID)
  • OBSIDIAN_VAULT_PATH:通往黑曜石金库的路径
  • OBSIDIAN_DEFAULT_FOLDER:vault中创建新笔记的默认文件夹的可选路径
  • TRELLO_API_KEY:您的Trello API密钥
  • TRELLO_TOKEN:您的Trello API代币
  • LOG_PATH:日志文件的路径
  • SEMANTIC_SEARCH_ENABLED:设置为 True 启用黑曜石保险库的语义搜索
  • SIMILARITY_TRESHOLD:默认值为0.5,这是语义搜索的阈值
  • EMBEDDINGS_PATH:黑曜石矢量搜索插件生成的嵌入json文件的可选路径(默认为 .obsidian/plugins/vector-search/data.json 相对于 OBSIDIAN_VAULT_PATH 如果未设置)
  • MODEL_TOKEN_LIMIT:AI模型理解何时对笔记进行分组的限制
  • CHUNK_SIZE_TOKENS:块大小

要启用语义搜索功能,您需要安装 矢量搜索插件 对于黑曜石。

重新索引过程完成后,插件将在以下位置生成一个包含向量嵌入的JSON文件:

.obsidian/plugins/vector-search/data.json

此文件将用作语义搜索查询的嵌入源。

推荐客户:

发展

  • 该项目使用Poetry进行依赖关系管理
  • 所有工具均已注册 main.py
  • 服务特定的实现在 services/ 目录
  • Python代码遵循PEP 8风格指南

贡献

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add some amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求