denario-mcp
A lightweight, local MCP client for Denario — an AI research assistant you drive from Claude. It runs on your machine and owns all local filesystem + git work; the private research pipeline runs remotely on Google Cloud Run and only ever returns generated data (text, PDFs), never source code.
Why a local client
Running project setup remotely could never create files on your own disk, and creating a GitHub repo from inside a container would use the server's GitHub identity, not yours. So all file and git work happens locally, under your own identity — only the confidential research compute itself is remote.
Install
pip install denario-mcp
Deliberately lightweight: it depends only on mcp and httpx, not on the
Denario research stack itself — that stays entirely on the server.
git and the GitHub CLI (gh, signed in via gh auth login) are
optional. Without them your project is still created and every generated
file is still written to disk — only the git/GitHub side of a few tools is
skipped.
Use with Claude Code
claude mcp add denario \
-e DENARIO_API_KEY=denario_live_your_key_here \
-e DENARIO_CLOUD_URL=https://denario-mcp-engine-tnf7nmfboa-uc.a.run.app \
-- denario-mcp
Or, editing the MCP config by hand (~/.claude.json, or a project's
.mcp.json):
{
"mcpServers": {
"denario": {
"command": "denario-mcp",
"env": {
"DENARIO_API_KEY": "denario_live_your_key_here",
"DENARIO_CLOUD_URL": "https://denario-mcp-engine-tnf7nmfboa-uc.a.run.app"
}
}
}
}
Get an API key and the full walkthrough at denario-web.vercel.app/tutorial.
Tools
| Tool | Runs | What it does |
|---|---|---|
denario_setup |
Local | Creates the project directory, data_description.md, and a local git repo with an initial commit. |
denario_idea |
Local + remote | Generates a research idea from data_description.md. |
denario_methods |
Local + remote | Generates the methodology from the data description + idea. |
denario_evaluate |
Local + remote | Evaluates an iteration's results and returns a decision: iterate (run denario_methods again) or write the paper. |
denario_classify |
Local + remote | Classifies the generated paper into arXiv categories. |
denario_paper |
Local + remote | Writes the paper and compiles it to PDF (~10 minutes). |
denario_publish |
Local | Updates README.md from the paper, commits, pushes, and enables GitHub Pages. |
denario_status |
Local | Reports which iterations exist and which is most complete. |
denario_read_file |
Local | Reads a file from the local project. |
denario_list_files |
Local | Lists files in the local project matching a glob pattern. |
Every "local + remote" tool follows the same shape:
client (denario-mcp) server (Cloud Run)
read local input file(s)
POST /v1/compute/<step> ─────────────────► run the pipeline in an ephemeral dir
◄───────────────────────────────────────── { artifacts, log[, result] }
write artifacts into the local project dir
git commit (and push, if enabled — see below)
The server never touches your disk or your git identity; this client owns
both. Long steps (like denario_paper) are handled transparently whether the
server runs them synchronously or as an async job it polls to completion —
nothing to configure on your end.
GitHub integration is opt-in
By default, nothing is pushed to GitHub — every step commits locally
only. Set DENARIO_GITHUB_PUSH=1 to have denario_setup create a GitHub
repo under your own identity and have each step push after committing.
denario_publish is the one exception: it always pushes, since publishing is
an explicit action regardless of that setting.
Environment
| Var | Purpose | Default |
|---|---|---|
DENARIO_API_KEY |
Bearer token for the remote compute API. | — (required for remote tools) |
DENARIO_CLOUD_URL |
Base URL of the compute API. | — (required for remote tools) |
DENARIO_GITHUB_PUSH |
Opt in to automatic GitHub repo creation + pushes. | off |
GITHUB_ORG |
Org/account for created repos. | ParallelScience |
SCIENTIST_NAME |
Used in the derived repo slug + README. | denario |
DENARIO_MCP_LOG |
If set, log file path (keeps logs off stdout, which carries the MCP protocol). | none |
DENARIO_MCP_LOG_LEVEL |
Log level. | INFO |
DENARIO_BUILD_PAGE_SCRIPT |
Optional external script to build a GitHub Pages site for denario_publish. |
none |
DENARIO_LIVE_TEST |
Set to 1 to run the opt-in live smoke test against a real deployment. |
unset |
Development
pip install -e ".[test]"
python -m pytest -m "not live"
That last flag skips the one opt-in test that hits a real deployment
(gated separately by DENARIO_LIVE_TEST=1, so it never runs by accident).
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 denario_mcp-0.7.2.tar.gz.
File metadata
- Download URL: denario_mcp-0.7.2.tar.gz
- Upload date:
- Size: 27.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cceb3a82af5c70e8eb1d5604998c385f9f7145370568bdd9e020108bd5da27af
|
|
| MD5 |
49d3f03dc110878b489c22e14ba57929
|
|
| BLAKE2b-256 |
d089e33048c03ddda4d9237adba77ccf8fea36c59b8fbb62e480da4526c1e0d1
|
File details
Details for the file denario_mcp-0.7.2-py3-none-any.whl.
File metadata
- Download URL: denario_mcp-0.7.2-py3-none-any.whl
- Upload date:
- Size: 21.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f46f2e8172d1a7d03911fa382d728806df6c20e8563f8ff55d35426c182a4824
|
|
| MD5 |
2cb3b07d8cbba7f150f1084dd58024c9
|
|
| BLAKE2b-256 |
e8dc6ca7df7dbcac7ea929546a20f4102cccf8c03618bd8b18f465f622df35b6
|