Model Context Protocol (MCP) server for Prometheux - enabling AI agents to interact with knowledge graphs and reasoning
Project description
Prometheux MCP Server
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
-
Get your credentials from your Prometheux admin or account settings:
- Server URL (e.g.,
https://api.prometheux.ai) - Authentication token
- Username
- Organization
- Server URL (e.g.,
-
Configure Claude Desktop by editing the config file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%\Claude\claude_desktop_config.jsonRecommended: 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" } } } }
Find your path: Run
which prometheux-mcpin your terminal and use that exact path. ReplaceYOUR_USERNAMEwith your actual macOS username (usually it will be in~/.local/bin/).Why the full path? GUI applications like Claude Desktop don't inherit your terminal's PATH environment on macOS, even after
pipx ensurepath. Using the full path ensures it always works.Note: The full JarvisPy path (
/jarvispy/{organization}/{username}) is automatically constructed from your username and organization. No need to include it in the URL! -
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):
- Use the full path in your config: Run
which prometheux-mcpand use that exact path - If installed with pip instead of pipx:
- Uninstall:
pip uninstall prometheux-mcp - Install with pipx:
pipx install prometheux-mcp
- Uninstall:
- Restart Claude Desktop completely (Cmd+Q, then reopen)
Note: On macOS, the short command
"prometheux-mcp"usually doesn't work with Claude Desktop because GUI apps don't inherit the terminal's PATH. Always use the full path for reliability.
"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:
This means Claude Desktop can't find the prometheux-mcp command. Solution: Use the full path in your config (see Configuration section above). Run which prometheux-mcp to find the exact path.
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
-
Start JarvisPy in development mode:
cd /path/to/jarvispy source venv/bin/activate RUN_MODE=development python run.py
-
Install your local package with pipx (required for Claude Desktop on macOS):
pipx install /path/to/px-mcp-server --force
-
Configure Claude Desktop to use localhost:
{ "mcpServers": { "prometheux": { "command": "/Users/YOUR_USERNAME/.local/bin/prometheux-mcp", "args": ["--url", "http://localhost:8000", "--debug"] } } }
-
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:
- 📧 Email: davben@prometheux.co.uk, teodoro.baldazzi@prometheux.co.uk, or support@prometheux.co.uk
- 🌐 Website: https://www.prometheux.ai
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:
- Homepage: https://www.prometheux.ai
- PyPI: https://pypi.org/project/prometheux-mcp/
- Email: davben@prometheux.co.uk, teodoro.baldazzi@prometheux.co.uk, or support@prometheux.co.uk
- Documentation: https://docs.prometheux.ai/mcp
- Issues: GitHub Issues
Related Projects
- Prometheux Chain — Python SDK for Prometheux
- Vadalog Extension — JupyterLab extension for Vadalog
- Vadalog Jupyter Kernel — Jupyter kernel for Vadalog
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file prometheux_mcp-0.1.2.tar.gz.
File metadata
- Download URL: prometheux_mcp-0.1.2.tar.gz
- Upload date:
- Size: 19.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d33c33496895ae583d2dfb985c23bd11ab71de23a349c66530f23f1daf977a5
|
|
| MD5 |
4f369f3bc1cc6c0840e4c05b3ec3972d
|
|
| BLAKE2b-256 |
432427beafc2ee89212980c342d3acb27c6e775f7bb7b2b35b675f03ef036bdc
|
File details
Details for the file prometheux_mcp-0.1.2-py3-none-any.whl.
File metadata
- Download URL: prometheux_mcp-0.1.2-py3-none-any.whl
- Upload date:
- Size: 15.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f38b162027a40e06f3c854c2512e208194bb516336b0d90698381a0c18828e65
|
|
| MD5 |
e658d832535bfa0bd6febbd4b578b7d3
|
|
| BLAKE2b-256 |
550172c91d458067c23d97581a905907ac8567c97a4cb6d55caca6730e1c51f8
|