# STRING Database MCP Server

Lets an agent pull protein interaction networks, enrichment results, annotations and homology lookups from STRING. Handy when you want to work through PPI data inside the chat.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 7
- Author: meringlab
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/meringlab/string-mcp
- Updated: 2026-10-02
- HTML: https://affpapa.org/en/nevibecode/mcp/string-database-mcp-server

## What it does

The server wraps the STRING API in an MCP interface. An agent gets tools to resolve protein identifiers, fetch interaction networks, cluster and visualize them, look up homologs across species, and run functional enrichment with plots. Curated annotations and queries by function or disease are covered too, through GO, KEGG, Reactome and DISEASES.

Under the hood it is a Python server built on FastMCP. You need Python 3.11 or newer — on 3.10 the optional parameter descriptions land in the wrong place in the tool schemas. Dependencies live in `requirements.txt`: `fastmcp==2.14.7`, `mcp==1.29.0`, `httpx>=0.28,<0.29`, `pydantic>=2.11,<3.0`. A crash at startup usually means a mismatched FastMCP version. Settings come from `config/server.config` as JSON, covering the API base URL, port and verbosity.

Two ways to run it. Locally: clone the repo, install the dependencies, start `python server.py`, or use `python server.py --stdio` when the MCP client launches the process itself. Otherwise point your client at the hosted endpoint `https://mcp.string-db.org` and keep nothing on your machine. The hosted route is less work, though every query leaves your machine.

## Requirements
- Needs: Python and uv (commands run via uvx)
- Remote server: `https://mcp.string-db.org/`

## Install

### Claude Code (native platform)

**Platform CLI: remote server**
```bash
claude mcp add --transport http string-mcp https://mcp.string-db.org/
```

### Codex

**Platform CLI: remote server**
```bash
codex mcp add string-database-mcp-server --url https://mcp.string-db.org/
```

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "string-database-mcp-server": {
            "url": "https://mcp.string-db.org/"
        }
    }
}
```

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "string-database-mcp-server": {
            "type": "http",
            "url": "https://mcp.string-db.org/"
        }
    }
}
```

### Gemini CLI

**Platform CLI: remote server**
```bash
gemini mcp add -t http string-database-mcp-server https://mcp.string-db.org/
```

## When to use it
- pull an interaction network for a set of proteins
- find homologs of a protein in another species
- run functional enrichment and get a plot
- check the evidence behind a protein–protein link
- search proteins by disease or function

## Example prompts
- Resolve these protein identifiers in STRING and show their metadata
- Build the interaction network for this gene list and cluster it
- Run GO and KEGG enrichment on this set of proteins

## Similar
- [Zotero MCP](https://affpapa.org/en/nevibecode/mcp/zotero-mcp.md) — MCP server · ★ 5585
- [arxiv-mcp-server](https://affpapa.org/en/nevibecode/mcp/arxiv-mcp-server.md) — MCP server · ★ 3235
- [PaperBanana](https://affpapa.org/en/nevibecode/mcp/paperbanana.md) — MCP server · ★ 2418
- [MATLAB MCP Server](https://affpapa.org/en/nevibecode/mcp/matlab-mcp-server.md) — MCP server · ★ 1723
- [Hex Research](https://affpapa.org/en/nevibecode/mcp/hex-research.md) — MCP server · ★ 584
- [DocsAgent — Zotero, Obsidian & Apple Notes MCP Server](https://affpapa.org/en/nevibecode/mcp/docsagent-zotero-obsidian-apple-notes-mcp-server.md) — MCP server · ★ 578

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
