Skip to main content

KumoRFM MCP Server

KumoRFM • Notebooks • Blog • Get an API key

PyPI - Python Version PyPI Status Slack

🔬 MCP server to query KumoRFM in your agentic flows

📖 Introduction

KumoRFM is a pre-trained Relational Foundation Model (RFM) that generates training-free predictions on any relational multi-table data by interpreting the data as a (temporal) heterogeneous graph. It can be queried via the Predictive Query Language (PQL).

This repository hosts a full-featured MCP (Model Context Protocol) server that empowers AI assistants with KumoRFM intelligence. This server enables:

  • 🕸️ Build, manage, and visualize graphs directly from CSV or Parquet files
  • 💬 Convert natural language into PQL queries for seamless interaction
  • 🤖 Query, analyze, and evaluate predictions from KumoRFM (missing value imputation, temporal forecasting, etc) all without any training required

🚀 Installation

🐍 Traditional MCP Server

The KumoRFM MCP server is available for Python 3.10 and above. To install, simply run:

pip install kumo-rfm-mcp

Add to your MCP configuration file (e.g., Claude Desktop's mcp_config.json):

{
  "mcpServers": {
    "kumo-rfm": {
      "command": "python",
      "args": ["-m", "kumo_rfm_mcp.server"],
      "env": {
        "KUMO_API_KEY": "your_api_key_here"
      }
    }
  }
}

⚡ MCP Bundle

We provide a single-click installation via our MCP Bundle (MCPB) (e.g., for integration into Claude Desktop):

  1. Download the dxt file from here
  2. Double click to install

The MCP Bundle supports Linux, macOS and Windows, but requires a Python executable to be found in order to create a separate new virtual environment.

Claude code

To include the server in claude code use:

claude mcp add --transport stdio kumo-rfm-mcp --env KUMO_API_KEY=<YOUR-API-KEY> -- python -m kumo_rfm_mcp.server --port 8000

🎬 Claude Desktop Demo

See here for the transcript.

https://github.com/user-attachments/assets/56192b0b-d9df-425f-9c10-8517c754420f

🔬 Agentic Workflows

You can use the KumoRFM MCP directly in your agentic workflows:


[Example]
from crewai import Agent
from crewai_tools import MCPServerAdapter
from mcp import StdioServerParameters
<br/>
params = StdioServerParameters(
    command='python',
    args=['-m', 'kumo_rfm_mcp.server'],
    env={'KUMO_API_KEY': ...},
)
<br/>
with MCPServerAdapter(params) as mcp_tools:
    agent = Agent(
        role=...,
        goal=...,
        backstory=...,
        tools=mcp_tools,
    )

[Example]
from langchain_mcp_adapter.client MultiServerMCPClient
from langgraph.prebuilt import create_react_agent
<br/>
client = MultiServerMCPClient({
    'kumo-rfm': {
        'command': 'python',
        'args': ['-m', 'kumo_rfm_mcp.server'],
        'env': {'KUMO_API_KEY': ...},
    }
})
<br/>
agent = create_react_agent(
    llm=...,
    tools=await client.get_tools(),
)

[Example]
from agents import Agent
from agents.mcp import MCPServerStdio
<br/>
async with MCPServerStdio(params={
    'command': 'python',
    'args': ['-m', 'kumo_rfm_mcp.server'],
    'env': {'KUMO_API_KEY': ...},
}) as server:
    agent = Agent(
        name=...,
        instructions=...,
        mcp_servers=[server],
    )
from claude_code_sdk import query, ClaudeCodeOptions
<br/>
mcp_servers = {
    'kumo-rfm': {
        'command': 'python',
        'args': ['-m', 'kumo_rfm_mcp.server'],
        'env': {'KUMO_API_KEY': ...},
    }
}
<br/>
async for message in query(
    prompt=...,
    options=ClaudeCodeOptions(
        system_prompt=...,
        mcp_servers=mcp_servers,
        permission_mode='default',
    ),
):
    ...

Browse our examples to get started with agentic workflows powered by KumoRFM.

📚 Available Tools

I/O Operations

  • 🔍 find_table_files - Searching for tabular files: Find all table-like files (e.g., CSV, Parquet) in a directory.
  • 🧐 inspect_table_files - Analyzing table structure: Inspect the first rows of table-like files.

Graph Management

  • 🗂️ inspect_graph_metadata - Reviewing graph schema: Inspect the current graph metadata.
  • 🔄 update_graph_metadata - Updating graph schema: Partially update the current graph metadata.
  • 🖼️ get_mermaid - Creating graph diagram: Return the graph as a Mermaid entity relationship diagram.
  • 🕸️ materialize_graph - Assembling graph: Materialize the graph based on the current state of the graph metadata to make it available for inference operations.
  • 📂 lookup_table_rows - Retrieving table entries: Lookup rows in the raw data frame of a table for a list of primary keys.

Model Execution

  • 🤖 predict - Running predictive query: Execute a predictive query and return model predictions.
  • 📊 evaluate - Evaluating predictive query: Evaluate a predictive query and return performance metrics which compares predictions against known ground-truth labels from historical examples.
  • 🧠 explain - Explaining prediction: Execute a predictive query and explain the model prediction.

🔧 Configuration

Environment Variables

  • KUMO_API_KEY: Authentication is needed once before predicting or evaluating with the KumoRFM model. You can generate your KumoRFM API key for free here. If not set, you can also authenticate on-the-fly in individual session via an OAuth2 flow.

We love your feedback! ❤️

As you work with KumoRFM, if you encounter any problems or things that are confusing or don't work quite right, please open a new :octocat:issue. You can also submit general feedback and suggestions here. Join our Slack!

Metadata

Release files for kumo-rfm-mcp 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kumo-rfm-mcp 0.3.1
File Size Uploaded Provenance Actions
kumo_rfm_mcp-0.3.1.tar.gz 30.7 kB Without provenance Details for kumo_rfm_mcp-0.3.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for kumo-rfm-mcp 0.3.1
File Interpreter ABI Platform Actions
kumo_rfm_mcp-0.3.1-py3-none-any.whl Python 3 none any Details for kumo_rfm_mcp-0.3.1-py3-none-any.whl

Total release size: 67.2 kB

Release files / kumo_rfm_mcp-0.3.1.tar.gz

Download URL kumo_rfm_mcp-0.3.1.tar.gz
Size 30.7 kB
Tags Source
SHA-256 checksum
How to use checksums
02dd0f34ca746a7698fd5c35fdff737c4f4ca5b0e6de99f5ae6116fb5077553b
BLAKE2b-256 checksum
How to use checksums
81ec3b318a0bc818ee5d8905de8c325b2d64be35c353230727f086328797d8ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release files / kumo_rfm_mcp-0.3.1-py3-none-any.whl

Download URL kumo_rfm_mcp-0.3.1-py3-none-any.whl
Size 36.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
492ffdaaf1bb086d91bf5a623287ddb432b7a60d896fed7379ff7df77575bc90
BLAKE2b-256 checksum
How to use checksums
61b40c9d69947c21f4f12734061fd76a7b46c87456b5333f487fc544a84a84ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Security for kumo-rfm-mcp 0.3.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page