Skip to main content

Model Context Protocol (MCP) server for Prometheux - enabling AI agents to interact with knowledge graphs and reasoning

Project description

Prometheux MCP Server

PyPI version Python 3.10+ License: BSD-3-Clause

A Model Context Protocol (MCP) client that enables AI agents like Claude to interact with Prometheux knowledge graphs and reasoning capabilities.


For Users

What This Does

This package lets you use Claude Desktop to interact with your Prometheux projects:

  • List concepts in your projects
  • Run concepts to derive new knowledge
  • All through natural conversation with Claude

Prerequisites

  • Prometheux account with access to a deployed instance
  • Claude Desktop installed on your machine
  • Your credentials (token, username, organization) from your Prometheux admin

Installation

Option 1: Using pipx (Recommended for Claude Desktop)

# Install pipx if you don't have it
brew install pipx
pipx ensurepath

# Install prometheux-mcp
pipx install prometheux-mcp

This installs the package in an isolated environment and makes the prometheux-mcp command available globally.

Option 2: Using pip

pip install prometheux-mcp

Note for macOS users: Claude Desktop may have permission issues accessing pip-installed packages in certain directories. If you encounter "Server disconnected" errors, use pipx instead.

Configuration

  1. Get your credentials from your Prometheux admin or account settings:

    • Server URL (e.g., https://api.prometheux.ai)
    • Authentication token
    • Username
    • Organization
  2. Configure Claude Desktop by editing the config file:

    macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    Windows: %APPDATA%\Claude\claude_desktop_config.json

    If installed with pipx (recommended):

    {
      "mcpServers": {
        "prometheux": {
          "command": "prometheux-mcp",
          "args": ["--url", "https://api.prometheux.ai"],
          "env": {
            "PROMETHEUX_TOKEN": "your_token",
            "PROMETHEUX_USERNAME": "your_username",
            "PROMETHEUX_ORGANIZATION": "your_organization"
          }
        }
      }
    }
    

    Note: The full JarvisPy path (/jarvispy/{organization}/{username}) is automatically constructed from your username and organization. No need to include it in the URL!

    If pipx isn't in PATH, use the full path:

    {
      "mcpServers": {
        "prometheux": {
          "command": "/Users/YOUR_USERNAME/.local/bin/prometheux-mcp",
          "args": ["--url", "https://api.prometheux.ai"],
          "env": {
            "PROMETHEUX_TOKEN": "your_token",
            "PROMETHEUX_USERNAME": "your_username",
            "PROMETHEUX_ORGANIZATION": "your_organization"
          }
        }
      }
    }
    

    Replace YOUR_USERNAME with your actual macOS username, or find the path with: which prometheux-mcp

    For custom deployments with full URL:

    If you need to specify the complete JarvisPy path (e.g., for custom routing), you can include it in the URL:

    "args": ["--url", "https://api.prometheux.ai/jarvispy/myorg/myuser"]
    

    In this case, the organization and username from env are still used for authentication, but the URL is used as-is.

  3. Restart Claude Desktop (quit completely with Cmd+Q, then reopen)

Usage

Once configured, just chat with Claude:

"What concepts are available in project customer-analytics?"

"Run the churn_prediction concept in project customer-analytics"

"Show me the high_value_customers from project sales-data with min_value of 1000"

Available Tools

Tool Description
list_concepts Lists all concepts in a project
run_concept Executes a concept to derive new knowledge

Troubleshooting

"Server disconnected" error (macOS):

  1. Uninstall: pip uninstall prometheux-mcp
  2. Install with pipx: pipx install prometheux-mcp
  3. Update your config with either "command": "prometheux-mcp" or the full path from which prometheux-mcp
  4. Restart Claude Desktop completely (Cmd+Q, then reopen)

"Connection refused" error: Check that your Prometheux server URL is correct and accessible. Test with: curl [YOUR_URL]/mcp/info

"Authentication failed" error: Verify your token, username, and organization are correct in the config.

"command not found" error: If using pipx, ensure it's in your PATH: pipx ensurepath then restart your terminal or Claude Desktop.

Check logs: ~/Library/Logs/Claude/mcp-server-prometheux.log


For Developers

This section is for developers who want to:

  • Contribute to this package
  • Test locally with a development JarvisPy instance
  • Understand the architecture

Architecture

┌─────────────────────────────────────────────────────────────────────────┐
│                           YOUR MACHINE                                   │
│  ┌─────────────────┐         ┌─────────────────┐                        │
│  │  Claude Desktop │         │ prometheux-mcp  │                        │
│  │                 │──stdio──│  (this package) │                        │
│  │   (AI Agent)    │         │                 │                        │
│  └─────────────────┘         └────────┬────────┘                        │
└───────────────────────────────────────┼─────────────────────────────────┘
                                        │ HTTP
                                        ▼
                          ┌─────────────────────────┐
                          │     Prometheux Server   │
                          │       (JarvisPy)        │
                          │                         │
                          │   Cloud or On-Premise   │
                          └─────────────────────────┘

Key points:

  • This is NOT a service you run — Claude Desktop starts it automatically
  • Communication with Claude Desktop is via stdio (stdin/stdout)
  • Communication with Prometheux is via HTTP
  • Stateless — each Claude session starts a fresh instance

Local Development Setup

# Clone the repository
git clone https://github.com/prometheuxresearch/px-mcp-server.git
cd px-mcp-server

# Create virtual environment
python -m venv venv
source venv/bin/activate

# Install in development mode
pip install -e ".[dev]"

Testing with Local JarvisPy

  1. Start JarvisPy in development mode:

    cd /path/to/jarvispy
    source venv/bin/activate
    RUN_MODE=development python run.py
    
  2. Install your local package with pipx (required for Claude Desktop on macOS):

    pipx install /path/to/px-mcp-server --force
    
  3. Configure Claude Desktop to use localhost:

    {
      "mcpServers": {
        "prometheux": {
          "command": "/Users/YOUR_USERNAME/.local/bin/prometheux-mcp",
          "args": ["--url", "http://localhost:8000", "--debug"]
        }
      }
    }
    
  4. Restart Claude Desktop and test

Why pipx for macOS?

Claude Desktop on macOS cannot access virtual environments in protected folders (like ~/Documents) due to security restrictions. pipx installs to ~/.local/ which is accessible.

Running Tests

pytest

Code Quality

ruff check src/    # Linting
mypy src/          # Type checking

Project Structure

src/prometheux_mcp/
├── __init__.py      # Package exports
├── __main__.py      # CLI entry point (Click-based)
├── config.py        # Configuration management
├── client.py        # HTTP client for Prometheux API
├── server.py        # MCP server and tool definitions
└── tools/           # Reserved for future tool modules

Building for PyPI

python -m build
twine upload dist/*

Tool Reference

list_concepts

Lists all concepts available in a project.

Parameters:

Parameter Type Required Default Description
project_id string Yes Project identifier
scope string No "user" "user" or "organization"

Example response:

{
  "concepts": [
    {
      "predicate_name": "customer",
      "fields": {"id": "string", "name": "string"},
      "column_count": 2,
      "is_input": true,
      "row_count": 1000,
      "type": "postgresql",
      "description": "Customer records"
    }
  ],
  "count": 1
}

run_concept

Executes a concept to derive new knowledge through Vadalog reasoning.

Parameters:

Parameter Type Required Default Description
project_id string Yes Project identifier
concept_name string Yes Concept to execute
params object No {} Parameters for reasoning
scope string No "user" "user" or "organization"
force_rerun boolean No true Re-execute even if cached
persist_outputs boolean No false Save results to database

Example response:

{
  "concept_name": "high_value_customers",
  "message": "Concept executed successfully",
  "evaluation_results": {
    "resultSet": {
      "high_value_customers": [["Alice", 5000], ["Bob", 3000]]
    },
    "columnNames": {
      "high_value_customers": ["name", "total_value"]
    }
  },
  "predicates_populated": ["high_value_customers"],
  "total_records": 2
}

Access to Prometheux Backend

The Prometheux backend is required to use this MCP client. To request access:

License

BSD 3-Clause License — see LICENSE file for details.

About Prometheux

Prometheux is an ontology native data engine that processes data anywhere it lives. Define ontologies once and unlock knowledge that spans databases, warehouses, and platforms—built on the Vadalog reasoning engine.

Key capabilities:

  • Connect: Query across Snowflake, Databricks, Neo4j, SQL, CSV, and more without ETL or vendor lock-in
  • Think: Replace 100+ lines of PySpark/SQL with simple declarative logic. Power graph analytics without GraphDBs
  • Explain: Full lineage & traceability with deterministic, repeatable results. Ground AI in structured, explainable context

Exponentially faster and simpler than traditional approaches. Learn more at prometheux.ai.

Support

For issues, questions, or access requests:

Related Projects

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

prometheux_mcp-0.1.1.tar.gz (19.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

prometheux_mcp-0.1.1-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

Details for the file prometheux_mcp-0.1.1.tar.gz.

File metadata

  • Download URL: prometheux_mcp-0.1.1.tar.gz
  • Upload date:
  • Size: 19.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for prometheux_mcp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 9b87de33b633de34cbc259fa44a18591f05a540d0c58665fe00dd5f1addee22e
MD5 bddef8da024ae94b628a5cacb73113b3
BLAKE2b-256 42662c7f16a1b985c95e8a535174d17b9e7a8ffbaa40e07f94fa62633661b0ca

See more details on using hashes here.

File details

Details for the file prometheux_mcp-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: prometheux_mcp-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 15.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for prometheux_mcp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d87258f2637f3513cfd60a43e5442292c6359a74b985e153468613415f3fc8de
MD5 d4d78362164df67b02ee5416b7fe949f
BLAKE2b-256 1788531122df42c6feecb73a0522617432f447a7989e8d2740af1ea03f2755cb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page