MCP Directory

How to add BioThings MCP to Windsurf

Query genes, variants, chemicals, and taxa from BioThings.io (mygene, myvariant, mychem) in your AI client. Paste the config into ~/.codeium/windsurf/mcp_config.json and restart Windsurf.

Last updated June 14, 2026 · 32 · stdio · no auth

Windsurf config for BioThings MCP

uvx biothings-mcp
{
  "mcpServers": {
    "biothings-mcp": {
      "command": "uvx",
      "args": [
        "--from",
        "biothings-mcp",
        "stdio"
      ]
    }
  }
}

Requires `uv` (the Python package runner). Install it from https://docs.astral.sh/uv/ if `uvx` is not found.

Setup steps

  1. 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
  2. 2Paste the BioThings MCP config below.
  3. 3Fill in placeholder secrets, then save.
  4. 4Click Refresh in the MCP panel.
  5. 5BioThings MCP's tools become available to Cascade.

Before you start

  • uv / uvx (Astral) installed to run the server, OR Python with the biothings-mcp PyPI package
  • Node.js + npx only if you want to use the MCP Inspector or the remote proxy config

What BioThings MCP can do in Windsurf

GeneTools

Gene interface wrapping GeneClientAsync — query and annotate genes via mygene.info.

VariantTools

Variant interface wrapping VariantClientAsync — query and annotate genetic variants via myvariant.info.

ChemTools

Chemical interface wrapping ChemClientAsync — query and annotate chemical compounds via mychem.info.

TaxonTools

Taxon interface wrapping TaxonClientAsync — query and resolve taxonomy data.

download_entrez_data

Download data from NCBI Entrez databases and return the content as a string.

download_entrez_data_local

Download data from NCBI Entrez databases and save it to a local file (FASTA, GenBank, alignment, JSON, or text).

Security

The publicly hosted and HTTP/streamable configs reference an API_ACCESS_TOKEN env value, but the default stdio mode runs locally with no authentication. The download tools write files to the local filesystem (default ./biothings_output/), so be mindful of the output directory when granting the server access. The maintainers describe the library as beta-quality.

BioThings MCP + Windsurf FAQ

Where is the Windsurf config file?

Windsurf reads MCP servers from ~/.codeium/windsurf/mcp_config.json. Paste the BioThings MCP config there under the "mcpServers" key and restart the client.

Is BioThings MCP safe to use with Windsurf?

The publicly hosted and HTTP/streamable configs reference an API_ACCESS_TOKEN env value, but the default stdio mode runs locally with no authentication. The download tools write files to the local filesystem (default ./biothings_output/), so be mindful of the output directory when granting the server access. The maintainers describe the library as beta-quality.

Do I need to clone the repo to run it?

No. You can run it directly with uvx (e.g. `uvx biothings-mcp` for stdio, or `uvx --from biothings-mcp server run` for HTTP) without cloning.

Is there a hosted version?

Yes. A publicly hosted server is available at https://biothings.longevity-genie.info/mcp via the mcp-config-remote.json configuration, so you don't need to run anything locally.

What transports are supported?

stdio (default), HTTP streamable (default port 3001 at /mcp), and SSE (Server-Sent Events).

View repo Full BioThings MCP page