Skip to main content
The server exposes seven functions, plus deploy_tool when it runs against Modal, where you deploy tools yourself. They are grouped below by what the agent is doing: checking the workspace, discovering a tool, inspecting its contract, running it, and deploying one that is not available yet. Large outputs such as predicted structures and embeddings are written to disk and returned as file paths rather than inline, so a result never floods the agent’s context.
MCP calls these functions tools, and a client such as Claude Code lists them under that name. This page calls them functions so they stay distinct from the bioinformatics tools they operate on, which is the sense tool_key and list_tools already use.
A tool_key that matches nothing is returned as a result rather than an error, carrying did_you_mean suggestions and a reminder that keys take the form <model>-<action>, so an agent can correct itself without the call failing.

Workspace

The backend the server resolved, and how it is configured.
workspace_info() Source
Reports which backend the server resolved. On Modal it also reports the workspace and environment calls go to, how many apps are deployed, and whether Modal credentials are present.Takes no parameters.

Discover

Finding a tool in the catalog.
list_tools() Source
Lists the available tools. On Modal this defaults to the tools deployed in the workspace; on local every registered tool is available.
boolean
default:"true"
Restrict to tools actually deployed in this workspace. Pass false to see the full catalog, including tools that would have to be deployed first.
search_tools() Source
Finds tools by keyword, matching against the tool key and its description.
string
required
The keyword to match.
boolean
default:"true"
Restrict to deployed tools, as in list_tools.

Inspect

A tool’s typed contract: its schemas, an example input, and its citation.
get_tool_schema() Source
Returns the input, config, and output schemas for a tool. Arguments are validated strictly against them, and unknown fields are rejected.
string
required
The tool to describe.
get_tool_example() Source
Returns a known-good example input for a tool, or null when the tool declares none. Bulky values such as structure coordinates are elided, so the result shows the shape rather than a runnable payload.
string
required
The tool to fetch an example for.
get_tool_citation() Source
Returns the BibTeX citation and DOI for the method a tool implements.
string
required
The tool to fetch a citation for.

Run

Executing a tool and returning its result.
run_tool() Source
Runs a tool and blocks until it finishes. Most tools return in seconds once warm; the first call after a few minutes idle pays a container start and a model load, and some tools, such as binder design and diffusion, run for many minutes.
string
required
The tool to run.
object
The tool’s input model. Validated strictly against its schema.
object
The tool’s config model.
string
default:"./proto_tools_outputs"
Directory large output fields are written into.
boolean
default:"false"
Run the tool’s canonical example input without supplying it.
string
Override the server’s backend for this call alone — "local", "modal", or "proto". Omit it to use the backend the server was started with.

Deploy

Provisioning a tool on Modal. Not registered on the local backend, which has nothing to deploy.
deploy_tool() Source
Deploys the Modal app serving a tool. The deployment builds a container image and then executes the tool once, on a GPU where the tool requires one. Both are billed to your own Modal account, and both occur before any result is returned. The operation may take several minutes, and progress is reported as the build advances through its phases.
string
required
The tool to deploy.
string
required
The target Modal environment. Required rather than inherited, so an accidental deployment to production is not possible.
You are asked to confirm before anything is built. Declining deploys nothing and incurs no cost. A client that cannot present the prompt is treated as a refusal.

Next Steps

Installation

Install the extra, register the server, and select a backend.

Modal Integration

How the server uses Modal, and the confirmation step behind deploy_tool.

Tools

The catalog these tools operate over, with per-tool reference pages.

Quickstart

The same Input plus Config to Output contract, from Python.