多平台知识库集成工具

一个全栈应用,集成Model Context Protocol(MCP)服务器与知识库界面,支持Google Drive、GitHub和Slack的连接,提供AI就绪的知识库功能。

  • by j584lee98
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 j584lee98/multi-platform-mcp-kb

使用说明

多平台MCP知识库

一个将模型上下文协议(MCP)服务器与知识库接口集成在一起的全栈应用程序。该项目演示了如何使用模型上下文协议构建一个连接到Google Drive、GitHub和Slack的AI就绪知识库。

技术栈

  • 前端:Next.js 15,顺风CSS v4,React 19
  • 后端:FastAPI、SQLAlchemy(异步)、PostgreSQL、LangChain、LangGraph
  • 主控程序python mcp SDK(FastMCP)、服务器发送事件(SSE)传输
  • 基础设施:Docker编写

建筑

  • frontend:Next.js应用程序,带有经过身份验证的侧边栏布局和实时连接状态指示器。
  • backend:FastAPI服务处理Auth(谷歌、GitHub、Slack OAuth)和由LangGraph支持的智能MCP代理。
  • mcp/google-drive:提供Google Drive工具的独立MCP服务器。
  • mcp/github:提供GitHub工具的独立MCP服务器。
  • mcp/slack:提供Slack工具的独立MCP服务器。
  • db:用于用户和令牌存储的PostgreSQL数据库。

截图

首页

Google Drive集成

连接

聊天

GitHub集成

连接

聊天

Slack集成

连接

聊天

特性

连接器和工具

1.谷歌云端硬盘

  • 列表和搜索:查找包含元数据(大小、修改时间、网络链接)的文件和文件夹。
  • 内容读取:从各种文件格式中提取文本:
    • 谷歌文档(.gdoc)
    • PDF(.pdf)
    • Word(.docx)
    • PowerPoint(.pptx)
    • Excel(.xlsx)
    • 文本文件(.txt, .json, .csv, .md等等)
  • 直接访问:直接在Google Drive中打开文件。

2.GitHub

  • 仓库:列出和搜索存储库。
  • 问题:列出未解决/已解决的问题。
  • 拉取请求:列出PR的状态和分支详细信息。
  • 分支:列出存储库分支。
  • 文件内容:从存储库读取代码/文本文件。

3.松弛

  • 频道:列出公共/私人频道和DM。
  • 用户:列出工作区用户以将ID映射到名称。
  • 历史:从频道获取消息历史记录。
  • 线程:检索深度上下文的完整线程回复。
  • 搜索:在工作区中搜索邮件。

设置

  1. 环境变量: 创建 .env 根目录中的文件(请参见 .env.example):

    DATABASE_URL=postgresql+asyncpg://user:password@db/mcpkb
    
    # Google OAuth
    GOOGLE_CLIENT_ID=your_google_client_id
    GOOGLE_CLIENT_SECRET=your_google_client_secret
    
    # GitHub OAuth
    GITHUB_CLIENT_ID=your_github_client_id
    GITHUB_CLIENT_SECRET=your_github_client_secret
    
    # Slack OAuth
    SLACK_CLIENT_ID=your_slack_client_id
    SLACK_CLIENT_SECRET=your_slack_client_secret
    

    注意:配置OAuth回调:

    • 谷歌 http://localhost:8000/auth/google/callback
    • github: http://localhost:8000/auth/github/callback
    • 松弛: http://localhost:8000/auth/slack/callback
  2. 松弛范围: 确保您的Slack应用程序具有以下用户令牌范围:

    • channels:history, channels:read
    • groups:history, groups:read
    • im:history, im:read
    • mpim:history, mpim:read
    • users:read
    • search:read
  3. 使用Docker运行:

    docker compose up -d --build
    
  4. 访问:

    • 前端:http://localhost:3000
    • 后端API:http://localhost:8000/docs

发展

我们提供 Makefile 简化常见任务。有关详细指南,请参阅 贡献.md.

# Start the application
make up

# Run linters (Ruff for Python, ESLint for Next.js)
make lint

# Run backend tests
make test

MCP集成

该项目使用模型上下文协议来标准化后端与外部服务的通信方式。每个服务(Google Drive、GitHub、Slack)都作为独立的MCP服务器容器运行。后端充当MCP客户端,通过SSE(服务器发送事件)连接到这些服务器以执行工具。

该架构允许:

  • 模块化:每个连接器都是隔离的。
  • 可扩展性:连接器可以独立部署。
  • AI就绪:这些工具以LLM可以轻松理解和调用的标准格式定义。