MCP Connector

Query Wikidata Knowledge Graph via SPARQL

MCP server that executes SPARQL queries against the Wikidata knowledge graph, deployed on Cloudflare Workers with SSE and HTTP transport support.

Works with cloudflare workerswikidata

90
Spark score
out of 100
Updated last month
Version 1.0.0
Models
universal

Add to Favorites

Why it matters

Access and query the vast Wikidata knowledge graph using SPARQL. This asset enables complex data retrieval and analysis from one of the world's largest open knowledge bases.

Outcomes

What it gets done

01

Execute SPARQL queries against Wikidata.

02

Retrieve data in multiple formats (JSON, XML, Turtle, CSV).

03

Deploy globally on Cloudflare Workers for high availability.

04

Handle query timeouts and network resilience.

Install

Add it to your toolbox

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/vb-wikidata-sparql | bash

Capabilities

Tools your agent gets

sparql_query

Execute SPARQL queries against the Wikidata knowledge graph with multiple output formats.

Overview

Wikidata SPARQL MCP Server

Wikidata SPARQL MCP Server provides AI clients with access to Wikidata's knowledge graph through a single `sparql_query` tool. It executes SPARQL queries with support for introspection queries (DESCRIBE, ASK) and data retrieval (SELECT) with multiple output formats (JSON, XML, Turtle, CSV). The server runs on Cloudflare Workers and includes timeout protection (1-60 seconds) to prevent runaway queries. Use this server when you need to query structured knowledge from Wikidata - the source provides examples including finding Nobel Prize winners, mapping countries to capitals, discovering programming language creators, and exploring entity relationships. Do NOT use this for queries that consistently exceed 60-second timeouts.

What it does

Wikidata SPARQL MCP Server provides AI clients with access to Wikidata's knowledge graph through a single sparql_query tool. It executes SPARQL queries with support for introspection queries (DESCRIBE, ASK) and data retrieval (SELECT) with multiple output formats (JSON, XML, Turtle, CSV). The server runs on Cloudflare Workers and includes timeout protection (1-60 seconds) to prevent runaway queries.

When to use - and when NOT to

Use this server when you need to query structured knowledge from Wikidata - the source provides examples including finding Nobel Prize winners, mapping countries to capitals, discovering programming language creators, and exploring entity relationships. Do NOT use this for queries that consistently exceed 60-second timeouts.

Inputs and outputs

You provide a SPARQL query string, optional format parameter ("json", "xml", "turtle", or "csv"), and optional timeout (1-60 seconds, default 30). The server returns query results in your chosen format. Example query:

# 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

Integrations

Claude Desktop: Configure via MCP settings using npx mcp-remote with your deployed Workers URL. Cloudflare AI Playground: Connect at playground.ai.cloudflare.com using your deployed server URL. Generic MCP Clients: Any client supporting HTTP/SSE transport can connect to the /sse or /mcp endpoints. Built using the Model Context Protocol SDK with Cloudflare Agents.

Who it's for

Users who need to query Wikidata's knowledge graph through SPARQL. The source provides example queries for Nobel Prize winners, countries and capitals, software companies, programming languages, and scientific data. Deployed on Cloudflare Workers for global accessibility with both SSE and HTTP transport support.

Source README

Wikidata SPARQL MCP Server

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_query tool 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

Deploy to 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 execute
  • format (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

  1. Go to https://playground.ai.cloudflare.com/
  2. Enter your deployed server URL: wikidata-sparql-mcp-server.<your-account>.workers.dev/sse
  3. 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

Related Resources

FAQ

Common questions

Discussion

Questions & comments · 0

Sign In Sign in to leave a comment.