Skip to content

billebel/catalyst_mcp

Repository files navigation

Catalyst MCP Server

MCP (Model Context Protocol) server implementation that loads and serves Knowledge Packs.

Docker MCP Protocol Pack Builder License: MIT GitHub Stars

Features

  • MCP server implementation with FastAPI
  • LibreChat integration for web interface
  • Docker deployment support
  • Knowledge Pack loading from YAML configurations
  • Authentication and rate limiting
  • Support for multiple AI models (Claude, GPT, Gemini)

Quick Start

1. Clone and Configure

# Clone the repository
git clone https://github.com/billebel/catalyst_mcp.git
cd catalyst_mcp

# Copy environment template
cp .env.example .env

# Edit .env with your API keys
nano .env

2. Set Your API Keys

Edit .env file:

# Add your API keys
ANTHROPIC_API_KEY=your-claude-api-key
OPENAI_API_KEY=your-openai-api-key        # Optional
GOOGLE_API_KEY=your-gemini-api-key        # Optional

# JWT secrets (change for production!)
JWT_SECRET=your-secure-jwt-secret
JWT_REFRESH_SECRET=your-secure-refresh-secret

3. Start with Docker

# Start the complete stack
docker-compose up -d

# View logs
docker-compose logs -f

4. Access Your AI Assistant

Architecture

graph TD
    A[AI Assistant<br/>Claude Desktop] --> B[MCP Protocol]
    C[Web Chat<br/>LibreChat] --> B
    B --> D[Catalyst MCP Server]
    D --> E[Knowledge Packs]
    E --> F[Your Business Systems]
    F --> G[Databases]
    F --> H[REST APIs] 
    F --> I[Cloud Services]
Loading

Knowledge Packs

Catalyst includes example Knowledge Packs for common business systems:

Pack Description Use Cases
PostgreSQL Analytics Database queries and reporting Business intelligence, data analysis
GitHub DevOps Repository management and CI/CD Code management, deployment tracking
GitLab DevOps GitLab API integration Project management, pipeline monitoring
Linux Server Admin Server management and monitoring System administration, log analysis
RabbitMQ Messaging Message queue management Queue monitoring, message handling
S3 Storage AWS S3 file operations File management, backup operations

Creating Custom Packs

Create Knowledge Packs using the Catalyst Builder:

# Install the pack builder
pip install catalyst-builder

# Create a new CRM integration pack
catalyst-packs create crm-integration \
  --type rest \
  --description "Connect to our CRM system"

# This generates a complete pack structure:
# crm-integration/
# ├── pack.yaml           # Main configuration
# ├── tools/              # Tool definitions
# ├── prompts/            # AI prompts
# └── README.md           # Documentation

The generated pack.yaml:

metadata:
  name: crm-integration
  description: "Connect to our CRM system"
  domain: sales

connection:
  type: rest
  base_url: "https://api.yourcrm.com/v1"
  auth:
    method: bearer
    token: "${CRM_API_TOKEN}"

tools:
  - name: search_customers
    type: search
    description: "Find customers by name or email"
    endpoint: "/customers/search"

Pack Builder Resources:

Deployment Options

Docker Compose (Recommended)

# Production deployment
docker-compose up -d

# Development with hot reload
docker-compose -f docker-compose.yml -f docker-compose.override.yml up -d

Local Development

# Install Python dependencies
pip install -r requirements.txt

# Start MCP server
python -m catalyst_mcp.server

# Start chat interface (separate terminal)
# See docs/chat-customization.md for LibreChat setup

Configuration

Environment Variables

Variable Description Required Default
MCP_PORT MCP server port No 8443
MCP_HOST Server bind address No 0.0.0.0
LOG_LEVEL Logging level No INFO
ANTHROPIC_API_KEY Claude API key Yes* -
OPENAI_API_KEY OpenAI API key No -
GOOGLE_API_KEY Gemini API key No -
JWT_SECRET Chat authentication Yes -
ALLOW_REGISTRATION Allow new users No false

*At least one AI provider API key is required.

Chat Interface Customization

Catalyst uses LibreChat for the web interface. Customize:

  • Branding: Edit librechat.yaml for colors, logos
  • Authentication: Configure OAuth providers in .env
  • Models: Enable/disable AI models per user
  • Plugins: Add custom plugins and tools

See: Chat Customization Guide

AI Assistant Integration

Claude Desktop

Add to your Claude Desktop configuration:

{
  "mcpServers": {
    "catalyst": {
      "command": "mcp-client",
      "args": ["--url", "http://localhost:8443"]
    }
  }
}

ChatGPT/OpenAI

Use the MCP-compatible plugin or direct API integration.

Custom AI Applications

Connect any MCP-compatible AI application:

import mcp_client

# Connect to Catalyst MCP server
client = mcp_client.MCPClient("http://localhost:8443")

# Use business tools
result = client.call_tool("search_customers", {"query": "ACME Corp"})

Security Features

Authentication & Authorization

  • JWT-based session management
  • Role-based access control
  • OAuth provider integration (GitHub, Google, etc.)

API Security

  • Rate limiting and request throttling
  • Input validation and sanitization
  • Audit logging for compliance

Deployment Security

  • HTTPS/TLS encryption
  • Environment variable secrets
  • Container isolation

Examples & Use Cases

Business Intelligence

Use the Catalyst Builder to create database analytics packs:

catalyst-packs create bi-dashboard --type database --description "Executive dashboard"

DevOps Automation

Create deployment and monitoring packs:

catalyst-packs create devops-tools --type rest --description "CI/CD automation"

Customer Support

Build support system integrations:

catalyst-packs create support-tools --type rest --description "Help desk integration"

Community & Support

License

MIT License


Quick Commands

# Start everything
docker-compose up -d

# View logs
docker-compose logs -f catalyst-mcp

# Stop services
docker-compose down

# Create custom packs
pip install catalyst-builder
catalyst-packs create my-integration --type rest

Getting Started

  1. Clone repository: git clone https://github.com/billebel/catalyst_mcp.git
  2. Install pack builder: pip install catalyst-builder
  3. Create packs as needed
  4. Deploy with Docker: docker-compose up -d

About

Enterprise MCP server connecting Claude, ChatGPT & AI assistants to databases, APIs & business systems | Docker-ready with LibreChat UI | Transform any system into AI tools in minutes

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages