
Mcp Sparql
io.github.daedalusPublished by GitHub account daedalusv0.1.0Updated Oct 25, 2026
MCP server exposing SPARQL query functionalities for LLMs
Overview
A local MCP server that lets an assistant run SPARQL queries against RDF endpoints such as Wikidata and return results as tables or JSON.
- What you can do
- Run SELECT queries against a SPARQL endpoint and get Markdown tables or JSON, with timeout and row limits. Run ASK queries for true/false checks and CONSTRUCT or DESCRIBE queries for RDF triples in Turtle or JSON-LD. Validate SPARQL syntax without executing it. List named graphs and fetch common prefixes for an endpoint, plus a built-in resource of standard namespace prefixes.
- When to use it
- Useful when you want an assistant to explore linked-data or RDF sources like Wikidata, check whether an entity or fact exists, or draft and syntax-check SPARQL before running it.
- Requirements
- A local Python environment with the mcp-sparql package installed from PyPI, launched as a stdio process. Network access to whichever SPARQL endpoint you query; no accounts or keys are declared, though endpoints may need HTTP headers passed per call.
Installation
In SourceWeft
- Open Mcp Sparql in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
mcp-sparql — MCP server exposing SPARQL query functionalities for LLMs.
mcp-name: io.github.daedalus/mcp-sparql
Install
Usage
As an MCP Server
Add to your MCP configuration (e.g., ~/.config/claude/mcp.json):
Available Tools
Examples
Query Wikidata:
Check if an entity exists:
Validate a query:
List named graphs:
Get common prefixes:
Resources
API
sparql_query
Execute a SPARQL SELECT query.
Parameters:
endpoint(str): SPARQL endpoint URLquery(str): SPARQL SELECT querytimeout(int, default=30): Query timeout in secondsoutput_format(str, default="table"): "table" for Markdown, "json" for JSONheaders(dict, optional): HTTP headers for authenticationmax_rows(int, default=1000): Maximum result rows
sparql_ask
Execute a SPARQL ASK query. Returns "true" or "false".
sparql_construct
Execute a SPARQL CONSTRUCT query. Returns RDF triples.
Additional parameters:
output_format(str, default="turtle"): "turtle" or "json"
sparql_describe
Execute a SPARQL DESCRIBE query. Returns RDF description.
sparql_validate
Validate SPARQL query syntax without executing.
sparql_list_graphs
List available named graphs on a SPARQL endpoint.
sparql_get_prefixes
Get commonly used prefixes for a SPARQL endpoint.
Development
Source: README.md at commit 093080a
Tools
0Version history
1- v0.1.0LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts