MCP Server
The BioNodulo MCP server is an MCP server (built with FastMCP) that exposes the BioNodulo platform — the cloud app at bionodulo.com and, optionally, a locally running BioNodulo desktop app — to AI agents and chat clients such as Claude, Codex/ChatGPT, and Cursor.
With it connected, your AI client can act on your BioNodulo account directly: list and submit cloud runs, inspect failures, check your credit balance, manage workflows and files, and drive the local desktop execution engine — all through natural language.
What it can do
| Area | Examples |
|---|---|
| Account | Account info, cloud service health |
| Billing & credits | Credit balance, usage ledger, usage analytics, run cost estimates, invoices |
| Runs (cloud) | List, submit, poll status, fetch events/outputs, cancel |
| Workflows | List, get, create, update, delete saved workflows |
| Files | List files, presigned upload URLs, delete files |
| Hosted AI | AI paper-analysis status, chat with the hosted BioNodulo AI |
| Collab & team | Workflow share links, team member invites |
| Desktop app (local) | Node catalog, templates, validation, local run queue, logs, system stats |
In total the server exposes 38 tools, plus 3 resources
(bionodulo://account, bionodulo://credits, bionodulo://runs) and 3 guided
prompts. See the Tool Reference for the full list.
Architecture at a glance
- FastMCP server — a single Python package (
bionodulo-mcp) that wraps the BioNodulo cloud REST API and the desktop app’s local backend. - Two transports —
stdio(the default) for local clients that spawn the server as a subprocess (Claude Desktop, Claude Code, Codex), and streamable HTTP at/mcpfor remote web clients (ChatGPT web, Claude.ai web). - Clerk session JWT auth — the cloud API accepts a Clerk session JWT as a bearer token. Because these tokens are short-lived, the server can mint and refresh 10-minute session tokens server-side from a Clerk secret key, so clients never have to handle credentials.
- Optional desktop integration — when a BioNodulo desktop app is running
locally, the
desktop_*tools talk to its unauthenticated local backend (defaulthttp://127.0.0.1:8765).