sparql-llm MCP

An MCP server from the SIB institute gives an agent query examples and class schemas for SPARQL to UniProt and Bgee.

  • 134 ★ on the repository
  • Last commit
  • MIT
MCP serverOfficial

Extended access

Why this level

  • The agent's questions go to the public SIB server and SPARQL queries run against the given endpoints.
All reasons and checks

sib-swiss/sparql-llm

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/sparql-llm

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • The agent's questions go to the public SIB server and SPARQL queries run against the given endpoints.

This is third-party code. Review the repository files before installing.

What it does

sparql-llm is a project of the SIB Swiss Institute of Bioinformatics. The public MCP server `https://chat.expasy.org/mcp` and a local `uvx sparql-llm` run give an agent three tools: retrieve query examples and a class schema for a question, retrieve a class schema, and execute a SPARQL query on a given endpoint. Metadata comes from the UniProt, Bgee, OMA, SwissLipids and Cellosaurus endpoints. The `search_proteins` and `get_protein` tools call the UniProt REST API. Clients that support MCP Apps get widgets: protein feature tracks, an AlphaFold structure, an interaction network, Bgee gene expression, Rhea reactions and more. The repository also holds a chat service and the `sparql-llm` pip package with reusable components.

Who it is for. Bioinformaticians and analysts who query biological databases through SPARQL and want the agent to compose the queries.

Good fit when

  • An agent has to build a SPARQL query for UniProt and first pulls similar examples.
  • A protein must be found by gene and organism: `search_proteins`, then `get_protein`.
  • In an MCP Apps client you open an interactive protein feature map or an AlphaFold structure.
  • You have your own database with a VoID description: a local server indexes its endpoints from a settings file.

Not a fit when

  • The endpoint has no query examples or VoID description: the project needs that metadata.
  • Questions must not go to the public chat.expasy.org server: deploy your own instead.
  • The task is medical, with a diagnosis or treatment decision: the tool finds data and builds queries.

Example request

Find human proteins for the TP53 gene in UniProt and write a SPARQL query that returns their functions.

MCP

Transport
stdio, http
Authentication
not required

Environment variables

SETTINGS_FILEPATH
Path to a JSON settings file with the endpoint list for a local server.

Limitations

Endpoints need metadata: SPARQL query examples and a VoID description, which the void-generator tool can produce. The public server `https://chat.expasy.org/mcp` is configured for SIB biodata resources. For your own endpoints run the server locally with `uvx sparql-llm` and pass the path to a JSON settings file in `SETTINGS_FILEPATH`. The agent's questions go to the chosen server and the query-execution tool calls the given endpoint. Widgets show only in clients that support MCP Apps, others get a text summary. The README marks part of the chat system as work in progress (WIP).

How to disable. Remove the `expasy-mcp` (or `expasy-mcp-http`) server from the MCP client configuration. The local settings file can be deleted with it.

FAQ

How do I connect the public SIB server?

Set the client URL to `https://chat.expasy.org/mcp/` with type `http`. In VS Code open `MCP: Open User Configuration` from the command palette and add the server to `mcp.json`.

How do I run the server locally?

Run `uvx sparql-llm`. To connect your own endpoints set the `SETTINGS_FILEPATH` variable to the path of a JSON settings file.

What does an endpoint need?

SPARQL query examples and a VoID description. A quick check lives at sib-swiss.github.io/sparql-editor/check.

Which databases does the public server cover?

SIB resources: UniProt, Bgee, OMA, SwissLipids and Cellosaurus, plus Rhea, MetaNetX and OrthoDB through dedicated tools.

Are there widgets for biodata?

Yes, for MCP Apps clients: `show_protein_features`, `show_protein_structure`, `show_gene_expression`, `show_reaction` and others. Other clients get a text summary.

Discussion

No questions or reviews yet.

Official

An EMBL-EBI MCP endpoint for ontology class search, ancestors and descendants, including semantic embedding search.

MCP serverMinimal access108Repository stars

A Claude Code plugin and MCP server: over 1000 scientific tools for biology, chemistry and medicine, data-check commands and routing skills

PluginBroad access1.8KRepository stars

An MCP server for searching and downloading academic papers from arXiv, PubMed, bioRxiv, Semantic Scholar and other open sources

MCP serverExtended access3.1KRepository stars
Official

The official Open Targets MCP server: an agent searches genes, diseases and drugs and queries target-disease associations

MCP serverExtended access37Repository stars

A self-hosted RAG app with a web interface and a built-in MCP server: documents, Qdrant and answers with sources.

MCP serverExtended access386Repository stars

PubMed MCP searches biomedical papers, retrieves available full text and formats citations with retraction and correction notices.

MCP serverExtended access167Repository stars

README in short

The project has three parts: the expasy.org/chat chat service, an MCP server and a pip package with components. Retrieval over endpoint schemas and query validation improve SPARQL accuracy. The MCP section lists tools, widgets and ways to connect a client.

README badge

Report a problem