Rockfish MCP Server
OfficialClick on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Rockfish MCP Server start training a TabGAN model on the 'sales' dataset"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Rockfish MCP Server
A Model Context Protocol server that provides tools to interact with the Rockfish AI platform for synthetic data generation, dataset management, and ML workflow orchestration.
Available Tools
Rockfish API — databases, worker sets, workflows, models, projects, datasets, organizations (22+ tools)
SDK (Synthetic Data Generation)
obtain_train_config— generate training configuration with automatic column type detectionupdate_train_config— modify training hyperparameters or field classificationsstart_training_workflow— start TabGAN training workflowget_workflow_logs— stream workflow logs with configurable level and timeoutget_trained_model_id— extract trained model ID from completed workflowstart_generation_workflow— start generation workflow from trained modelobtain_synthetic_dataset_id— extract generated dataset ID from completed workflowplot_distribution— generate distribution plots comparing real and synthetic dataget_marginal_distribution_score— calculate similarity score between real and synthetic data
Manta (Analytics & Scenarios) — requires MANTA_API_URL
discover_schema— discover dataset schemagenerate_test_suite— generate test suitesexecute_query/execute_nl_query— run SQL or natural language queriesinject_scenario— inject test scenarios into datasets
Installation
rockfish-mcp is not currently published to PyPI, so install it from source (below) and run it
with uv run --directory /path/to/rockfish-mcp rockfish-mcp. The uvx rockfish-mcp and
pip install rockfish-mcp forms only work once the package is published to an index.
From source (recommended)
git clone https://github.com/Rockfish-Data/rockfish-mcp.git
cd rockfish-mcpInstall dependencies (exact versions from
uv.lock, including dev tools):
uv sync
source .venv/bin/activate # optional; or prefix commands with `uv run`For a runtime-only install (no dev tools), use uv sync --no-dev.
Set up environment variables:
cp .env.example .env
# Edit .env and add your Rockfish API keyRelated MCP server: RAGFlow MCP Server
Configuration
Create a .env file with your Rockfish API credentials:
ROCKFISH_API_KEY=your_api_key_here
ROCKFISH_API_URL=https://api.rockfish.aiOptional settings:
ROCKFISH_ORGANIZATION_ID=your_organization_id_here
ROCKFISH_PROJECT_ID=your_project_id_here
MANTA_API_URL=https://manta.rockfish.aiUsage with Claude Desktop
Add to your claude_desktop_config.json:
rockfish-mcp is not published to PyPI, so uvx rockfish-mcp fails with
rockfish-mcp was not found in the package registry. Run it from a clone instead. Use
uv run --directory rather than uvx --from, so the locked dependencies and the Rockfish SDK
find-links index from pyproject.toml are honored. Use the absolute path to uv
(which uv), since Claude Desktop does not inherit your shell PATH.
{
"mcpServers": {
"rockfish": {
"command": "/opt/homebrew/bin/uv",
"args": ["run", "--directory", "/path/to/rockfish-mcp", "rockfish-mcp"],
"env": {
"ROCKFISH_API_KEY": "your_api_key_here",
"ROCKFISH_API_URL": "https://api.rockfish.ai"
}
}
}
}The first launch builds the environment and can take ~30 seconds; later launches are fast.
{
"mcpServers": {
"rockfish": {
"command": "uvx",
"args": ["rockfish-mcp"],
"env": {
"ROCKFISH_API_KEY": "your_api_key_here",
"ROCKFISH_API_URL": "https://api.rockfish.ai"
}
}
}
}{
"mcpServers": {
"rockfish": {
"command": "python",
"args": ["-m", "rockfish_mcp.server"],
"env": {
"ROCKFISH_API_KEY": "your_api_key_here",
"ROCKFISH_API_URL": "https://api.rockfish.ai"
}
}
}
}{
"mcpServers": {
"rockfish": {
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "ROCKFISH_API_KEY", "-e", "ROCKFISH_API_URL", "rockfish-mcp"],
"env": {
"ROCKFISH_API_KEY": "your_api_key_here",
"ROCKFISH_API_URL": "https://api.rockfish.ai"
}
}
}
}Debugging
You can use the MCP inspector to debug the server from a source checkout:
npx @modelcontextprotocol/inspector uv run --directory path/to/rockfish-mcp rockfish-mcpOr run the venv's Python directly (after uv sync):
cd path/to/rockfish-mcp
npx @modelcontextprotocol/inspector .venv/bin/python -m rockfish_mcp.serverIf the server fails to start in Claude Desktop, check ~/Library/Logs/Claude/mcp-server-rockfish.log.
Development
Setup
Install with dev dependencies (the default for uv sync):
uv syncRun tools with uv run (for example uv run pytest) or activate .venv first.
Code Formatting
isort src/rockfish_mcp/ && black src/rockfish_mcp/Running Tests
Unit tests (no credentials required):
pytest tests/test_manta_client.py tests/test_manta_tools.pyIntegration tests (requires .env with real credentials):
pytest tests/
pytest --env=.env.prod.local --html=report.html --self-contained-htmlContributing
We encourage contributions to help expand and improve rockfish-mcp. Whether you want to add new tools, enhance existing functionality, or improve documentation, your input is valuable.
Fork the repository
Create a feature branch
Make your changes
Format your code with
isortandblackAdd tests if applicable
Submit a pull request
For examples of other MCP servers and implementation patterns, see: https://github.com/modelcontextprotocol/servers
License
rockfish-mcp is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.
Available Tools
44 toolscreate_databaseC
Create a new database
Inputs: name (required), description.
create_datasetC
Create a new dataset
Inputs: name (required), description.
create_projectB
Create a new project
Inputs: name (required), description.
create_worker_setC
Create a new worker set
Inputs: name (required), worker_count (required).
create_workflowC
Create and run a new workflow
Inputs: jobs (required), metadata (required).
delete_databaseC
Delete a database
Inputs: id (required).
delete_datasetC
Delete a dataset
Inputs: id (required).
delete_modelC
Delete a model
Inputs: id (required).
delete_worker_setC
Delete a worker set
Inputs: id (required).
execute_sql_queryC
Execute a SQL query against Rockfish datasets and return results in CSV format
Inputs: query (required), project_id.
get_active_organizationC
Get active organization
Inputs: no named parameters.
get_active_projectC
Get active project
Inputs: no named parameters.
get_databaseB
Get a specific database by ID
Inputs: id (required).
get_datasetC
Get a specific dataset by ID
Inputs: id (required).
get_dataset_query_bookmarksB
Retrieve the query bookmarks for a dataset
Inputs: dataset_id (required).
get_dataset_schemaC
Get the schema for a dataset
Inputs: id (required).
get_marginal_distribution_scoreB
Calculate marginal distribution score between two datasets (real vs synthetic). Lower score means more similar distributions.
Inputs: dataset_ids (required).
get_modelC
Get a specific model by ID
Inputs: id (required).
get_projectB
Get a specific project by ID
Inputs: id (required).
get_trained_model_idA
Extract the trained model ID from a completed training workflow. Only works on COMPLETED or FINALIZED workflows.
Inputs: workflow_id (required).
get_worker_setB
Get a specific worker set by ID
Inputs: id (required).
get_worker_set_actionsC
List the actions for a worker-set
Inputs: id (required).
get_workflowB
Get a specific workflow by ID
Inputs: id (required).
get_workflow_logsA
Stream logs from a workflow execution with configurable log level and collection timeout. Collects logs for specified duration (default 10s), useful for monitoring workflow progress and debugging. Call repeatedly to continue collecting logs from running workflows.
Inputs: workflow_id (required), timeout, log_level.
list_available_actionsB
List actions (or workers) from all worker-sets
Inputs: no named parameters.
list_databasesA
List all databases
Inputs: no named parameters.
list_datasetsB
List all datasets
Inputs: no named parameters.
list_modelsB
List all models
Inputs: no named parameters.
list_organizationsB
List all organizations
Inputs: no named parameters.
list_projectsB
List all projects
Inputs: no named parameters.
list_worker_groupsC
List all worker groups
Inputs: no named parameters.
list_worker_setsC
List all worker sets
Inputs: no named parameters.
list_workflowsB
List all workflows
Inputs: no named parameters.
obtain_synthetic_dataset_idA
Extract the synthetic dataset ID from a completed generation workflow. Only works on COMPLETED or FINALIZED workflows.
Inputs: generation_workflow_id (required).
obtain_train_configA
Generate training configuration for synthetic data models. Returns a cached train_config_id for use in start_training_workflow. Supports TabGAN (rf_tab_gan) and TimeGAN (rf_time_gan).
Inputs: dataset_id (required), model_type (required).
plot_distributionA
Generate distribution plot comparing datasets for a specific column. Returns base64-encoded PNG image. Automatically chooses bar plot (categorical) or KDE plot (numerical).
Inputs: column_name (required), dataset_ids (required).
start_generation_workflowC
Start a workflow to generate synthetic data from a trained TabGAN model.
Inputs: model_id (required).
start_training_workflowA
Build and start a training workflow using a cached config. Automatically detects model type from train_config structure. Use this after obtaining train_config_id from obtain_train_config.
Inputs: dataset_id (required), train_config_id (required).
update_databaseD
Update a database
Inputs: id (required), name, description.
update_datasetC
Update a dataset
Inputs: id (required), name, description.
update_projectC
Update a project
Inputs: id (required), name, description.
update_train_configC
Update training configuration. Modify model hyperparameters (epochs, batch_size, etc.) and/or encoder field classifications (categorical, continuous, ignore). See https://docs.rockfish.ai/model-train.html for config structure.
Inputs: updates (required), train_config_id (required).
update_workflowC
Update a workflow
Inputs: id (required), name, definition.
upload_modelC
Upload a new model
Inputs: name (required), metadata.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 44 tools
Most tools target a distinct resource and action (e.g., create_dataset, get_workflow, start_training_workflow). A few listing tools overlap in scope, such as list_available_actions versus get_worker_set_actions, and list_worker_groups versus list_worker_sets, but descriptions generally clarify the differences.
Nearly all tools follow a consistent snake_case verb_noun pattern. Minor deviations include using obtain instead of get for extraction tools and upload_model instead of create_model, but the overall convention remains predictable.
With 44 tools, the surface is heavy for the apparent synthetic-data platform scope. While the domain is broad, many operations could likely be consolidated or grouped, and 25+ tools is generally too many for an agent to navigate efficiently.
Core synthetic data lifecycle is well covered: dataset CRUD, SQL query, model upload, training config, training workflow, generation workflow, and evaluation plots. Minor gaps exist, such as missing delete_project, delete_workflow, and update_model, but agents can work around these.
Maintenance
Related MCP Connectors
Run any Relay model (image, video, audio, LLM), poll tasks, upload files and search Relay's docs.
List datasets, schemas, run APL queries, and use prompts for exploration, anomalies, and monitoring.
AI-powered data integration platform. Onboard users and run DPF data workflows.
Access Oi Contexts, Workflows, Skills, Guardrails, Connections, and reporting tools.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Rockfish's machine learning platform through comprehensive API access. Supports managing databases, worker sets, workflows, models, projects, and datasets for ML operations.MIT
- AlicenseNot gradedqualityDmaintenanceEnables semantic retrieval and knowledge base management through the RAGFlow API, including dataset, document, chunk, chat, and graph operations.7MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to train and run TabPFN models for tabular classification and regression tasks via the TabPFN API.1MIT

Civis MCP Serverofficial
AlicenseNot gradedqualityCmaintenanceEnables interaction with the Civis Platform for data exploration, querying, and workflow execution. Supports schema-restricted read-only mode and tools like run_query, list_tables, and publish_html_report.BSD 3-Clause