Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Sparql

FreeNot checked

MCP server exposing SPARQL query functionalities for LLMs, enabling query execution, validation, and graph exploration across SPARQL endpoints.

GitHubEmbed

About

MCP server exposing SPARQL query functionalities for LLMs, enabling query execution, validation, and graph exploration across SPARQL endpoints.

README

mcp-sparql — MCP server exposing SPARQL query functionalities for LLMs.

PyPI Python Ruff

mcp-name: io.github.daedalus/mcp-sparql

Install

pip install mcp-sparql

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
sparql_query Execute SPARQL SELECT queries (table or JSON output)
sparql_ask Execute SPARQL ASK queries (boolean result)
sparql_construct Execute SPARQL CONSTRUCT queries (Turtle or JSON-LD)
sparql_describe Execute SPARQL DESCRIBE queries (Turtle or JSON-LD)
sparql_validate Validate SPARQL query syntax without executing
sparql_list_graphs List named graphs on a SPARQL endpoint
sparql_get_prefixes 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 sparql://common-prefixes Standard SPARQL namespace prefixes

API

sparql_query

Execute a SPARQL SELECT query.

Parameters:

  • endpoint (str): SPARQL endpoint URL
  • query (str): SPARQL SELECT query
  • timeout (int, default=30): Query timeout in seconds
  • output_format (str, default="table"): "table" for Markdown, "json" for JSON
  • headers (dict, optional): HTTP headers for authentication
  • max_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/

from github.com/daedalus/mcp-sparql

Installing Sparql

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/daedalus/mcp-sparql

FAQ

Is Sparql MCP free?

Yes, Sparql MCP is free — one-click install via Unyly at no cost.

Does Sparql need an API key?

No, Sparql runs without API keys or environment variables.

Is Sparql hosted or self-hosted?

A hosted option is available: Unyly runs the server in the cloud, no local setup required.

How do I install Sparql in Claude Desktop, Claude Code or Cursor?

Open Sparql on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Sparql with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs