
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
- 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
- 2Paste the BioThings MCP config below.
- 3Fill in placeholder secrets, then save.
- 4Click Refresh in the MCP panel.
- 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
GeneToolsGene interface wrapping GeneClientAsync — query and annotate genes via mygene.info.
VariantToolsVariant interface wrapping VariantClientAsync — query and annotate genetic variants via myvariant.info.
ChemToolsChemical interface wrapping ChemClientAsync — query and annotate chemical compounds via mychem.info.
TaxonToolsTaxon interface wrapping TaxonClientAsync — query and resolve taxonomy data.
download_entrez_dataDownload data from NCBI Entrez databases and return the content as a string.
download_entrez_data_localDownload 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).