关于 MB_MCP (Model Context Protocol)
MB_MCP 是一个 Python 包,通过 MCP 将 Slack、Google Drive、GitHub、Atlassian 和 PostgreSQL 等服务接入 Claude 及其他大模型。它提供 Web 仪表板和可编程连接器。
主要功能
- 01提供 Slack 和 Google Drive 连接器
- 02提供 GitHub 和 Atlassian 连接器
- 03支持 PostgreSQL 和 Brave Search
- 04通过 Web 仪表板查询服务
- 05使用环境配置凭据
适用场景
- 01通过 Web 仪表板查询已连接服务
- 02使用服务连接器构建应用
- 03将 Slack 或 GitHub 数据用于大模型
MCP 相关
该包通过 MCP 将服务连接器与 Claude 及其他大模型集成,也包含 MCP 服务实现,包括本地文本格式化服务。
详细介绍
MB_MCP (Model Context Protocol)
一个用于通过 Model Context Protocol (MCP) 将各种服务与 Claude 和其他大模型集成的 Python 包。
概述
MB_MCP 提供了各种服务的连接器,如 Slack、Google Drive、GitHub、Atlassian、PostgreSQL 等。它允许您通过统一的接口构建利用这些服务的应用程序,使创建强大的 AI 助手应用程序变得容易。
功能
-
多个服务连接器:
- Slack
- Google Drive
- GitHub
- Atlassian (Confluence & Jira)
- PostgreSQL
- Brave Search
- Formatter
-
Web 仪表盘:用于查询服务的简单 Web 界面
-
基于环境变量的配置:所有 API 密钥和凭证都存储在
.env文件中以保证安全
安装
前置条件
- Python 3.8 或更高版本
- Docker(用于运行某些服务)
设置
-
克隆存储库:
git clone https://github.com/bigmb/mb_mcp.git cd mb_mcp -
安装包:
pip install -e . -
设置环境变量:
cp .env.example .env编辑
.env文件并添加你的 API 密钥和凭证。
配置
以下环境变量需要在 .env 文件中设置:
API 密钥
ANTHROPIC_API_KEY=your_anthropic_api_key
OPENAI_API_KEY=your_openai_api_key
GOOGLE_API_KEY=your_google_api_key
Slack 配置
SLACK_BOT_TOKEN=your_slack_bot_token
SLACK_APP_TOKEN=your_slack_app_token
SLACK_TEAM_ID=your_slack_team_id
PostgreSQL 配置
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
POSTGRES_DB=postgres
PG_CONNECTION_STRING=postgresql://host.docker.internal:5432/mydb
Google Drive 配置
GDRIVE_CREDENTIALS_PATH=/path/to/your/gdrive/credentials.json
GitHub 配置
GITHUB_PERSONAL_ACCESS_TOKEN=your_github_token
Atlassian 配置
# For Confluence Cloud
CONFLUENCE_URL=https://your-domain.atlassian.net/wiki
[email protected]
CONFLUENCE_API_TOKEN=your_api_token
# For Jira Cloud
JIRA_URL=https://your-domain.atlassian.net
[email protected]
JIRA_API_TOKEN=your_api_token
Brave Search 配置
BRAVE_API_KEY=your_brave_api_key
使用
运行 Web 仪表盘
python -m mb_mcp.app
这将在 http://localhost:5000 启动一个 Flask 服务器,你可以在这里与服务交互。
以编程方式使用连接器
import asyncio
from mb_mcp.slack_connecter import run_app as run_slack_app
async def main():
question = "Provide the recent updates in the channel in proper format: <channel_id>"
result = await run_slack_app(question)
print(result['messages'][-1].content)
if __name__ == "__main__":
asyncio.run(main())
开发
项目结构
mb_mcp/:主包目录app.py:Flask Web 应用程序*_connecter.py:针对不同服务的连接器模块formatter_server.py:用于文本格式化的本地 MCP 服务
query_dashboard/:Web 仪表盘前端servers/:MCP 服务实现。Docker 镜像从这里构建。mcp_servers (Anthropic MCP 的服务)
许可证
MIT
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。