# STRING Database MCP server

> Query protein-protein interactions, functional enrichment, annotations, homology and networks from the STRING database.

- Listing: https://mcp.tc/i/string-db
- Connect: use the server's own URL `https://mcp.string-db.org/` (no sign-in); clients connect to it directly. The listing link is a page, not an MCP endpoint.
- Type: remote (Streamable HTTP)
- Auth: none
- Category: [Docs & Knowledge](https://mcp.tc/c/docs-knowledge)
- Vendor: STRING Consortium
- Homepage: <https://mcp.string-db.org/>
- Repository: <https://github.com/meringlab/string-mcp>

## About

Connects an assistant to the STRING database of protein-protein interactions. You can resolve protein identifiers, list interaction partners, build and cluster networks, run functional and PPI enrichment, fetch curated annotations, find homologs across species and get links to interaction evidence pages.

It runs as a hosted streamable HTTP endpoint at mcp.string-db.org, and no sign-in or API key is needed. The source is MIT licensed and can also be run locally with Python 3.11 or newer, over HTTP or stdio, or in Docker.

## What it can do

- Resolve gene and protein names to STRING IDs and metadata
- List interaction partners and interactions within a protein set
- Generate network images and interactive STRING network links
- Cluster interaction networks and describe each cluster
- Run functional enrichment and PPI enrichment tests
- Retrieve GO, KEGG and other functional annotations
- Find homologs and search proteins by amino acid sequence
- Export results as downloadable files

## Tools (17)

- `string_resolve_proteins`: Map protein identifiers to STRING metadata such as gene symbol, species and STRING ID.
- `string_interactions_query_set`: Get interactions between the proteins in the query set.
- `string_all_interaction_partners`: Get all interaction partners of the query proteins across STRING.
- `string_visual_network`: Get a URL to a STRING network image, optionally with per-protein values.
- `string_network_clustering`: Cluster a STRING network and return images, links and cluster details.
- `string_network_link`: Get a stable URL to an interactive STRING network.
- `string_homology`: Get pairwise homology bit scores within or across species.
- `string_interaction_evidence`: Get links to STRING evidence pages for protein pairs.
- `string_enrichment`: Run functional enrichment analysis on a protein set.
- `string_functional_annotation`: Retrieve curated annotations such as GO, KEGG and UniProt keywords.
- `string_enrichment_image_url`: Get an enrichment figure URL for a chosen category.
- `string_ppi_enrichment`: Test whether a network has more interactions than expected by chance.
- `string_proteins_for_term`: Find proteins annotated with a tissue, disease, process, pathway or domain term.
- `string_sequence_search`: Find matching STRING proteins from amino acid sequences.
- `string_query_species`: Search species and clades in STRING and get NCBI taxon IDs.
- `string_create_file`: Create a downloadable file with STRING-derived results.
- `string_help`: Explain STRING features, edge legends and limitations.

## Example prompts

- "What does TP53 interact with in human? Show only high-confidence partners."
- "Run functional enrichment on BRCA1, BRCA2, ATM and CHEK2."
- "Cluster the network for these proteins and describe each cluster."
- "Find yeast homologs of human SMO and give the taxon IDs."

## Install

### Claude Code

1. Run this in a terminal, in your project folder:

```bash
claude mcp add --transport http string-db https://mcp.string-db.org/
```

2. Start Claude Code and type `/mcp`. **string-db** should show as connected.

Add `--scope user` to make it available in every project, not just this one.

### Claude Desktop

1. Open **Settings → Connectors** and click **Add custom connector**.

2. Name it **STRING Database** and paste this URL:

```url
https://mcp.string-db.org/
```

3. Click **Add**. Its tools appear in the chat’s tools menu.

Claude Desktop’s JSON config file only starts local servers. Remote servers go through Connectors, and connectors you add on claude.ai show up here too.

### claude.ai

1. Open the connector form on claude.ai. This button fills in the name and URL for you:

[Add to claude.ai](<https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=STRING%20Database&connectorUrl=https%3A%2F%2Fmcp.string-db.org%2F>) (opens connector settings)

2. Check that the URL reads `https://mcp.string-db.org/` and click **Add**.

3. Turn it on in a chat from the tools menu.

Free plans allow one custom connector. On Team and Enterprise plans an owner adds it under **Organization settings → Connectors**.

### ChatGPT

1. On chatgpt.com, open **Settings → Security and login** and turn on **Developer mode**.

2. Go to `chatgpt.com/plugins` and click **+** to create an app for a remote MCP server.

3. Paste `https://mcp.string-db.org/` as the server URL and choose **No authentication**.

Developer mode is available on the web for Plus, Pro, Business, Enterprise and Education accounts.

### Cursor

[Add to Cursor](<https://cursor.com/install-mcp?name=string-db&config=eyJ1cmwiOiJodHRwczovL21jcC5zdHJpbmctZGIub3JnLyJ9>) (opens Cursor)

Or add it by hand to `~/.cursor/mcp.json` (all projects) or `.cursor/mcp.json` (this project):

`mcp.json`:

```json
{
  "mcpServers": {
    "string-db": {
      "url": "https://mcp.string-db.org/"
    }
  }
}
```

### VS Code

[Install in VS Code](<https://vscode.dev/redirect/mcp/install?name=string-db&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.string-db.org%2F%22%7D>) (opens VS Code)

Or from a terminal:

```bash
code --add-mcp '{"name":"string-db","type":"http","url":"https://mcp.string-db.org/"}'
```

Or commit it to the repo in `.vscode/mcp.json`:

`.vscode/mcp.json`:

```json
{
  "servers": {
    "string-db": {
      "type": "http",
      "url": "https://mcp.string-db.org/"
    }
  }
}
```

### Devin Desktop

1. Add it to `~/.config/devin/mcp_config.json` (macOS and Linux) or `%APPDATA%\devin\mcp_config.json` (Windows):

`mcp_config.json`:

```json
{
  "mcpServers": {
    "string-db": {
      "serverUrl": "https://mcp.string-db.org/"
    }
  }
}
```

2. Refresh the MCP server list in Cascade.

Devin Desktop is the new name for Windsurf. It reads `serverUrl` (or `url`) for remote servers.

### Codex

```bash
codex mcp add string-db --url https://mcp.string-db.org/
```

Or edit `~/.codex/config.toml` directly:

`config.toml`:

```toml
[mcp_servers.string-db]
url = "https://mcp.string-db.org/"
```

### Gemini CLI

```bash
gemini mcp add --transport http string-db https://mcp.string-db.org/
```

This adds it to the current project. Add `-s user` to use it everywhere.

### Any client

Most clients accept this shape. Some name the URL field differently: `serverUrl` in Devin Desktop, `httpUrl` in Gemini CLI’s settings file.

```json
{
  "mcpServers": {
    "string-db": {
      "type": "http",
      "url": "https://mcp.string-db.org/"
    }
  }
}
```

Zed puts servers under `context_servers` in its settings. Cline needs `"type": "streamableHttp"`, or it assumes SSE.

Client only starts local servers? Bridge it with `npx -y mcp-remote https://mcp.string-db.org/`.

## Details

- Server version: 2.14.7
- MCP protocol version: 2025-11-25
- Last checked: 2026-10-03 (reachable)
- Listed: 2026-10-03
- Updated: 2026-10-04

---
Source: https://mcp.tc/i/string-db (mcp.tc is an independent directory, not affiliated with this server's publisher). Corrections: https://mcp.tc/report
