Skip to main content

Local MCP client for Denario — owns local file/git I/O, delegates private research compute to the Cloud Run API.

Project description

denario-mcp

A lightweight, local MCP client for Denario. It runs on the user's machine and owns all local filesystem + git work; the private Denario research pipeline runs remotely on Cloud Run and only returns data. This is the air-sdk-style split applied to Denario — see ../DESIGN.md for the full architecture and rationale.

Why a local client

Running denario_setup remotely can never create a project on the user's disk, and gh repo create in a container would use the server's GitHub identity. So file/git work must be local. Only the confidential research compute is remote. See DESIGN.md §1.

Install

pip install -e ./denario-mcp     # from web/, during development
# or, once published:  pip install denario-mcp

The package is intentionally light — it depends only on mcp and httpx, not on the heavy Denario research stack. The denario_setup logic is vendored (stdlib-only) in setup_local.py.

Use with Claude Code

{
  "mcpServers": {
    "denario": {
      "command": "denario-mcp",
      "env": {
        "DENARIO_API_KEY": "…",                       // for remote compute steps
        "DENARIO_CLOUD_URL": "https://denario-web-….run.app"
      }
    }
  }
}

denario-mcp requires git and the GitHub CLI (gh, authenticated as the user) on PATH for denario_setup's repo creation.

Status

Tool State
denario_setup ✅ Implemented — runs fully locally, no network.
denario_idea ✅ Implemented — private compute runs remotely (POST /v1/compute/idea); idea.md is written + committed locally.
methods / results / paper / eda / literature ⏳ remaining — same pattern; long steps move to async jobs (/v1/jobs).

How a compute step flows (denario_idea)

client (denario-mcp)                         server (Cloud Run)
  read local data_description.md
  POST /v1/compute/idea  ───────────────────►  denario_compute.run_step("idea")
                                                  ephemeral dir, run pipeline,
                                                  return idea.md as data
  ◄─────────────────────────────────────────  { artifacts, log }
  write idea.md into local project dir
  git commit && push  (user identity)

The server never touches the user's disk or git; the client owns both.

Environment

Var Purpose
DENARIO_API_KEY Bearer token for the remote compute API.
DENARIO_CLOUD_URL Base URL of the Cloud Run compute API.
GITHUB_ORG Org/account for repo creation (default ParallelScience; see DESIGN §9).
SCIENTIST_NAME Used in derived repo slug + README (default denario).
DENARIO_MCP_LOG If set, log file path (keeps logs off stdout).

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

denario_mcp-0.2.0.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

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

denario_mcp-0.2.0-py3-none-any.whl (13.2 kB view details)

Uploaded Python 3

File details

Details for the file denario_mcp-0.2.0.tar.gz.

File metadata

  • Download URL: denario_mcp-0.2.0.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for denario_mcp-0.2.0.tar.gz
Algorithm Hash digest
SHA256 ade9187309d7158ad0a8b3e596cd7e92285b437f646227ada645d23c54a31001
MD5 1b92eb5693e2591d9b2a1c21beb61620
BLAKE2b-256 c5b6708115290d2866a73d264d43ff06688f5337c9fd55e76220043de0e6712a

See more details on using hashes here.

File details

Details for the file denario_mcp-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: denario_mcp-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 13.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for denario_mcp-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d4fc78a0112ca8cbbb75f9df684b838ae447607b1838da8b99e542dbf737c5b4
MD5 72a0cd934a5c8881c224469b0f56f31c
BLAKE2b-256 d9064f20b2a19858a5ea9764f0f5a4a7e0d7715a547b57de9d0a4140903d7328

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