{"serverId":"mcp-registry/org.string-db/string-mcp","tools":[{"name":"string_all_interaction_partners","fixed":{"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"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":624,"tokensAfter":624},{"name":"string_create_file","fixed":{"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"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":365,"tokensAfter":365},{"name":"string_enrichment_image_url","fixed":{"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)"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":641,"tokensAfter":641},{"name":"string_functional_annotation","fixed":{"name":"string_functional_annotation","description":"This tool retrieves curated functional annotations for a set of proteins.\n\nEach 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.\n\n- Use this when the user asks what a protein does, where it's localized, expressed, or which pathways it participates in.\n- Keep the output short and focused by highlighting a few diverse and specific annotations for each protein.\n- This too","inputSchema":{"type":"object","required":["identifiers"],"properties":{"species":{"type":"string","default":null,"description":"NCBI/STRING taxon (e.g. 9606 for human, or STRG0AXXXXX for uploaded genomes)."},"identifiers":{"type":"string","examples":["SMO%0dTP53"],"description":"Separate multiple protein queries by %0d."},"detail_for_term":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Exact functional term ID to return with the full list of matching input proteins. Use this when a previous result says a protein list was shortened, omitted, or replaced with 'many'."}}},"annotations":{"readOnlyHint":true},"title":"STRING: Retrieve functional annotations for proteins"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":325,"tokensAfter":325},{"name":"string_homology","fixed":{"name":"string_homology","description":"Retrieves pairwise protein similarity scores (Smith–Waterman bit scores) for the query proteins.  \n\n- If no target species (`species_b`) is provided, results are intra-species (within the query species).  \n- To retrieve homologs in other species or clades (e.g. vertebrates, yeast, plants), specify one or more NCBI taxon IDs in `species_b`.  \n- Multiple target species are supported; ask the user to clarify if needed.  \n- Always report species names together with their taxon IDs.  \n- Bit scores < ","inputSchema":{"type":"object","required":["proteins"],"properties":{"species":{"type":"string","default":null,"description":"NCBI/STRING taxon (e.g. 9606 for human, or STRG0AXXXXX for uploaded genomes)."},"proteins":{"type":"string","examples":["SMO%0dTP53"],"description":"One or more protein identifiers, separated by %0d."},"species_b":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"One or more NCBI taxon IDs for target species, separated by comma (e.g. 9606,7227,4932 for human, fly, and yeast)."}}},"annotations":{"readOnlyHint":true},"title":"STRING: Get homologs in specified target species"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":301,"tokensAfter":301},{"name":"string_interaction_evidence","fixed":{"name":"string_interaction_evidence","description":"Retrieves direct links to STRING evidence pages for protein–protein interaction pairs.\n\nUse this tool only when a STRING evidence page/link is needed. To determine whether\nan interaction is supported, use `string_interactions_query_set`.\n\nIt returns URLs linking to STRING’s evidence pages, which display the underlying data sources \n(experimental results, publications, and curated databases) supporting each predicted interaction.  \nA URL can be generated even for unsupported pairs; the URL is not","inputSchema":{"type":"object","required":["identifier_a","identifiers_b"],"properties":{"species":{"type":"string","default":null,"description":"NCBI/STRING taxon (e.g. 9606 for human, or STRG0AXXXXX for uploaded genomes)."},"identifier_a":{"type":"string","description":"Protein A identifier."},"network_type":{"anyOf":[{"enum":["functional","physical","regulatory"],"type":"string"},{"type":"null"}],"default":null,"description":"Set physical for physical-interaction evidence or regulatory for directed regulatory evidence. Omit for the functional interaction evidence page."},"identifiers_b":{"type":"string","description":"One or more protein B identifiers, separated by %0d."}}},"annotations":{"readOnlyHint":true},"title":"STRING: Get links to interaction evidence pages"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":347,"tokensAfter":347},{"name":"string_interactions_query_set","fixed":{"name":"string_interactions_query_set","description":"Retrieves the interactions between the query proteins.\nUse this method only when you specifically need to list the interactions between all proteins in your query set.\n\n- For a **single protein**, the network includes that protein and its top 10 most likely interaction partners, plus all interactions among those partners.\n- For **multiple proteins**, the network includes all direct interactions between them.\n- STRING does not store or report information about self-interactions/homomers; if asked","inputSchema":{"type":"object","required":["proteins"],"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)."},"proteins":{"type":"string","examples":["SMO%0dTP53"],"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."},"extend_network":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"default":null,"description":"Number of additional proteins to add to the network based on their connectivity. Default is 10 for a single protein query and 0 for multiple proteins. Set only if the user asks to add, extend, include a neighborhood, or show connecting 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 confidence score for an interaction. Omit unless a confidence threshold is requested or a broader/narrower threshold is needed."}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true},"title":"STRING: Get interactions within query set"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":714,"tokensAfter":714},{"name":"string_network_link","fixed":{"name":"string_network_link","description":"Retrieves a stable URL to an interactive STRING network for one or more proteins.\n\n- For a single protein: includes the protein and its top 10 most likely interactors.\n- For multiple proteins: includes all known interactions **within the query set**.\n\nThe input may include one numeric value per protein, such as fold change, effect size, or score.\nThese values are visualized as colored halos around the nodes, allowing overlay of protein-level measurements on the network.\n\nExample:\nPTEN 2.1\nSMO -1","inputSchema":{"type":"object","required":["proteins"],"properties":{"species":{"type":"string","default":null,"description":"NCBI/STRING taxon (e.g. 9606 for human, or STRG0AXXXXX)."},"proteins":{"type":"string","examples":["PTEN 0.234\nSMO -3.445"],"description":"One or more protein IDs, optionally followed by one numeric value per protein. Use newline (%0d) between entries. Tabs and spaces are accepted as separators."},"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."},"extend_network":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"default":null,"description":"Add white nodes to network, based on scores. Default: 0."},"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":"Threshold of significance to include an interaction. Omit for STRING default filtering. Set only when a threshold is requested or a broader/narrower threshold is needed."},"hide_disconnected_nodes":{"anyOf":[{"enum":[0,1],"type":"integer"},{"type":"null"}],"default":null,"examples":[0,1],"description":"Hide proteins not connected to any other protein. Set only if the user asks to hide disconnected or unconnected proteins."}}},"annotations":{"readOnlyHint":true},"title":"STRING: Get interactive network link (web UI)"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":757,"tokensAfter":757},{"name":"string_proteins_for_term","fixed":{"name":"string_proteins_for_term","description":"Retrieve proteins annotated with a functional term or descriptive text in a single species.  \nYou can query for tissues, compartments, diseases, processes, pathways, and domains.  \n\nIMPORTANT: For cross-species comparisons, run this tool separately for each species.  \nSelect relevant model organisms to search or ask user to provide the selection.\nThe results reflect annotation depth within each category; use caution when interpreting.\n\nIf no results are found, try simplifying the query.  \nFor ti","inputSchema":{"type":"object","required":["term_text"],"properties":{"species":{"type":"string","default":"9606","description":"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 this tool separately for each species and then compare the results. Default is 9606 (human). Examples: 10090 for mouse, or STRG0AXXXXX for uploaded genomes."},"term_text":{"type":"string","examples":["hsa05218","Melanoma","GO:0008543","Fibroblast growth factor"],"description":"Functional term identifier (GO, KEGG, Reactome, etc.) or descriptive free text."},"detail_for_term":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Exact term ID to return as one full protein-name list."}}},"annotations":{"readOnlyHint":true},"title":"STRING: Retrieve proteins associated with a functional term"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":389,"tokensAfter":389},{"name":"string_query_species","fixed":{"name":"string_query_species","description":"Search for species or clades available in STRING by free-text query\nand return their NCBI taxonomy IDs.\n\n- Use this when the user asks which species or clades are present in STRING,\n  or when you need the correct NCBI taxon ID to pass to other tools.\n- use this to resolve NCBI taxons IDs to their scientific names.\n- Accepts up to 100 taxon IDs separated by `%0d`.\n- The results are limited to the top 50 matches per query.\n- When the user asks for a species list, do not list clades.\n- If the reque","inputSchema":{"type":"object","required":["species_text"],"properties":{"species_text":{"type":"string","examples":["human","mouse","vertebrates","511145","9598%0d10090"],"description":"One species/clade search term or multiple NCBI taxon IDs separated by carriage return (%0d). For multiple queries, use taxon IDs rather than free-text names."}}},"annotations":{"readOnlyHint":true},"title":"STRING: Query species and clades in STRING"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":252,"tokensAfter":252},{"name":"string_resolve_proteins","fixed":{"name":"string_resolve_proteins","description":"Maps one or more protein identifiers to their corresponding STRING metadata, including:\ngene symbol, description, sequence, domains, species, and internal STRING ID.\n\nThis method is useful for translating raw identifiers into readable, annotated protein entries.\n\nExample input: \"TP53%0dSMO\"","inputSchema":{"type":"object","required":["proteins"],"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)."},"proteins":{"type":"string","examples":["TP53%0dSMO"],"description":"One or more input protein identifiers (gene symbols, UniProt IDs, etc.), separated by carriage return (%0d)."},"show_sequence":{"anyOf":[{"enum":["0","1"],"type":"string"},{"type":"null"}],"default":null,"examples":["0","1"],"description":"Include sequences. Use only if the user requests sequence data."}}},"annotations":{"readOnlyHint":true},"title":"STRING: Resolves protein identifiers to metadata"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":265,"tokensAfter":265},{"name":"string_sequence_search","fixed":{"name":"string_sequence_search","description":"Searches the STRING database using **amino acid sequences** to identify matching proteins.\n\n- Accepts a single sequence or multiple sequences in FASTA format.\n- Returns the most similar STRING protein(s) for the specified species, based on sequence similarity.\n- Use this when the protein identifier is unknown or unresolvable by `string_resolve_proteins`.","inputSchema":{"type":"object","required":["sequences"],"properties":{"species":{"type":"string","default":9606,"description":"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"},"sequences":{"type":"string","description":"One 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 are not accepted."}}},"annotations":{"readOnlyHint":true},"title":"STRING: Search proteins by amino acid sequence"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":259,"tokensAfter":259},{"name":"string_visual_network","fixed":{"name":"string_visual_network","description":"Retrieves a URL to a **STRING interaction network image** for one or more proteins.\n\n- For a single protein: includes the protein and its top 10 most likely interactors.\n- For multiple proteins: includes all known interactions **within the query set**.\n\nThe input may include one numeric value per protein, such as fold change, effect size, or score.\nThese values are visualized as colored halos around the nodes, allowing overlay of protein-level measurements on the network.\n\nExample:\nPTEN 2.1\nSMO ","inputSchema":{"type":"object","required":["proteins"],"properties":{"species":{"type":"string","default":null,"description":"NCBI/STRING taxon (e.g. 9606 for human, or STRG0AXXXXX)."},"proteins":{"type":"string","examples":["PTEN 0.234\nSMO -3.445"],"description":"One or more protein IDs, optionally followed by one numeric value per protein. Use newline (%0d) between entries. Tabs and spaces are accepted as separators."},"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."},"extend_network":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"default":null,"description":"Add specified number of nodes to the network, based on their scores. Default: 0, or 10 for single protein queries."},"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":"Threshold of significance to include an interaction. Omit for STRING default filtering. Set only when a threshold is requested or a broader/narrower threshold is needed."},"center_node_labels":{"anyOf":[{"enum":[0,1],"type":"integer"},{"type":"null"}],"default":null,"examples":[0,1],"description":"Center protein names on nodes. Set only if the user asks to center labels."},"do_not_show_structures":{"anyOf":[{"enum":[0,1],"type":"integer"},{"type":"null"}],"default":null,"examples":[0,1],"description":"Remove small protein structure previews from inside the node bubbles. Set only if the user asks to remove or hide structure previews."},"hide_disconnected_nodes":{"anyOf":[{"enum":[0,1],"type":"integer"},{"type":"null"}],"default":null,"examples":[0,1],"description":"Hide proteins not connected to any other protein. Set only if the user asks to hide disconnected or unconnected proteins."}}},"annotations":{"readOnlyHint":true},"title":"STRING: Get interaction network image (image URL)"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":904,"tokensAfter":904}],"toolsChanged":13,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}