MCP Server Integration
Connect Exogram directly to Claude Desktop, Cursor, or any Model Context Protocol–compatible AI assistant. Your AI gains governed, persistent knowledge — facts are verified, encrypted, and conflict-checked in real time.
What Is MCP?
The Model Context Protocol (MCP) is an open standard by Anthropic that lets AI models call external tools directly. Exogram's MCP server gives your AI:
Governed Ledger
Facts encrypted at rest, PII-scrubbed automatically
Conflict Detection
Claude-powered reasoning catches contradictions
4 Native Tools
store_to_ledger, check_fact, get_llm_routing, create_constraint
Zero-Trust Auth
Per-user encryption salt, Fernet AES-128, no plaintext storage
Prerequisites
- ✓ Python 3.10+ installed
- ✓ Claude Desktop (or any MCP-compatible client)
- ✓ Exogram API credentials (sign up at exogram.ai/signup)
- ✓ API keys: Supabase, Pinecone, Google AI, and optionally Anthropic & OpenAI
Installation
1. Clone the repository
git clone https://github.com/Richard-Ewing/Exogram-Production.git
cd Exogram-Production/backend2. Install dependencies
pip install mcp supabase pinecone-client google-generativeai openai anthropic cryptography3. Configure environment variables
SUPABASE_URL="https://your-project.supabase.co"
SUPABASE_SERVICE_KEY="your-supabase-service-key"
MCP_DEFAULT_USER_ID="your-supabase-user-uuid"
MASTER_ENCRYPTION_KEY="your-fernet-key"
PINECONE_API_KEY="your-pinecone-key"
PINECONE_INDEX="exogram-embeddings"
GOOGLE_API_KEY="your-google-ai-key"
OPENAI_API_KEY="your-openai-key"
ANTHROPIC_API_KEY="your-anthropic-key"4. Configure Claude Desktop
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"exogram": {
"command": "python",
"args": ["path/to/exogram_mcp_server_v2_optimized.py"],
"env": {
"SUPABASE_URL": "...",
"SUPABASE_SERVICE_KEY": "...",
"MCP_DEFAULT_USER_ID": "...",
"MASTER_ENCRYPTION_KEY": "...",
"PINECONE_API_KEY": "...",
"GOOGLE_API_KEY": "...",
"OPENAI_API_KEY": "...",
"ANTHROPIC_API_KEY": "..."
}
}
}
}Available Tools
store_to_ledger(content, source?, tags?)Store a verified fact to the Exogram ledger. Content is PII-scrubbed, constraint-checked, conflict-detected, encrypted, and vector-indexed.
store_to_ledger("My daughter is Dara", source="user", tags="family")check_fact(claim)Verify a claim against the existing ledger. Detects contradictions, temporal conflicts, and constraint violations using Claude reasoning.
check_fact("My daughter is Sara")get_llm_routing(—)Shows how tasks are routed to different LLMs. Displays the task-optimized routing table and provider availability.
get_llm_routing()create_constraint(description, constraint_type)Create a binding constraint on the ledger. Once set, any fact that violates it will be blocked by Claude's reasoning engine.
create_constraint("GDPR requires 30-day deletion", "legal")Architecture
Claude Desktop
│
▼
┌─────────────┐
│ MCP Server │ ← exogram_mcp_server_v2_optimized.py
└──────┬──────┘
│
┌────┴────┐
▼ ▼
┌────────┐ ┌──────────┐
│Supabase│ │ Pinecone │ ← Encrypted storage + vector search
│ (DB) │ │ (Vectors)│
└────────┘ └──────────┘
│
┌────┴────┐
▼ ▼
┌────────┐ ┌────────┐
│ Gemini │ │ Claude │ ← Embeddings + conflict detection
└────────┘ └────────┘
📄 RFC-0001: Read the full Exogram Action Admissibility Protocol (EAAP) — the deterministic control plane specification that governs all ledger operations.