Skip to content

brownjer3/pipe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pipe MCP Server

Developer Collaboration Context Bridge - An MCP server that unifies developer context across platforms.

🚀 Live Demo | Documentation | API Reference

Overview

Pipe is a Model Context Protocol (MCP) server that bridges context from multiple developer platforms (GitHub, Slack, Jira, Linear, Notion) into a unified graph, enabling AI assistants to access comprehensive team collaboration context.

🌟 Features

  • Unified Context Graph: Connects data from GitHub, Slack, Jira, Linear, and Notion
  • Real-time Sync: WebSocket support for live updates
  • MCP Protocol: Compatible with AI assistants supporting Model Context Protocol
  • OAuth Integration: Secure authentication with major platforms
  • Production Ready: Deployed on Railway with PostgreSQL and Redis

Tech Stack

  • Runtime: Node.js 20+
  • Language: TypeScript 5+
  • Framework: Express + Socket.io
  • Databases: PostgreSQL (with graph capabilities), Redis
  • Queue: BullMQ
  • Authentication: Passport.js with JWT

🚀 Deployment

Pipe is deployed on Railway and available at: https://pipe-production.up.railway.app/

Production Infrastructure

  • Platform: Railway
  • Databases: PostgreSQL & Redis (Railway managed)
  • Graph Storage: PostgreSQL with recursive CTEs
  • Monitoring: Built-in health checks and logging

Getting Started

Prerequisites

  • Node.js 20+
  • Docker and Docker Compose
  • PostgreSQL and Redis (or use Docker)

Local Development

  1. Clone the repository:
git clone https://github.com/brownjer3/pipe.git
cd pipe
  1. Install dependencies:
npm install
  1. Copy environment variables:
cp .env.example .env
  1. Start infrastructure services:
docker-compose up -d
  1. Run database migrations:
npm run db:migrate
  1. Start development server:
npm run dev

Development

  • npm run dev - Start development server with hot reload
  • npm run build - Build TypeScript to JavaScript
  • npm run test - Run comprehensive Vitest test suite
  • npm run test:coverage - Run tests with coverage report
  • npm run test:ui - Open interactive test UI
  • npm run lint - Run ESLint
  • npm run format - Format code with Prettier
  • npm run typecheck - Type check without building

Architecture

The server implements the MCP protocol with WebSocket support for real-time collaboration. Key components:

  • MCP Protocol Handler: Processes JSON-RPC messages
  • WebSocket Server: Real-time connections and broadcasts
  • Context Engine: Manages context graph and search
  • Platform Manager: Handles platform integrations
  • Job Processor: Background synchronization tasks

API Endpoints

Health Checks

  • GET /health - Basic health check
  • GET /health/detailed - Detailed service status
  • GET /health/ready - Kubernetes readiness probe

Authentication

  • GET /auth/github - GitHub OAuth flow
  • GET /auth/slack - Slack OAuth flow
  • POST /auth/login - Email/password login
  • POST /auth/register - User registration
  • POST /auth/refresh - Refresh JWT token

MCP Protocol

  • WebSocket /ws - MCP protocol over WebSocket

Deployment Guide

For detailed deployment instructions, see Railway Deployment Guide.

Quick Deploy to Railway

  1. Fork this repository
  2. Connect to Railway
  3. Add PostgreSQL and Redis
  4. Set environment variables:
    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. Deploy!

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT

About

Developer Collaboration Context Bridge - An MCP server that unifies developer context across platforms.

Topics

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors