Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

STRING Database MCP Server

REMOTE · MCP.STRING-DB.ORG · SCANNED SEP 26

Query STRING interactions, enrichment, annotations, homology, and PPI networks.

0 this week 74 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security57
Transport & Reachability100
Schema Quality & AI Usability58
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 4499 tokens (~264/item across 17 items; 17 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage80
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 29% of tool parameters carry a description.Partial
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 17 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 17 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the STRING Database MCP Server server?

STRING Database MCP Server is a hosted endpoint at https://mcp.string-db.org/, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · mcp.string-db.org

# add to Claude Code
claude mcp add --transport http org-string-db-string-mcp 'https://mcp.string-db.org/'
// .cursor/mcp.json
{
  "mcpServers": {
    "org-string-db-string-mcp": {
      "url": "https://mcp.string-db.org/"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "org-string-db-string-mcp": {
      "type": "http",
      "url": "https://mcp.string-db.org/"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.org-string-db-string-mcp]
url = "https://mcp.string-db.org/"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "org-string-db-string-mcp": {
      "type": "remote",
      "url": "https://mcp.string-db.org/",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add org-string-db-string-mcp --url 'https://mcp.string-db.org/' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  org-string-db-string-mcp:
    url: "https://mcp.string-db.org/"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "org-string-db-string-mcp": {
      "Transport": "http",
      "Url": "https://mcp.string-db.org/"
    }
  }
}
# add to Vellum
assistant mcp add org-string-db-string-mcp -t streamable-http -u 'https://mcp.string-db.org/'
// mcp.json
{
  "mcpServers": {
    "org-string-db-string-mcp": {
      "type": "http",
      "url": "https://mcp.string-db.org/"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 25 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 25 Aug 26 0
    • Stability: 0.97 → pass security
  • 11 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 8 Aug 26 0
    • MCP protocol: fail → pass ▲ functional
    • MCP protocol version: 2025-06-18 → 2025-11-25 functional
    • Server version: 2.13.1 → 2.14.7 functional
  • 7 Aug 26 0
    • The server no longer declares the “experimental” capability functional
  • 6 Aug 26 0
    • Authorization: Authorisation not fully verified: no authorisation is required to call this server, and 17 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. security
    • Schema quality: unverified → fail ▼ functional
    • Schema quality: unverified → fail ▼ functional
    • Tool coverage: unverified → 100 ▲ functional
    • Schema quality: unverified → good ▲ functional
    • First check of Tool coverage: 29 functional
    • First check of Tool coverage: 100 functional
    • New tool “string_all_interaction_partners” functional
    • New tool “string_create_file” functional
    • New tool “string_enrichment” functional
    • New tool “string_enrichment_image_url” functional
    • New tool “string_functional_annotation” functional
    • New tool “string_help” functional
    • New tool “string_homology” functional
    • New tool “string_interaction_evidence” functional
    • New tool “string_interactions_query_set” functional
    • New tool “string_network_clustering” functional
    • New tool “string_network_link” functional
    • New tool “string_ppi_enrichment” functional
    • New tool “string_proteins_for_term” functional
    • New tool “string_query_species” functional
    • New tool “string_resolve_proteins” functional
    • New tool “string_sequence_search” functional
    • New tool “string_visual_network” functional
  • 31 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 26 Sept 2026 · Probed https://mcp.string-db.org/

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=string-db.org CN=YE1,O=Let's Encrypt,C=US 19 Sept 2026 18 Dec 2026 ECDSA 256 ECDSA-SHA384 56ab9db01ad8fa0c74c8b96e0db4c9eba33
SANs: *.string-db.org, string-db.org
CN=YE1,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 5ddd70dd31f801c85c186a7a04b80afe
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of mcp.string-db.org. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
org. present 26974 8 Verified
string-db.org. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://mcp.string-db.org/ Verified 200
http (plaintext) http://mcp.string-db.org/ HTTPS enforced 301 https://mcp.string-db.org/
MCP tools · 17 exposed · ~4,499 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
string_all_interaction_partners ~238

Retrieves all interaction partners for one or more proteins from STRING. This tool returns all known interactions between your query protein(s) and **any other proteins in the STRING database**. - Use this when asking **“What does TP53 interact with?”** - It differs from the `network` tool, which only shows interactions **within the input set** or a limited extension of it. - If the user refers to "physical interactions", "complexes", or "binding", set the network type to "physical". You can filter for strong interactions using `required_score`. - Evidence scores: `nscore` (neighborhood), `fscore` (fusion), `pscore` (phylogenetic profile), `ascore` (coexpression), `escore` (experimental), `dscore` (database), `tscore` (text mining)

NameTypeReqDescription
identifiersstringyesRequired. One or more protein identifiers, separated by carriage return (%0d). Example: TP53%0dSMO
network_type–––
required_score–––
species–––

Structured output declared, but exposes no named fields.

No examples provided.

string_create_file ~279

Creates a downloadable file for STRING-derived results. Use this tool when the user explicitly asks to download, save, export, or receive a file containing STRING data, tables, protein lists, enrichment results, networks, etc. When a response would otherwise include a publication-style or supplementary result table, or another table clearly intended for reuse outside chat, mention that a downloadable TSV/CSV file can be generated on request. Ask whether they want the file, unless they already requested it. Do not create the file until the user asks for it. Do not store unrelated data or full conversation transcripts.

NameTypeReqDescription
contentstringyesRequired 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, clust…
filenamestringyesRequired. 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 tha…

Structured output declared, but exposes no named fields.

No examples provided.

string_enrichment ~558

This tool retrieves functional enrichment for a set of proteins using STRING. - If queried with a single protein, the tool expands the query to include the protein’s 10 most likely interactors; enrichment is performed on this set, not the original single protein. - For two or more proteins, enrichment is performed on the exact input set. - When calling related tools, use the same input parameters unless otherwise specified. - Focus summaries on the top categories and most relevant terms for the results. Always report FDR for each claim. - Report FDR as a human-readable value (e.g. 2.3e-5 or 0.023). - IMPORTANT: Remember to suggest showing an enrichment graph for a specific category of user interest (e.g., GO, KEGG) - Very large responses are capped while preserving category diversity. - Use `expand_category` to return only one category with expanded term coverage and per-term gene details. - If a row has `preferredNames_omitted: true`, do not infer which proteins are in that term from the returned rows. Use `string_functional_annotation` with the same proteins/species and `detail_for_term` set to the exact term ID. Output fields (per enriched term): - category: Term category (e.g., GO Process, KEGG pathway) - term: Enriched term (GO ID, domain, or pathway) - number_of_genes: Number of input genes with this term - number_of_genes_in_background: Number of background genes with this term - ncbiTaxonId: NCBI taxon ID - preferredNames: Canonical protein names, only when the full per-term list is short enough to show - proteinCount: Number of proteins matching this term - preferredNames_omitted: True when the gene list was omitted instead of showing a misleading partial list - p_value: Raw p-value - fdr: False Discovery Rate (B-H corrected p-value) - description: Description of the enriched term Response metadata: - input_gene_name_mapping: Only included when displayed gene lists contain submitted identifiers that differ from STRING prefe…

NameTypeReqDescription
expand_category–––
proteinsstringyesRequired. One or more protein identifiers, separated by %0d. Example: SMO%0dTP53
species–––

Structured output declared, but exposes no named fields.

No examples provided.

string_enrichment_image_url ~92

Retrieves the STRING enrichment figure image *URL* for a set of proteins.

NameTypeReqDescription
category–––
color_palette–––
group_by_similarity–––
identifiersstringyesRequired. Protein identifiers, separated by %0d. Example: SMO%0dTP53
number_of_terms_shown–––
species–––
x_axis–––

Structured output declared, but exposes no named fields.

No examples provided.

string_functional_annotation ~218

This tool retrieves curated functional annotations for a set of proteins. Each input protein is mapped to known biological terms from ontologies, pathway databases, tissues, compartments and domains — such as Gene Ontology (GO), KEGG, and UniProt Keywords. - Use this when the user asks what a protein does, where it's localized, expressed, or which pathways it participates in. - Keep the output short and focused by highlighting a few diverse and specific annotations for each protein. - This tool does not perform statistical enrichment — use the enrichment tool for that. Output fields (per protein): - stringId: STRING protein identifier - preferredName: Gene name or alias - annotation: Functional description or keyword - category: Source category (e.g. GO, KEGG, Keyword) - term: Functional term or ID

NameTypeReqDescription
detail_for_term–––
identifiersstringyesSeparate multiple protein queries by %0d. e.g. SMO%0dTP53
species–––

Structured output declared, but exposes no named fields.

No examples provided.

string_help ~87

Provides explanatory text for STRING features and limitations. Use this tool when the user question involves: - What is STRING is or how to use the tool (how_to_use_string, cytoscape) - functionality not available via MCP tools (e.g. GSEA, regulatory networks, large datasets). - meaning of the lines in the network (line_colors)

NameTypeReqDescription
topic–––

Structured output declared, but exposes no named fields.

No examples provided.

string_homology ~187

Retrieves pairwise protein similarity scores (Smith–Waterman bit scores) for the query proteins. - If no target species (`species_b`) is provided, results are intra-species (within the query species). - To retrieve homologs in other species or clades (e.g. vertebrates, yeast, plants), specify one or more NCBI taxon IDs in `species_b`. - Multiple target species are supported; ask the user to clarify if needed. - Always report species names together with their taxon IDs. - Bit scores < 50 are not reported. - Results are truncated to the top 50 proteins per input protein.

NameTypeReqDescription
proteinsstringyesRequired. One or more protein identifiers, separated by %0d. Example: SMO%0dTP53
species–––
species_b–––

Structured output declared, but exposes no named fields.

No examples provided.

string_interaction_evidence ~272

Retrieves direct links to STRING evidence pages for protein–protein interaction pairs. Use this tool only when a STRING evidence page/link is needed. To determine whether an interaction is supported, use `string_interactions_query_set`. It returns URLs linking to STRING’s evidence pages, which display the underlying data sources (experimental results, publications, and curated databases) supporting each predicted interaction. A URL can be generated even for unsupported pairs; the URL is not itself an interaction verdict. Parameters: - **identifier_a**: Query protein identifier (Protein A) - **identifiers_b**: One or more target protein identifiers (Protein B), separated by `%0d` - **species**: NCBI taxonomy ID (e.g. `9606` for human or `10090` for mouse) Typical user questions that should trigger this tool: - "Can you show me the STRING evidence for this interaction?" - "Show me the details supporting this interaction." - "What supports the interaction between TP53 and MDM2?" - "Where can I find the STRING evidence for this pair?"

NameTypeReqDescription
identifier_astringyesRequired. Protein A identifier.
identifiers_bstringyesRequired. One or more protein B identifiers, separated by %0d.
species–––

Structured output declared, but exposes no named fields.

No examples provided.

string_interactions_query_set ~323

Retrieves the interactions between the query proteins. Use this method only when you specifically need to list the interactions between all proteins in your query set. If user asks for 'physical' or 'complex' use 'physical' network type. - For a **single protein**, the network includes that protein and its top 10 most likely interaction partners, plus all interactions among those partners. - For **multiple proteins**, the network includes all direct interactions between them. - If the user refers to "physical interactions", "complexes", or "binding", set the network type to "physical". - STRING does not store or report information about self-interactions/homomers; if asked, explain the limitation. If few or no interactions are returned, consider reducing the `required_score`. For large query sets (>50 proteins), consider increasing the `required_score` (e.g. ≥700) to focus on high-confidence interactions and avoid overly dense networks. - Expand the names of score sources: `nscore` (neighborhood), `fscore` (fusion), `pscore` (phylogenetic profile), `ascore` (coexpression), `escore` (experimental), `dscore` (database), `tscore` (text-mining)

NameTypeReqDescription
extend_network–––
network_type–––
proteinsstringyesRequired. One or more protein identifiers, separated by carriage return (%0d). Example: SMO%0dTP53
required_score–––
species–––

Structured output declared, but exposes no named fields.

No examples provided.

string_network_clustering ~263

Performs **network clustering** on a STRING interaction network and returns both a **network image URL** and details about each detected cluster. Use the same parameters as in the network creation step to ensure consistency. If the network already contains disconnected subgraphs, the resulting number of clusters may differ from the requested value. Dashed lines represent connections between clusters, while solid lines indicate interactions within clusters. Notes: - For small queries (≤5 proteins), the `required_score` parameter is automatically lowered to 0. - If only a single cluster is produced, try increasing `required_score`, adjusting the inflation parameter, or switching to `kmeans` for small, highly interconnected networks.

NameTypeReqDescription
center_node_labels–––
clustering_algorithm–––
clustering_parameter–––
extend_network–––
hide_disconnected_nodes–––
network_flavor–––
network_type–––
proteinsstringyesRequired. One or more protein identifiers (optionally with values). Example: PTEN 0.234 SMO -3.445 Separate entries with newline (%0d). Numeric values (e.g. expression data) can be provided after ide…
required_score–––
species–––

Structured output declared, but exposes no named fields.

No examples provided.

string_network_link ~358

Retrieves a stable URL to an interactive STRING network for one or more proteins. - For a single protein: includes the protein and its top 10 most likely interactors. - For multiple proteins: includes all known interactions **within the query set**. - If the user asks for "physical interactions", "complexes", or "binding", set `network_type` to "physical". The input may include one numeric value per protein, such as fold change, effect size, or score. These values are visualized as colored halos around the nodes, allowing overlay of protein-level measurements on the network. Example: PTEN 2.1 SMO -1.3 If numeric values are provided: - positive values are shown in blue - negative values are shown in red - larger absolute values produce stronger halo intensity If the user provides numeric values together with the proteins, preserve them in the query. If few or no interactions are shown, consider lowering `required_score`. For large queries (>100 proteins): - use `network_flavor="confidence"` - increase `required_score` (e.g. 700) Always display the link as a markdown hyperlink (hide the raw URL). Input parameters should match those used in related STRING tools unless otherwise specified.

NameTypeReqDescription
extend_network–––
hide_disconnected_nodes–––
network_flavor–––
network_type–––
proteinsstringyesRequired. One or more protein IDs, optionally followed by one numeric value per protein. Example: PTEN 0.234 SMO -3.445 Use newline (%0d) between entries. Tabs and spaces are accepted as separators.
required_score–––
species–––

Structured output declared, but exposes no named fields.

No examples provided.

string_ppi_enrichment ~279

This tool tests if your network is enriched in protein-protein interactions compared to the background proteome-wide distribution (i.e., if your proteins are more functionally connected than expected by chance). - The enrichment is assessed using the actual observed edges versus expected edges in a random network of the same size. - The p-value reflects the likelihood that your observed number of interactions would occur by chance. - Report the p-value as a human-readable value (e.g. 2.3e-5 or 0.023). When calling related tools use the same input parameters unless otherwise specified. Output fields: - number_of_nodes: Number of proteins in your network - number_of_edges: Number of observed edges/interactions - average_node_degree: Mean degree (average number of interactions per node) - local_clustering_coefficient: Average clustering coefficient in the network - expected_number_of_edges: Expected number of edges in a random network of the same size - p_value: p-value for network enrichment (smaller = more enriched) Example identifiers: "SMO%0dTP53"

NameTypeReqDescription
identifiersstringyesRequired. One or more protein identifiers, separated by %0d. Example: SMO%0dTP53
required_score–––
species–––

Structured output declared, but exposes no named fields.

No examples provided.

string_proteins_for_term ~417

Retrieve proteins annotated with a functional term or descriptive text in a single species. You can query for tissues, compartments, diseases, processes, pathways, and domains. IMPORTANT: For cross-species comparisons, run this tool separately for each species. Select relevant model organisms to search or ask user to provide the selection. The results reflect annotation depth within each category; use caution when interpreting. If no results are found, try simplifying the query. For tissue queries, follow BRENDA tissue nomenclature and omit the word "tissue" (e.g. use "skin" instead of "skin tissue"). Output fields: - category: Source database of the matched functional term (e.g. GO, KEGG, Reactome, Pfam, InterPro). - term: Exact identifier for the functional term. - description: The free text description of the term. - proteinCount: Number of proteins annotated with that term - preferredNames: Full protein-name list when `detail_for_term` is set - stringIds: STRING protein identifiers when returned - preferredNames_omitted: True when a row omits the protein-name list - stringIds_omitted: True when STRING identifiers are omitted

NameTypeReqDescription
detail_for_term–––
speciesstring–NCBI/STRING taxonomy ID. This tool only supports one species per call. It cannot return results across multiple species or identify the species with the most/fewest proteins. For such questions, run…
term_textstringyesRequired. Functional term identifier (GO, KEGG, Reactome, etc.) or descriptive free text (e.g. 'hsa05218', 'Melanoma', 'GO:0008543', 'Fibroblast growth factor').

Structured output declared, but exposes no named fields.

No examples provided.

string_query_species ~243

Search for species or clades available in STRING by free-text query and return their NCBI taxonomy IDs. - Use this when the user asks which species or clades are present in STRING, or when you need the correct NCBI taxon ID to pass to other tools. - use this to resolve NCBI taxons IDs to their scientific names. - Accepts up to 100 taxon IDs separated by `%0d`. - The results are limited to the top 50 matches per query. - When the user asks for a species list, do not list clades. - If the requested species cannot be matched (i.e. the correct species is not present in the results), **immediately invoke the 'string_help' tool with topic='missing_species'**.

NameTypeReqDescription
species_textstringyesRequired. One species/clade search term or multiple NCBI taxon IDs separated by carriage return (%0d). Examples: 'human', 'mouse', 'vertebrates', '511145', or '9598%0d10090'. For multiple queries, us…

Structured output declared, but exposes no named fields.

No examples provided.

string_resolve_proteins ~122

Maps one or more protein identifiers to their corresponding STRING metadata, including: gene symbol, description, sequence, domains, species, and internal STRING ID. This method is useful for translating raw identifiers into readable, annotated protein entries. Example input: "TP53%0dSMO"

NameTypeReqDescription
proteinsstringyesRequired. One or more input protein identifiers (gene symbols, UniProt IDs, etc.), separated by carriage return (%0d). Example: TP53%0dSMO
show_sequence–––
species–––

Structured output declared, but exposes no named fields.

No examples provided.

string_sequence_search ~173

Searches the STRING database using **amino acid sequences** to identify matching proteins. - Accepts a single sequence or multiple sequences in FASTA format. - Returns the most similar STRING protein(s) for the specified species, based on sequence similarity. - Use this when the protein identifier is unknown or unresolvable by `string_resolve_proteins`.

NameTypeReqDescription
sequencesstringyesOne or more protein sequences in plain or FASTA format.For multiple sequences, use standard FASTA headers (lines beginning with '>'). Only amino acid sequences are supported — nucleotide sequences ar…
speciesstring–Required. NCBI or STRING taxonomy ID. You can query with a clade or species. eg.g 2 for bacteria, 7742 for vertebrates, 511145 for E. coli

Structured output declared, but exposes no named fields.

No examples provided.

string_visual_network ~390

Retrieves a URL to a **STRING interaction network image** for one or more proteins. - For a single protein: includes the protein and its top 10 most likely interactors. - For multiple proteins: includes all known interactions **within the query set**. - If the user asks for "physical interactions", "complexes", or "binding", set `network_type` to "physical". The input may include one numeric value per protein, such as fold change, effect size, or score. These values are visualized as colored halos around the nodes, allowing overlay of protein-level measurements on the network. Example: PTEN 2.1 SMO -1.3 If numeric values are provided: - positive values are shown in blue - negative values are shown in red - larger absolute values produce stronger halo intensity If the user provides numeric values together with the proteins, preserve them in the query. If few or no interactions are shown, consider lowering `required_score`. For large queries (>100 proteins): - use `network_flavor="confidence"` - increase `required_score` (e.g. 700) Always ask if the user also wants a link to the interactive STRING network page. Input parameters should match those used in related STRING tools (e.g. `string_interactions_query_set`), unless otherwise specified.

NameTypeReqDescription
center_node_labels–––
do_not_show_structures–––
extend_network–––
hide_disconnected_nodes–––
network_flavor–––
network_type–––
proteinsstringyesRequired. One or more protein IDs, optionally followed by one numeric value per protein. Example: PTEN 0.234 SMO -3.445 Use newline (%0d) between entries. Tabs and spaces are accepted as separators.
required_score–––
species–––

Structured output declared, but exposes no named fields.

No examples provided.

Common questions

What is the STRING Database MCP Server server?

STRING Database MCP Server is listed in the public MCP registry as org.string-db/string-mcp. Query STRING interactions, enrichment, annotations, homology, and PPI networks. This page covers its hosted endpoint (https://mcp.string-db.org/).

Is the STRING Database MCP Server server safe to use?

STRING Database MCP Server scores 74 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the STRING Database MCP Server server expose?

STRING Database MCP Server exposes 17 tools: string_resolve_proteins, string_interactions_query_set, string_all_interaction_partners, string_visual_network, string_network_clustering, and 12 more. Their descriptions and schemas cost roughly 4,499 tokens of context every time the server is loaded.

Does the STRING Database MCP Server server require authentication?

No. We connected to STRING Database MCP Server without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the STRING Database MCP Server server still maintained?

STRING Database MCP Server is still listed as active in the MCP registry. We last reached this channel on 26 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.