Skip to main content
Most connection problems are caused by the URL, the transport, or sign-in. Check these first:

Common problems

The browser shows 405 Method Not Allowed

That’s expected. MCP clients send POST requests to the server, and a browser sends a GET, which the server rejects with 405. Add the URL to an MCP client instead, as the Quickstart shows.

The client was added with the wrong transport

Biohub MCP uses Streamable HTTP. A client set up with the older SSE transport opens the connection with a GET request, gets 405, and fails to connect. It can even finish sign-in in the browser and then fail to reconnect with 405. Remove the entry and add it again with HTTP. In Claude Code:
If you first added it with --scope user or another scope, pass the same scope again. Then enter /mcp, select biohub, and sign in again. In other clients, select Streamable HTTP or HTTP as the server type.

No tools show up

  1. Confirm the URL is exactly https://biohub.ai/mcp.
  2. Make sure you finished signing in. Tools appear only after sign-in; see Sign-in problems if your client still asks you to sign in.
  3. Make sure the server is turned on for your chat. In Claude, click +, select Connectors, and turn on Biohub. In ChatGPT, select Developer mode from the + menu and select Biohub.
  4. Refresh the client’s server list, or restart the client.
  5. Ask your assistant to list the Biohub tools. You should see the tools listed in the Overview.
To check that the server itself is up, send it a request without signing in:
The server answers with HTTP 401 and prints a line like this one:
That line tells your client where to find the sign-in page. It means the server is working and waiting for you to sign in.

The tool names have a prefix

Many clients add the server name to each tool, for example mcp__biohub__esm_atlas_search_uniprot. The tools are the same.

The assistant ignores a Skill

  1. Name the Skill in your request, such as “Using the Biohub MCP waveorder-tutorial Skill, …”.
  2. If it still answers on its own, ask it to read the Skill’s SKILL.md URI, such as skill://waveorder-tutorial/SKILL.md, and follow it.
  3. If your client can’t read MCP resources, ask it to call read_resource with the same URI, or list_resources to see every Skill file; see MCP resource reference.
  4. If list_resources and read_resource are missing, refresh the client’s tool list or reconnect.

The assistant can’t run a Skill’s commands

The WaveOrder Skills run the wo command, uv, and napari on your computer, so they need a client that can run commands on a computer with a display. See Start a Skill.

ChatGPT doesn’t show Developer mode

Developer mode is available on the web for Plus, Pro, Business, Enterprise, and Education accounts. On a workspace plan, ask an admin to allow developer mode.

A call is slow or times out

Calls that compute on an ESM Atlas miss take longer, and a complex from ui_show_structure always runs a fold, which has 95 seconds to finish. Folds within the call and ESMC scans can also take tens of seconds. A fold that becomes a run returns at once; ask your assistant to check the run later with biohub_get_inference_run. A structure view with a PNG preview (include_png set to true) takes several seconds longer than one without. Each call has a 120-second deadline, after which the tool returns indeterminate. Some clients stop waiting sooner and report their own timeout. Don’t retry an indeterminate call automatically, because the work may already have started. Wait a while, then ask once more.

Why some calls take longer

How long a call takes depends on whether the tool can return a stored result or has to compute a new one. The ESM Atlas looks up the exact sequence you send. When it has no stored result, some tools compute one for your request:
  • esm_atlas_get_protein_details computes SAE features for sequences up to 2,048 residues.
  • esm_atlas_search_similar_protein_clusters computes the query’s features and can predict structures for up to six hits that don’t have one yet.
  • ui_show_structure predicts a protein’s structure for sequences up to 700 residues.
The folding and ESMC tools always start new work on the Biohub Platform and bill your account. Maximum-accuracy folds and folds over 768 tokens become runs that finish later, as Folding tools explains. Atlas tools and biohub_get_inference_run are marked read-only because they create nothing that you need to manage. ui_show_structure, the folding tools, and the ESMC tools are marked compute and non-idempotent, so your client can ask you to approve each call, even a free single-protein view. These annotations describe what a tool can do, not the input of one call. Calling a tool again can compute, and bill, again. Every call has a 120-second deadline. If it passes, or if the outcome of a compute step is unknown, the tool returns indeterminate. The work may have started, so don’t retry automatically: wait a while before asking again. A fold or ESMC call that started may also have been billed.

The structure appears only as an image or text

Your client doesn’t support MCP Apps, so it can’t show the interactive viewer. It shows the text result, so ask your assistant for a PNG preview if you want a picture. See What your client shows.

The download buttons are disabled

Downloads from the viewer need a client that supports file downloads. You can still explore the structure in the viewer.

The server returns 413 Request Entity Too Large

The request body was over 64 KiB, and it was rejected before it reached a tool. The response is an HTML page, not a JSON-RPC error. Send a smaller request.

A browser-based client gets 403 Forbidden Origin

The server rejects requests sent from web pages on other sites. Connect from a desktop app, a CLI, or your own server-side code instead of from browser JavaScript.

Sign-in problems

Biohub MCP asks you to sign in with a free Biohub account, and any verified email address can sign in. Many fixes below remove the server from your client and add it again, as Remove the server and add it again shows for each client. Some clients hide the server’s message, so match what your client shows to the closest row.

Remove the server and add it again

Removing the server from your client clears its saved sign-in and app identity, which fixes the sign-in errors that link here. For example, if you added Biohub MCP before it required sign-in, your client may say it needs authentication, or show this message:
To start over, remove the server from your client, add it again with the Quickstart steps, and sign in.

The client asks you to sign in again

Sign out of Biohub in the client, or clear its saved Biohub sign-in, then connect and sign in again in the browser. If the client asks again right after you sign in, remove the server and add it again. Never add a token or a key to the server URL or the client configuration to get around it.

Codex can’t sign in

Codex signs in with a client metadata document from version 0.148.0, through its own sign-in page on your computer. Otherwise it falls back to dynamic registration, which Biohub MCP also accepts.
  1. Run codex --version and update Codex if it’s older than 0.148.0.
  2. If ~/.codex/config.toml sets mcp_oauth_callback_url, remove that line.
  3. Run codex mcp logout biohub and codex mcp remove biohub, then add the server again as the Quickstart shows.

Codex sign-in fails with invalid_target

Codex 0.163.0 fails the last step of codex mcp login --no-browser with invalid_target. Run codex mcp login biohub without --no-browser, and complete the sign-in in the browser it opens.

Codex reports the resource parameter more than once

codex mcp login biohub can fail with a message that ends with The request includes the parameter 'resource' more than once. This happens when the server was added with the --oauth-resource flag. Remove the entry and add it again without the flag:

Sign-in reports an invalid client

The client is reusing an app identity the sign-in service no longer knows, such as a dynamic registration that was deleted. Remove the saved Biohub connection and add it again, as Remove the server and add it again shows.

Google sign-in succeeds, then returns you to sign-in

This can happen when you don’t have a Biohub account yet. Create a free account, then connect again. If it keeps happening, the sign-in page’s bot check may be blocked in your browser or network:
  • Use a current browser with JavaScript turned on.
  • Try a private window, which rules out saved data and most extensions.
  • If you’re allowed to, turn off extensions that block scripts or ads, or try without a VPN or proxy.
  • Make sure your network doesn’t block challenges.cloudflare.com.
If you contact us, include the time it happened, your browser and its version, and any error code the page shows, but never a token or a password.

Error codes

A failed tool call returns a JSON object with a stable code and a readable message. Some codes add fields, such as retry_after_seconds or actual_length and max_length.

Limits

Similarity search can return fewer than top_k hits, because the ESM Atlas leaves out matches with a similarity score below 0.5 and withholds hits that its guardrails restrict.

Still stuck?

Tell us what happened through the feedback form, including your client, the tool name, and the error code.