Documentation
Pharmaco-Net MCP Server
Setup, authentication, and a full reference for every tool this server exposes to
Claude and other MCP clients.
Overview
Pharmaco-Net is a computational drug discovery platform: protein structure
preparation, molecular docking, structure prediction, and ADMET analysis, run as
connected pipelines on a canvas. This server exposes that platform to AI assistants
over the Model Context Protocol (MCP), so you can build and run a real screening
pipeline through conversation instead of the web dashboard.
It does not create a separate account or data store. Every tool call acts on your
existing Pharmaco-Net account, using the same permissions and token balance you
already have there.
Getting started
- Add this server's MCP URL to your client's connector settings.
- Follow the login link and sign in with your Pharmaco-Net account, or with
Google if your account is linked that way.
- Once connected, ask your assistant something like "Find inhibitors for CDK2"
or "Run a docking screen on PDB 6LU7" to start a real session.
Your assistant will walk through research, planning, and confirmation before it
builds or runs anything. See How the assistant works below
for what to expect.
Authentication
This server uses OAuth 2.1 with PKCE. Signing in issues a scoped access token for
your existing Pharmaco-Net account, and this server never sees or stores your
password directly: the login form posts credentials straight to the Pharmaco-Net
authentication endpoint over HTTPS. Tokens are short-lived and refreshed
automatically by your client for as long as the connector stays authorized.
You can revoke access at any time from your MCP client's connector settings. See the
privacy policy for exactly what this server collects
and stores, and the terms of use for what you're
agreeing to by connecting.
How the assistant works
The assistant follows a Plan, Execute, Reflect loop and explains each step before
acting: it researches the target, proposes a pipeline and its estimated token cost,
waits for your approval, builds and runs it, and then summarizes the results. Tools
that spend tokens, upload data, or delete canvas nodes are confirmed with you before
they run, and their input schemas are validated up front so a malformed request
fails with a clear message instead of reaching the backend broken.
The tool reference below marks each tool's behavior: read
tools only fetch information, write tools change
something, destructive tools are irreversible
(deleting a node, spending tokens, overwriting a store), and
idempotent tools return the same result if
called again with the same arguments.
Tool reference
33 tools, grouped by area. Every tool takes its arguments inside a single
params object.
Modules & canvas
pharmaco_list_modulesList all computational modules available on this Pharmaco-Net instance.readidempotent
pharmaco_add_moduleAdd a computational module node to a simulation canvas.write
pharmaco_get_canvasGet every canvas node's live status plus overall pipeline progress and next-step guidance, in one call.readidempotent
pharmaco_connect_verticesConnect two canvas nodes so data flows from the source to the target.write
pharmaco_disconnect_verticesRemove the connection between two canvas nodes.writedestructive
pharmaco_delete_vertexRemove a module or data store node from the canvas. This is irreversible.writedestructive
pharmaco_get_moduleGet the current status and results of a module instance.readidempotent
pharmaco_get_module_errorsFetch errors and warnings recorded for a module instance.readidempotent
pharmaco_stop_modulePause a running module.write
pharmaco_restart_moduleResume or restart a stopped module.write
pharmaco_submit_moduleQueue a module node to start its computation. Spends tokens.writedestructive
pharmaco_presave_module_paramsStore parameters for a module without submitting it for execution yet.writeidempotent
Data stores
pharmaco_list_storesList all data store types available on this Pharmaco-Net instance.readidempotent
pharmaco_add_storeAdd a data store node to a simulation canvas.write
pharmaco_get_storeGet the current status of a data store instance.readidempotent
pharmaco_upload_to_storeUpload data to a store so it can provide values to connected modules. Cannot be changed in place once uploaded.writedestructive
pharmaco_list_ligand_librariesList all ligand libraries available for docking and screening workflows.readidempotent
Pipeline, projects & simulations
pharmaco_run_pipelineBuild a complete multi-module drug-discovery pipeline on the canvas in a single call.write
pharmaco_list_projectsList Pharmaco-Net projects the authenticated user has access to.readidempotent
pharmaco_create_projectCreate a new Pharmaco-Net project.write
pharmaco_get_projectRetrieve details of a specific Pharmaco-Net project by its ID.readidempotent
pharmaco_list_simulationsList all simulations inside a project.readidempotent
pharmaco_create_simulationCreate a new simulation (pipeline canvas) inside a project.write
Research & results
pharmaco_lookup_proteinFind the best PDB structures for a protein target before running a pipeline.readidempotent
pharmaco_search_literatureSearch PubMed for recent literature on a drug target.readidempotent
pharmaco_get_known_activesCheck PubChem BioAssay for known small-molecule actives against a target.readidempotent
pharmaco_enrich_resultsCross-reference top docking hits with PubChem and generate a data-grounded summary.readidempotent
pharmaco_suggest_next_stepsGenerate follow-up experiment recommendations after a run completes.readidempotent
pharmaco_save_experimentSave an experiment summary to the shared, anonymized research history.write
Tokens
pharmaco_get_balanceReturn the user's current Pharmaco-Net token balance.readidempotent
pharmaco_estimate_costEstimate the token cost of running a module and check affordability before submitting.readidempotent
pharmaco_get_purchase_urlReturn the URL of the Pharmaco-Net token purchase page.readidempotent
Session
pharmaco_check_sessionDiagnostic only: verify the underlying Pharmaco-Net account is still valid after another call fails with an auth-style error.readidempotent