开发者协作上下文桥接服务

一个MCP服务器,通过统一来自多个开发者平台(如GitHub、Slack、Jira等)的上下文,为AI助手提供全面的团队协作上下文。

  • by brownjer3
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 brownjer3/pipe

使用说明

管道MCP服务器

开发人员协作上下文桥-一个跨平台统一开发人员上下文的MCP服务器。

🚀 现场演示 | 文档 | api参考

概述

Pipe是一个模型上下文协议(MCP)服务器,它将来自多个开发平台(GitHub、Slack、Jira、Linear、Notion)的上下文连接到一个统一的图中,使AI助手能够访问全面的团队协作上下文。

🌟 特性

  • 统一上下文图:连接来自GitHub、Slack、Jira、Linear和Notion的数据
  • 实时同步:WebSocket支持实时更新
  • MCP协议:与支持模型上下文协议的AI助手兼容
  • OAuth集成:与主要平台进行安全身份验证
  • 生产就绪:与PostgreSQL和Redis一起部署在铁路上

技术栈

  • 运行时:Node.js 20+
  • 语言:TypeScript 5+
  • 框架:快递+袜子.io
  • 数据库:PostgreSQL(具有图形功能),Redis
  • 队列:BullMQ
  • 认证:带JWT的Passport.js

🚀 部署

管道部署在铁路上,可在以下地点使用: https://pipe-production.up.railway.app/

生产基础结构

  • 平台:铁路
  • 数据库:PostgreSQL和Redis(铁路管理)
  • 图形存储:带有递归CTE的PostgreSQL
  • 监控:内置健康检查和日志记录

入门指南

先决条件

  • Node.js 20+
  • Docker和Docker Compose
  • PostgreSQL和Redis(或使用Docker)

地方发展

  1. 克隆存储库:
git clone https://github.com/brownjer3/pipe.git
cd pipe
  1. 安装依赖项:
npm install
  1. 复制环境变量:
cp .env.example .env
  1. 启动基础设施服务:
docker-compose up -d
  1. 运行数据库迁移:
npm run db:migrate
  1. 启动开发服务器:
npm run dev

发展

  • npm run dev -使用热重新加载启动开发服务器
  • npm run build -将TypeScript构建为JavaScript
  • npm run test -运行全面的Vitest测试套件
  • npm run test:coverage -使用覆盖率报告运行测试
  • npm run test:ui -打开交互式测试UI
  • npm run lint -运行ESLint
  • npm run format -使用Prettier格式化代码
  • npm run typecheck -无建筑类型检查

建筑

服务器实现了带有WebSocket支持的MCP协议,以实现实时协作。关键部件:

  • MCP协议处理程序:处理JSON-RPC消息
  • WebSocket服务器:实时连接和广播
  • 上下文引擎:管理上下文图和搜索
  • 平台管理器:处理平台集成
  • 作业处理器:后台同步任务

API终点

健康检查

  • GET /health -基本健康检查
  • GET /health/detailed -详细的服务状态
  • GET /health/ready -Kubernetes就绪性探测

认证

  • GET /auth/github -GitHub OAuth流程
  • GET /auth/slack -Slack OAuth流
  • POST /auth/login -电子邮件/密码登录
  • POST /auth/register -用户注册
  • POST /auth/refresh -刷新JWT令牌

MCP协议

  • 网络套接字 /ws -WebSocket上的MCP协议

部署指导

有关详细的部署说明,请参阅 铁路部署指南.

快速部署到铁路

  1. 分叉此存储库
  2. 连接到铁路
  3. 添加PostgreSQL和Redis
  4. 设置环境变量:
    DATABASE_URL=${{Postgres.DATABASE_URL}}
    REDIS_URL=${{Redis.REDIS_URL}}
    JWT_SECRET=<generate with: openssl rand -hex 32>
    REFRESH_SECRET=<generate with: openssl rand -hex 32>
    ENCRYPTION_KEY=<generate with: openssl rand -hex 32>
    
  5. 部署!

贡献

欢迎投稿!请随时提交拉取请求。

许可证

麻省理工学院