Skip to main content
Glama
STRING-db MCP Server

STRING-db MCP Server

STRING DB MCP Server Logo

Unofficial STRING MCP Server

A comprehensive Model Context Protocol (MCP) server for accessing the STRING protein interaction database. This server provides powerful tools for protein network analysis, functional enrichment, and comparative genomics through the STRING API.

Features

Tools (6 comprehensive tools)

  • get_protein_interactions: Get direct interaction partners for a specific protein with confidence scores and evidence types

  • get_interaction_network: Build and analyze protein interaction networks for multiple proteins

  • get_functional_enrichment: Perform functional enrichment analysis using GO terms, KEGG pathways, and other annotations

  • get_protein_annotations: Get detailed protein annotations and functional information

  • find_homologs: Find homologous proteins across different species for comparative analysis

  • search_proteins: Search for proteins by name or identifier across multiple species

Resources (6 resource templates)

  • string://network/{protein_ids}: Protein interaction network data for specified proteins

  • string://enrichment/{protein_ids}: Functional enrichment analysis results for protein sets

  • string://interactions/{protein_id}: Direct interaction partners for a specific protein

  • string://homologs/{protein_id}: Homologous proteins across different species

  • string://annotations/{protein_id}: Detailed protein annotations and functional information

  • string://species/{taxon_id}: Species-specific data and protein counts

Related MCP server: AlphaFold MCP Server

Installation

npm install
npm run build

Usage

With Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "string-server": {
      "command": "node",
      "args": ["/path/to/string-server/build/index.js"]
    }
  }
}

Example Queries

  1. Find protein interactions:

    Get interaction partners for insulin (INS) using get_protein_interactions
  2. Build protein networks:

    Build an interaction network for insulin signaling proteins: INS, INSR, IRS1, AKT1 using get_interaction_network
  3. Functional enrichment analysis:

    Perform functional enrichment analysis on these diabetes-related proteins: INS, INSR, IRS1, GLUT4, AKT1
  4. Find protein homologs:

    Find homologs of human insulin (INS) in mouse and rat using find_homologs
  5. Search for proteins:

    Search for insulin-related proteins using search_proteins with query "insulin"
  6. Get protein annotations:

    Get detailed annotations for insulin receptor pathway proteins using get_protein_annotations
  7. Access resources directly:

    Show me the resource string://network/INS,INSR,IRS1

API Integration

This server integrates with the STRING Database API (https://string-db.org/):

  • STRING REST API: For protein interaction data, annotations, and homology information

  • Multi-species support: Over 5000 organisms supported

  • Evidence types: Neighborhood, fusion, cooccurrence, coexpression, experimental, database, textmining

  • Confidence scoring: Interaction confidence scores from 0-1000

Key Features

Protein Interaction Analysis

  • Direct interactions: Find immediate interaction partners

  • Network construction: Build comprehensive interaction networks

  • Evidence classification: 7 types of interaction evidence

  • Confidence scoring: Quantitative interaction confidence

Functional Analysis

  • GO enrichment: Gene Ontology term enrichment

  • KEGG pathways: Metabolic and signaling pathway analysis

  • Custom backgrounds: Use custom protein sets as background

  • Statistical significance: P-values and FDR correction

Comparative Genomics

  • Cross-species analysis: Find homologs across organisms

  • Evolutionary relationships: Analyze protein evolution

  • Species filtering: Focus on specific taxonomic groups

  • Ortholog identification: Distinguish orthologs from paralogs

Network Properties

  • Topology analysis: Network density, clustering, connectivity

  • Hub identification: Find highly connected proteins

  • Module detection: Identify protein complexes and modules

  • Path analysis: Find shortest paths between proteins

Complementary Servers

This STRING server works excellently with:

  • UniProt MCP Server: For protein sequences and detailed functional annotations

  • PDB MCP Server: For protein structures and structural analysis

  • AlphaFold MCP Server: For predicted protein structures

Together, these provide comprehensive protein analysis: Sequence → Structure → Interactions → Function

Data Quality & Validation

  • Curated data: STRING combines curated databases with computational predictions

  • Evidence integration: Multiple evidence types combined using probabilistic framework

  • Regular updates: Database updated regularly with new experimental data

  • Quality scores: Each interaction has associated confidence scores

Error Handling

The server includes robust error handling for:

  • Invalid protein identifiers

  • Network connectivity issues

  • API rate limiting

  • Species validation

  • Parameter validation

  • Malformed requests

Development

# Install dependencies
npm install

# Build the server
npm run build

# Run in development mode
npm run dev

Attribution

This project is developed by Augmented Nature 🌐 Website: augmentednature.ai

About STRING Database: STRING is a database of known and predicted protein-protein interactions. The interactions include direct (physical) and indirect (functional) associations; they stem from computational prediction, from knowledge transfer between organisms, and from interactions aggregated from other (primary) databases.

Citation

If you use this project in your research or publications, please cite it as follows:

author = {Moudather Chelbi},
title = {STRING DB MCP Server},
year = {2025},
howpublished = {https://github.com/Augmented-Nature/STRING-db-MCP-Server},
note = {Accessed: 2025-06-29}

Available Tools

6 tools
find_homologsC

Find homologous proteins across different species

Inputs: protein_id (required), species, target_species.

get_functional_enrichmentC

Perform functional enrichment analysis on a set of proteins

Inputs: protein_ids (required), species, background_string_identifiers.

get_interaction_networkC

Build and analyze protein interaction network for multiple proteins

Inputs: protein_ids (required), species, network_type, add_nodes, +1 more.

get_protein_annotationsC

Get detailed annotations and functional information for proteins

Inputs: protein_ids (required), species.

get_protein_interactionsC

Get direct interaction partners for a specific protein

Inputs: protein_id (required), species, limit, required_score.

search_proteinsC

Search for proteins by name or identifier across species

Inputs: query (required), species, limit.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 6 tools

    Disambiguation4/5

    Most tools have distinct purposes, but there is some potential confusion between get_interaction_network (analyzes networks for multiple proteins) and get_protein_interactions (gets direct partners for a specific protein), which could overlap in use cases. Otherwise, tools like find_homologs, get_functional_enrichment, and search_proteins are clearly differentiated.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern with snake_case, such as find_homologs, get_functional_enrichment, and search_proteins. This uniformity makes the tool set predictable and easy to navigate for agents.

    Tool Count5/5

    With 6 tools, this server is well-scoped for a protein database domain, covering key operations like search, annotation, interaction analysis, and homology without being overwhelming. The count aligns well with typical MCP server ranges for focused functionality.

    Completeness4/5

    The tool set covers essential protein database operations, including search, annotation, interaction analysis, and functional enrichment, but lacks explicit CRUD operations like create, update, or delete proteins, which might be intentional for a read-only database. Minor gaps exist, but core workflows are well-supported.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers