About
Wikidata Sparql — Model Context Protocol server
README
A Model Context Protocol (MCP) server providing access to the Wikidata knowledge graph via SPARQL queries. This server runs on Cloudflare Workers and supports both Server-Sent Events (SSE) and standard HTTP transport for remote MCP deployments.
Features
- Single Unified Tool: One powerful
sparql_querytool that handles both introspection and data queries - Comprehensive SPARQL Support: Execute any SPARQL query against Wikidata's knowledge graph
- Multiple Output Formats: JSON, XML, Turtle, and CSV result formats
- Timeout Protection: Configurable query timeouts (1-60 seconds) to prevent runaway queries
- Remote Deployment: Deployed on Cloudflare Workers for global accessibility
- Dual Transport Support: Both SSE and HTTP endpoints for maximum compatibility
Quick Start
Deploy to Cloudflare Workers
This will deploy your MCP server to a URL like: wikidata-sparql-mcp-server.<your-account>.workers.dev/sse
Alternatively, clone and deploy manually:
git clone https://github.com/QuentinCody/wikidata-sparql-mcp-server.git
cd wikidata-sparql-mcp-server
npm install
npm run deploy
Local Development
npm install
npm start # Runs on http://localhost:8787
MCP Tool Reference
sparql_query
Execute SPARQL queries against the Wikidata knowledge graph with support for both introspection and data retrieval.
Parameters:
query(string, required): The SPARQL query to executeformat(enum, optional): Output format - "json" (default), "xml", "turtle", or "csv"timeout(number, optional): Query timeout in seconds (1-60, default: 30)
Example Queries:
Introspection Examples
# Describe what a human is in Wikidata
DESCRIBE wd:Q5
# Get all properties available for humans
SELECT DISTINCT ?property ?propertyLabel WHERE {
wd:Q5 ?property ?value .
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" . }
}
Data Query Examples
# Get 10 famous scientists
SELECT ?scientist ?scientistLabel ?birthDate WHERE {
?scientist wdt:P31 wd:Q5 ; # instance of human
wdt:P106 wd:Q901 ; # occupation: scientist
wdt:P569 ?birthDate . # birth date
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" . }
}
ORDER BY ?birthDate
LIMIT 10
# Find all programming languages and their creators
SELECT ?language ?languageLabel ?creator ?creatorLabel WHERE {
?language wdt:P31 wd:Q9143 ; # instance of programming language
wdt:P178 ?creator . # developer
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" . }
}
LIMIT 20
Boolean Check Examples
# Check if humans are living beings
ASK { wd:Q5 wdt:P279 wd:Q35120 }
# Check if a specific person exists
ASK { wd:Q937 ?p ?o } # Albert Einstein
Client Configuration
Claude Desktop
Add this configuration to Claude Desktop's MCP settings:
{
"mcpServers": {
"wikidata-sparql": {
"command": "npx",
"args": [
"mcp-remote",
"https://wikidata-sparql-mcp-server.<your-account>.workers.dev/sse"
]
}
}
}
Cloudflare AI Playground
- Go to https://playground.ai.cloudflare.com/
- Enter your deployed server URL:
wikidata-sparql-mcp-server.<your-account>.workers.dev/sse - Start querying the Wikidata knowledge graph!
Generic MCP Client
For any MCP client supporting HTTP/SSE transport:
- SSE Endpoint:
https://your-domain.workers.dev/sse - HTTP Endpoint:
https://your-domain.workers.dev/mcp
SPARQL Query Examples by Use Case
Research & Academia
# Find Nobel Prize winners in Physics
SELECT ?winner ?winnerLabel ?year WHERE {
?award wdt:P31 wd:Q7191 ; # Nobel Prize in Physics
wdt:P585 ?year ; # point in time
wdt:P1346 ?winner . # winner
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" . }
}
ORDER BY DESC(?year)
LIMIT 10
Geography & Demographics
# Countries and their capitals
SELECT ?country ?countryLabel ?capital ?capitalLabel WHERE {
?country wdt:P31 wd:Q3624078 ; # sovereign state
wdt:P36 ?capital . # capital
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" . }
}
LIMIT 50
Technology & Innovation
# Software companies founded after 2000
SELECT ?company ?companyLabel ?founded WHERE {
?company wdt:P31 wd:Q936518 ; # software company
wdt:P571 ?founded . # inception
FILTER(YEAR(?founded) > 2000)
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" . }
}
ORDER BY DESC(?founded)
LIMIT 20
Error Handling
The server provides comprehensive error handling:
- Timeout Protection: Queries exceeding the timeout limit are automatically aborted
- SPARQL Validation: Invalid queries return descriptive error messages
- Network Resilience: Handles Wikidata endpoint unavailability gracefully
- Format Validation: Ensures output format compatibility
Architecture
- Base: Cloudflare Workers with Durable Objects
- MCP Framework: Model Context Protocol SDK with Cloudflare Agents
- Transport: SSE (Server-Sent Events) and HTTP support
- Query Engine: Direct integration with Wikidata's SPARQL endpoint
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Test with various SPARQL queries
- Submit a pull request
License
MIT License - see LICENSE file for details
Related Resources
Installing Wikidata Sparql
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/QuentinCody/wikidata-sparql-mcp-serverFAQ
Is Wikidata Sparql MCP free?
Yes, Wikidata Sparql MCP is free — one-click install via Unyly at no cost.
Does Wikidata Sparql need an API key?
No, Wikidata Sparql runs without API keys or environment variables.
Is Wikidata Sparql hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Wikidata Sparql in Claude Desktop, Claude Code or Cursor?
Open Wikidata 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
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectAmap Maps Mcp Server
MCP server for using the AMap Maps API
by duxiaohuiSupabase
Database, auth and storage
by SupabaseEverything
Reference / test server with prompts, resources, and tools.
Git
Tools to read, search, and manipulate Git repositories.
Sequential Thinking
Dynamic and reflective problem-solving through thought sequences.
Time
Time and timezone conversion capabilities.
Compare Wikidata Sparql with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
