What the Protein Atlas MCP server does
The Protein Atlas MCP server exposes selected Human Protein Atlas data for human genes and proteins. It supports gene discovery, protein-profile retrieval, and tissue-expression ranking. The service is keyless, so neither the remote endpoint nor the local package requires an API credential in the documented setup.
search_genes accepts a gene symbol or keyword and returns matching genes or proteins with Ensembl gene IDs, synonyms, and descriptions. The Ensembl ID is the identifier needed by the other two pack-specific tools. get_protein returns a shortened profile for one protein, including its gene and description, protein class, biological process, molecular function, RNA tissue distribution or specificity, subcellular location, and disease involvement. top_tissues orders human tissues by RNA expression using nTPM, from highest expression downward.
How it works
The Protein Atlas MCP server can be reached through the Pipeworx pack endpoint at https://gateway.pipeworx.io/protein-atlas/mcp. A client can discover and call the listed tools through MCP. The pack endpoint also exposes shared Pipeworx meta-tools, so its tools/list response contains more tools than the three specific to Human Protein Atlas data. The gateway's ask_pipeworx tool can route natural-language questions across the wider Pipeworx catalog.
A full Pipeworx connection at https://gateway.pipeworx.io/mcp exposes the broader catalog directly. Both gateway URLs use the same underlying gateway and data sources; the difference is which pack's tools are listed directly. For clients that do not use MCP, the documented HTTP API supports direct tool calls, such as posting a query to the protein_atlas_search_genes endpoint.
The local option runs the package over standard input and output. It provides only the Protein Atlas pack tools and does not add the gateway's shared meta-tools or cross-catalog routing.
Setup and configuration
For a remote MCP connection, add the pack URL to an MCP client configuration:
{
"mcpServers": {
"protein-atlas": {
"url": "https://gateway.pipeworx.io/protein-atlas/mcp"
}
}
}
The README specifically documents Claude Desktop, Cursor, and Windsurf as compatible client examples. The local configuration uses the published npm package:
{
"mcpServers": {
"protein-atlas": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-protein-atlas"]
}
}
}
You can also start the package directly with npx -y @pipeworx/mcp-protein-atlas. No account is required for the first documented gateway calls, and the standalone mode is described as requiring no Pipeworx account.
Tools and capabilities
search_genes: find human genes or proteins by symbol or keyword and obtain the Ensembl ID.
get_protein: retrieve selected functional, localization, expression, and disease fields for one Ensembl gene ID.
top_tissues: list the highest RNA-expressing human tissues for one Ensembl gene ID, ranked by nTPM.
A typical workflow starts with search_genes, uses its Ensembl ID as input to get_protein or top_tissues, and then examines the returned annotations or tissue ranking.
Limitations and notes
The pack-specific tools cover Human Protein Atlas lookups rather than arbitrary biological databases. The descriptions identify the data as human gene, protein, and tissue-expression information. Results from get_protein are trimmed profiles, not a statement that every field in the source record is available.
The remote pack endpoint includes shared Pipeworx meta-tools in addition to the three pack tools. If that additional tool schema increases context usage, the README recommends connecting to the full gateway once instead of adding multiple pack endpoints. The local stdio server avoids those shared tools but also lacks ask_pipeworx routing. Ensembl gene IDs must be obtained separately, normally through search_genes, before calling get_protein or top_tissues.