mcp-sparql
Provides tools for executing SPARQL queries (SELECT, ASK, CONSTRUCT, DESCRIBE) on Wikidata's SPARQL endpoint, enabling AI agents to retrieve structured data, validate queries, list graphs, and get common prefixes.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-sparqlquery Wikidata for cities in France"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-sparql — MCP server exposing SPARQL query functionalities for LLMs.
mcp-name: io.github.daedalus/mcp-sparql
Install
pip install mcp-sparqlRelated MCP server: RDF Explorer
Usage
As an MCP Server
Add to your MCP configuration (e.g., ~/.config/claude/mcp.json):
{
"mcpServers": {
"mcp-sparql": {
"command": "mcp-sparql"
}
}
}Available Tools
Tool | Description |
| Execute SPARQL SELECT queries (table or JSON output) |
| Execute SPARQL ASK queries (boolean result) |
| Execute SPARQL CONSTRUCT queries (Turtle or JSON-LD) |
| Execute SPARQL DESCRIBE queries (Turtle or JSON-LD) |
| Validate SPARQL query syntax without executing |
| List named graphs on a SPARQL endpoint |
| Get common prefixes for a SPARQL endpoint |
Examples
Query Wikidata:
sparql_query:
endpoint: "https://query.wikidata.org/sparql"
query: "SELECT ?item ?itemLabel WHERE { ?item wdt:P31 wd:Q5 . ?item rdfs:label ?itemLabel . FILTER(LANG(?itemLabel) = 'en') } LIMIT 5"Check if an entity exists:
sparql_ask:
endpoint: "https://query.wikidata.org/sparql"
query: "ASK { wd:Q42 wdt:P31 wd:Q5 }"Validate a query:
sparql_validate:
query: "SELECT ?s WHERE { ?s ?p ?o }"List named graphs:
sparql_list_graphs:
endpoint: "https://query.wikidata.org/sparql"Get common prefixes:
sparql_get_prefixes:
endpoint: "https://query.wikidata.org/sparql"Resources
Resource | URI | Description |
Common Prefixes |
| Standard SPARQL namespace prefixes |
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
git clone https://github.com/daedalus/mcp-sparql.git
cd mcp-sparql
pip install -e ".[test]"
# run tests
pytest
# format
ruff format src/ tests/
# lint + type check
prospector --with-tool ruff --with-tool mypy --with-tool pylint src/Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/daedalus/mcp-sparql'
If you have feedback or need assistance with the MCP directory API, please join our Discord server