mcp-registry/org.string-db/string-mcp · v2.14.7
Also listed as glama/meringlab/string-mcp
As of 2026-10-17 07:26 UTC, the String Db String MCP server is up with a Glimind reliability score of 96/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks.
Query STRING interactions, enrichment, annotations, homology, and PPI networks.
Claude Code
claude mcp add --transport http string-db-string-mcp-server https://mcp.string-db.org/
Claude Desktop · Windsurf · Cline (mcpServers JSON)
{
"mcpServers": {
"string-db-string-mcp-server": {
"type": "http",
"url": "https://mcp.string-db.org/"
}
}
}
Third-party server, listed as discovered. Review its source before installing.
17 of 17 tool(s) carry no readOnlyHint/destructiveHint annotations.
Annotate read-only tools with {"readOnlyHint": true}. Agents and gateways can then run them without a confirmation prompt, and route around destructive ones.
1 tool(s) look like they change state (create/send/delete/pay…) but declare no destructiveHint.
Set annotations {"readOnlyHint": false, "destructiveHint": true|false, "idempotentHint": …}. Clients use these to ask the user before a side effect and to auto-approve safe reads.
Handshake + tools/list takes ~2,239 ms.
Serve tools/list from memory, keep the process warm, and host close to your users. Every new agent session pays this before its first call.
In the last 30 days: 0 tool(s) removed and 33 schema change(s).
Add new tools or optional parameters instead of renaming or removing; deprecate first (say so in the description) and remove later. Agents cache tool contracts.
Paste-ready definitions with the problems above fixed. Changes marked verify need a human look. All of them as JSON: /v1/readiness/mcp-registry%2Forg.string-db%2Fstring-mcp/fixes
{
"name": "string_all_interaction_partners",
"description": "Retrieves all interaction partners for one or more proteins from STRING.\n\nThis tool returns all known interactions between your query protein(s) and **any other proteins in the STRING database**.\n\n- Use this when asking **“What does TP53 interact with?”**\n- It differs from `string_interactions_query_set`, which only shows interactions **within the input set** or a limited extension of it.\n\nYou can filter for strong interactions using `required_score`.\n\n- Evidence scores: \n `nscore` (neighbor",
"inputSchema": {
"type": "object",
"required": [
"identifiers"
],
"properties": {
"species": {
"type": "string",
"default": null,
"description": "NCBI taxonomy ID (e.g. 9606 for human) or STRING genome ID (e.g. STRG0AXXXXX for uploaded genomes). Only set when required."
},
"identifiers": {
"type": "string",
"examples": [
"TP53%0dSMO"
],
"description": "One or more protein identifiers, separated by carriage return (%0d)."
},
"network_type": {
"anyOf": [
{
"enum": [
"functional",
"physical",
"regulatory"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Omit for the default functional network. Its typed view can include physical and directed regulatory attributes when STRING returns them; inspect `physical` and `regulatory.directions` before claiming those edge types. Set physical for binding, complex, or co-complex questions. Set regulatory for directed regulatory relationships between proteins."
},
"network_flavor": {
"anyOf": [
{
"enum": [
"evidence",
"confidence",
"typed"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Defaults are typed for functional networks, evidence for physical networks, and confidence for regulatory networks. Typed returns functional pairs with any physical and directed regulatory attributes that STRING reports; it does not make every pair physical or regulatory. Typed is available only for functional networks. Set evidence or confidence only when the user requests that edge display style."
},
"required_score": {
"anyOf": [
{
"type": "integer",
"maximum": 1000,
"minimum": 0
},
{
"type": "null"
}
],
"default": null,
"description": "Minimum interaction score to include. Omit unless a confidence threshold is requested or a broader/narrower threshold is needed."
}
}
},
"annotations": {
"readOnlyHint": true
},
"title": "STRING: Get all interaction partners for proteins"
}{
"name": "string_create_file",
"description": "Creates a downloadable file for STRING-derived results.\n\nUse this tool when the user explicitly asks to download, save, export,\nor receive a file containing STRING data, tables, protein lists,\nenrichment results, networks, etc.\n\nWhen a response would otherwise include a publication-style or supplementary\nresult table, or another table clearly intended for reuse outside chat,\nmention that a downloadable TSV/CSV file can be generated on request. Ask\nwhether they want the file, unless they already ",
"inputSchema": {
"type": "object",
"required": [
"filename",
"content"
],
"properties": {
"content": {
"type": "string",
"description": "STRING-derived file content. For .tsv/.csv: one rectangular table, one header row, matching delimiter, no Markdown/prose/repeated headers/multiple tables. Use one row per entity, edge, cluster member, annotation, or enrichment term. Use bare numeric scores/FDR/p-values; put interpretation and caveats in chat or .md/.txt."
},
"filename": {
"type": "string",
"examples": [
"string-enrichment.tsv"
],
"description": "Suggested output filename with a safe extension such as .tsv, .csv, .json, .md, or .txt. Match content to the extension; prefer .tsv for reusable tabular STRING data. Use a concise name that reflects the STRING analysis result."
}
}
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false
},
"title": "STRING: Create a downloadable STRING result file"
}{
"name": "string_enrichment_image_url",
"description": "Retrieves a STRING enrichment figure (image URL) for a set of proteins. For the enriched terms and FDR values, use `string_enrichment`.\n\n- Each figure shows a single enrichment category; call again with another `category` to show a different one.\n- Use the same proteins and species as the network and enrichment results already shown to the user, so the figure matches them.",
"inputSchema": {
"type": "object",
"required": [
"identifiers"
],
"properties": {
"x_axis": {
"anyOf": [
{
"enum": [
"signal",
"strength",
"FDR",
"gene_count"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Value shown on the X-axis; also selects and orders the terms. If omitted, STRING uses signal."
},
"species": {
"type": "string",
"default": null,
"description": "NCBI/STRING taxon (e.g. 9606 for human, or STRG0AXXXXX)."
},
"category": {
"anyOf": [
{
"enum": [
"Process",
"Function",
"Component",
"Keyword",
"KEGG",
"RCTM",
"HPO",
"MPO",
"DPO",
"WPO",
"ZPO",
"FYPO",
"GWAS",
"Hallmark",
"Pfam",
"SMART",
"InterPro",
"PMID",
"NetworkNeighborAL",
"COMPARTMENTS",
"TISSUES",
"DISEASES",
"WikiPathways"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Term category for enrichment. If omitted, STRING uses Process. Use Process/Function/Component for GO, KEGG for KEGG pathways, RCTM for Reactome, and PMID for publications."
},
"graph_type": {
"anyOf": [
{
"enum": [
"dotplot",
"barplot"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Plot type: dotplot or barplot (horizontal bar chart). If omitted, STRING uses dotplot."
},
"identifiers": {
"type": "string",
"examples": [
"SMO%0dTP53"
],
"description": "Protein identifiers, separated by %0d."
},
"color_palette": {
"anyOf": [
{
"enum": [
"mint_blue",
"red_blue",
"lime_emerald",
"green_blue",
"peach_purple",
"straw_navy",
"yellow_pink"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Color palette for FDR. If omitted, STRING uses mint_blue."
},
"group_by_similarity": {
"anyOf": [
{
"type": "number",
"maximum": 1,
"minimum": 0.1
},
{
"type": "null"
}
],
"default": null,
"description": "Visually groups terms based on term similarity. Default: 0.8. Details: string_help topic 'enrichment_grouping'."
},
"number_of_terms_shown": {
"anyOf": [
{
"type": "integer",
"minimum": 1
},
{
"type": "null"
}
],
"default": null,
"description": "Max number of terms shown on plot. Default: 10."
}
}
},
"annotations": {
"readOnlyHint": true
},
"title": "STRING: Get enrichment result figure (image URL)"
}Get an email or webhook when this server's readiness drops by 10+ points, tool-poisoning text appears, or a tool breaks:
curl -X POST https://glimind.com/v1/subscriptions -H 'content-type: application/json' -d '{"tools":["mcp-registry/org.string-db/string-mcp"],"email":"[email protected]"}'Agents: watch_tool({"toolId": "mcp-registry/org.string-db/string-mcp"}) over MCP.
string_network_clustering ~1,100 tokensstring_visual_network ~904 tokensstring_network_link ~757 tokensstring_interactions_query_set ~714 tokensstring_enrichment_image_url ~641 tokensStatic checks of the advertised tools/list (schema, descriptions, annotations, tool-poisoning patterns, names, size) plus observed protocol, uptime, latency and contract changes. Read-only: no tool is ever called. Weights: schema 15, docs 20, safety 15, efficiency 15, compatibility 15, protocol 5, reliability 10, stability 5. Token counts are estimates (~3.6 characters per token).
Operator? Fix these, then re-check live. Embed the readiness badge:
[](https://glimind.com/server/mcp-registry%2Forg.string-db%2Fstring-mcp?ref=badge)
<a href="https://glimind.com/server/mcp-registry%2Forg.string-db%2Fstring-mcp?ref=badge"><img src="https://glimind.com/v1/readiness/badge/mcp-registry%2Forg.string-db%2Fstring-mcp.svg" alt="MCP agent-readiness"></a>
.. image:: https://glimind.com/v1/readiness/badge/mcp-registry%2Forg.string-db%2Fstring-mcp.svg :target: https://glimind.com/server/mcp-registry%2Forg.string-db%2Fstring-mcp?ref=badge :alt: MCP agent-readiness
Glimind records every version of this server's tool definitions in a signed, append-only transparency log. Current manifest sha256:846ecdc0d95ad5a5…, first seen 2026-10-17, included at leaf 14012 of 17,120. Version history · verify what your client received.
Compare: most reliable knowledge servers · most reliable data servers · most reliable search servers · most reliable files servers · most reliable bioinformatics servers
Glimind tells agents whether a server is up right now and how to call it, then fails over to a live alternative when it isn't.
Claude Code
claude mcp add --transport http glimind https://glimind.com/mcp
Claude Desktop · Windsurf · Cline (mcpServers JSON)
{
"mcpServers": {
"glimind": {
"type": "http",
"url": "https://glimind.com/mcp"
}
}
}
As of 2026-10-17 07:26 UTC, the String Db String MCP server is up with a Glimind reliability score of 96/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks.
String Db String MCP server advertises 25 tools, including access_evidence_links, cluster_and_visualize_network, functional_enrichment_analysis, get_functional_annotations, homology_lookup.
Point your MCP client at this streamable-http endpoint: https://mcp.string-db.org/
Glimind scanned all 17 tool definitions for tool-poisoning patterns — hidden or invisible characters, instructions that override the model, concealment from the user, requests to read credential or MCP config files, conversation exfiltration and cross-tool shadowing — and found none. This checks what the server tells the model, not what its code does; review the source before granting access to sensitive data.
Status page: 90-day uptime, every outage and how long it lasted.
Claim this listing to get the Verified operator marker, a remediation checklist and owner analytics, or embed the live badge from any of the tool pages above. Maintainers: alerts, deploy attestation and monthly reports.
Status is an automated estimate from Glimind's liveness checks (handshake and tool listing only; no tool is ever called) and may lag or differ from your network. Glimind is not affiliated with this server or its operator. Operator? Request a correction or opt out at https://glimind.com/opt-out.