MCP (Model Context Protocol) server implementation that loads and serves Knowledge Packs.
- 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)
# 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 .envEdit .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# Start the complete stack
docker-compose up -d
# View logs
docker-compose logs -f- Web Chat Interface: http://localhost:3080
- MCP Server: http://localhost:8443
- API Documentation: http://localhost:8443/docs
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]
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 |
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 # DocumentationThe 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:
- Catalyst Builder GitHub - Complete documentation
- Getting Started Guide - Step-by-step tutorial
- CLI Reference - All available commands
- Pack Development Guide - Advanced configuration
# Production deployment
docker-compose up -d
# Development with hot reload
docker-compose -f docker-compose.yml -f docker-compose.override.yml up -d# 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| 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.
Catalyst uses LibreChat for the web interface. Customize:
- Branding: Edit
librechat.yamlfor colors, logos - Authentication: Configure OAuth providers in
.env - Models: Enable/disable AI models per user
- Plugins: Add custom plugins and tools
Add to your Claude Desktop configuration:
{
"mcpServers": {
"catalyst": {
"command": "mcp-client",
"args": ["--url", "http://localhost:8443"]
}
}
}Use the MCP-compatible plugin or direct API integration.
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"})- JWT-based session management
- Role-based access control
- OAuth provider integration (GitHub, Google, etc.)
- Rate limiting and request throttling
- Input validation and sanitization
- Audit logging for compliance
- HTTPS/TLS encryption
- Environment variable secrets
- Container isolation
Use the Catalyst Builder to create database analytics packs:
catalyst-packs create bi-dashboard --type database --description "Executive dashboard"Create deployment and monitoring packs:
catalyst-packs create devops-tools --type rest --description "CI/CD automation"Build support system integrations:
catalyst-packs create support-tools --type rest --description "Help desk integration"- Catalyst Builder: catalyst-builder on PyPI
- Documentation: Complete Pack Development Guide
- GitHub Issues: Report bugs and request features
MIT License
# 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- Clone repository:
git clone https://github.com/billebel/catalyst_mcp.git - Install pack builder:
pip install catalyst-builder - Create packs as needed
- Deploy with Docker:
docker-compose up -d