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功能)
- 黑曜石保险库(如果使用黑曜岩功能)
安装
- 克隆存储库:
git clone https://github.com/yourusername/nexus-mcp.git
cd nexus-mcp- 使用Poetry安装依赖项:
poetry install- 设置Google日历API:
- 转到 谷歌云控制台 - 创建新项目或选择现有项目 - 启用Google日历API - 创建OAuth 2.0凭据 - 下载凭据并将其另存为 credentials.json 在项目根中
- 设置Trello API(可选):
- 首选 Trello开发者门户 - 获取API密钥和令牌 - 将它们添加到环境变量或配置文件中
配置
- 运行初始设置以使用Google日历进行身份验证:
poetry run python main.py- 这将打开一个浏览器窗口进行谷歌身份验证 - 按照提示授权应用程序
用法
- 启动服务器:
poetry run python main.py- 服务器将启动并准备接受MCP兼容的客户端连接。
- 使用任何兼容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风格指南
贡献
- 分叉存储库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
