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
Extended access
Why this level
- The agent's questions go to the public SIB server and SPARQL queries run against the given endpoints.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/sparql-llmDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended 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.
Related
MCP serversAn EMBL-EBI MCP endpoint for ontology class search, ancestors and descendants, including semantic embedding search.
A Claude Code plugin and MCP server: over 1000 scientific tools for biology, chemistry and medicine, data-check commands and routing skills
An MCP server for searching and downloading academic papers from arXiv, PubMed, bioRxiv, Semantic Scholar and other open sources
The official Open Targets MCP server: an agent searches genes, diseases and drugs and queries target-disease associations
A self-hosted RAG app with a web interface and a built-in MCP server: documents, Qdrant and answers with sources.
PubMed MCP searches biomedical papers, retrieves available full text and formats citations with retraction and correction notices.
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.