Skip to main content
Docs

Search guides and API endpoints, for example “Idempotency-Key” or “submit job”.

    SDKs

    MCP server

    Connect Claude Code, Cursor, and other MCP clients to CogniChem with an API key.

    Updated October 7, 2026

    On this page

    The CogniChem MCP server gives AI clients that speak the Model Context Protocol the same tools you use: find tools and workflows, estimate, submit and follow jobs and runs, read results, and look up compounds and targets. It runs at:

    https://mcp.cognichem.com/mcp

    There is nothing to install. Your client sends your API key with each request; you pay your own model costs, and CogniChem bills only the compute you start.

    Create a key for it

    Create a dedicated API key for each client:

    • the read scope, plus write only if the client should start work;
    • an expiry date;
    • a spend ceiling, so a runaway session can't spend more than you intend.

    Connect

    Claude Code:

    claude mcp add --transport http cognichem https://mcp.cognichem.com/mcp \
      --header "X-Api-Key: $COGNICHEM_API_KEY"

    Cursor (~/.cursor/mcp.json, or .cursor/mcp.json in a project):

    {
      "mcpServers": {
        "cognichem": {
          "url": "https://mcp.cognichem.com/mcp",
          "headers": { "X-Api-Key": "your-api-key" }
        }
      }
    }

    Other clients that support remote (Streamable HTTP) servers with custom headers work the same way. Clients that only connect to remote servers through OAuth aren't supported yet.

    What the client can do

    FamilyToolsScope
    Cataloglist_job_types, get_job_schema, list_utility_types, get_utility_schema, get_inference_schemanone
    Product graphkg_product_search, kg_product_get, kg_product_neighborhood, kg_product_how_to_runnone
    Jobsestimate_job, list_jobs, get_job_status, wait_for_job, inspect_job_artifact, download_job_recordread
    submit_<job_type> (one per job type), cancel_jobwrite
    Workflowsvalidate_workflow, estimate_workflow, list_workflow_templates, get_workflow_node_ports, list_workflow_runs, get_workflow_run, wait_for_workflow_runread
    create_workflow_run, cancel_workflow_run, resume_workflow_runwrite
    Artifactslist_artifacts, get_artifact_recordread
    Lookupsresolve_compounds, lookup_chembl, lookup_targets, lookup_uniprot, lookup_pdb, lookup_propertiesread
    Reference paperskg_reference_search, kg_reference_get, kg_reference_neighborhoodread
    Walletget_wallet_balanceread
    Utilitieslist_utility_calls, get_utility_status, get_utility_resultread
    util_<utility_type>, cancel_utility_call, delete_utility_callwrite
    Inferencelist_inference_models, list_inference_calls, get_inference_status, get_inference_resultread
    infer_<model_type>, cancel_inference_call, delete_inference_callwrite

    Each tool calls the REST API with your key, so the key's scopes, expiry, and spend ceiling apply as they do in your own code. A read key calling a write tool gets the 403 back as a tool error.

    Good to know

    • Write tools take an idempotency_key (a UUID). A well-behaved client keeps the same key when it retries a submit.
    • create_workflow_run tells the model to validate and estimate first and show you the estimate; the server prices the run again when it starts and holds that amount.
    • Waiting tools (wait_for_job, wait_for_workflow_run, and get_utility_result / get_inference_result with max_wait_sec) return after at most 25 seconds while the work is still running, with a timeout error the client answers by calling again.
    • Files: upload them in the app or with Upload a CogniChem-compatible library artifact, then let the client refer to them by artifact id.
    • Lookups send only names and IDs to outside databases. ChEMBL similarity and substructure search send SMILES only for a key with structure search turned on.
    • Utilities and inference aren't wallet-charged, so a key's spend ceiling doesn't limit them; they count toward your monthly allowances.

    The in-app Assistant is separate: it uses a read-and-propose subset of these tools, and you approve every run.