CAT
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Cross AI Tools

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

Wikidata Mcp Server

cyanheads/wikidata-mcp-server
1STDIO, HTTPregistry active
Summary

Connects Claude to Wikidata's 100+ million structured entities through seven tools and SPARQL access. You get entity search, full entity fetches with field filtering, batch label resolution for up to 50 QIDs at once, statement extraction with automatic label resolution, sitelink lookup across Wikipedia projects, and direct SPARQL queries against Blazegraph with auto-injected prefixes. The external ID resolver is built for cross-referencing: pass a DOI, PubMed ID, ORCID, or OpenAlex ID and get back the Wikidata QID. Runs locally via stdio or from a public HTTP endpoint. Reach for this when you need structured knowledge graph queries, fact verification against canonical data, or identifier mapping between research databases.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

@cyanheads/wikidata-mcp-server

Search and fetch Wikidata entities, execute SPARQL queries, and resolve external identifiers via MCP. STDIO or Streamable HTTP.

7 Tools • 1 Resource

Version License Docker MCP SDK npm TypeScript Bun

Install in Claude Desktop Install in Cursor Install in VS Code

Framework

Public Hosted Server: https://wikidata.caseyjhand.com/mcp


Tools

7 tools for working with Wikidata's knowledge graph:

ToolDescription
wikidata_search_entitiesSearch for items or properties by text query, returning QIDs/PIDs with labels, descriptions, and match metadata
wikidata_get_entityFetch a full entity by QID or PID with optional field and language filtering
wikidata_get_labelsBatch-resolve up to 50 QIDs or PIDs to human-readable labels and descriptions
wikidata_get_statementsFetch property claims for an entity with qualifier detail and QID label resolution
wikidata_get_sitelinksFetch Wikipedia and Wikimedia project article URLs for a Wikidata item
wikidata_sparql_queryExecute a SPARQL SELECT query against the Wikidata Query Service
wikidata_resolve_external_idLook up a Wikidata entity by an external identifier (DOI, PubMed ID, ORCID, OpenAlex ID, etc.)

wikidata_search_entities

Search Wikidata for items or properties by text query.

  • Searches labels, aliases, and descriptions
  • type="item" for real-world concepts (people, places, works); type="property" for predicate P-IDs
  • Language-aware results (BCP 47 language codes)
  • Offset-based pagination, up to 50 results per call
  • Returns match metadata indicating whether the hit was on a label or alias

wikidata_get_entity

Fetch a Wikidata entity by QID or PID with field selection.

  • Q-IDs (e.g. Q76) fetch items; P-IDs (e.g. P31) fetch properties — endpoint routing is automatic
  • fields parameter trims the response to labels, descriptions, aliases, statements, or sitelinks
  • languages parameter filters multilingual maps to specific language codes
  • Full entity payload always fetched from the API; field/language filtering is client-side

wikidata_get_labels

Batch-resolve QIDs/PIDs to human-readable labels and descriptions.

  • Up to 50 IDs per call, batched via the MediaWiki wbgetentities API
  • Supports multiple language codes per request
  • Reports found count and notFound IDs for partial-result handling
  • Designed for the common agent pattern: run a SPARQL query, then humanize the QID results

wikidata_get_statements

Fetch property claims for a Wikidata entity with full qualifier and reference detail.

  • properties parameter fetches only specific P-IDs — omit to return all statements
  • Value QIDs are resolved to human-readable labels by default via a batched label call
  • Set resolve_labels=false for raw QIDs only (faster, smaller payload)
  • Preferred-rank statements represent the most current values
  • Designed for fact verification: "what does Wikidata say about this entity's {property}?"

wikidata_get_sitelinks

Fetch Wikipedia and Wikimedia project article URLs for a Wikidata item.

  • Maps site codes (e.g., enwiki) to article titles and URLs
  • sites parameter filters to specific site codes
  • wikis_only=true returns only Wikipedia links (excludes Wiktionary, Wikiquote, Wikisource, etc.)
  • Major items can have 300+ sitelinks across languages
  • Only Q-IDs (items) have sitelinks — P-IDs are not supported

wikidata_sparql_query

Execute a SPARQL SELECT query against the Wikidata Query Service (Blazegraph).

  • Full graph power: multi-hop traversals, aggregations, subqueries, OPTIONAL, FILTER, UNION, BIND
  • Standard Wikidata prefixes (wd:, wdt:, p:, ps:, pq:, wikibase:, bd:) are auto-injected
  • wikibase:label SERVICE auto-injected when language is set and the query uses ?<var>Label variables
  • Results in SPARQL 1.1 JSON format: each binding is { type, value, "xml:lang"? }
  • Hard server timeout is 60s; client-side timeout parameter (1–55s) applies earlier
  • Rate-limited at 60 requests/min and 5 concurrent requests per IP

wikidata_resolve_external_id

Look up a Wikidata entity by an external identifier.

  • Common use cases: CrossRef DOI → QID (P356), PubMed PMID → QID (P698), ORCID → author QID (P496), OpenAlex ID → entity QID (P10283), IMDb ID (P345)
  • Automatic value normalization: DOIs uppercased, PMID prefixes stripped, ORCID hyphens normalized
  • Returns match=null when not found
  • Returns multipleMatches when a Wikidata data integrity issue causes more than one entity to claim the same external ID
  • Designed for cross-server joins with pubmed-mcp-server, crossref-mcp-server, and openalex-mcp-server

Resource

TypeNameDescription
Resourcewikidata://entity/{id}Compact markdown summary of a Wikidata entity — labels, English description, instance-of, Wikipedia link, image, and statement count

All resource data is also reachable via tools.

Features

Built on @cyanheads/mcp-ts-core:

  • Declarative tool definitions — single file per tool, framework handles registration and validation
  • Unified error handling across all tools
  • Pluggable auth (none, jwt, oauth)
  • Swappable storage backends: in-memory, filesystem, Supabase, Cloudflare KV/R2/D1
  • Structured logging with optional OpenTelemetry tracing
  • Runs locally (stdio/HTTP) from the same codebase

Wikidata-specific:

  • Wikidata REST API v1 for entity and statement fetches — no SPARQL overhead for lookup operations
  • MediaWiki wbgetentities API for efficient batch label resolution
  • Wikidata Query Service (Blazegraph) for SPARQL with auto-injected prefix headers and label SERVICE
  • Configurable User-Agent per Wikimedia policy
  • Separate timeout configuration for REST and SPARQL endpoints

Agent-friendly output:

  • wikidata_get_labels designed to follow SPARQL result sets — run the query, then humanize in one call
  • wikidata_resolve_external_id handles DOI/PMID/ORCID normalization transparently, with multipleMatches for data integrity edge cases
  • wikidata_get_statements resolves QID values to labels in the same call, with resolve_labels=false escape hatch for raw payloads
  • All tools echo input parameters in the response for traceability

Getting started

Self-Hosted / Local

Add the following to your MCP client configuration file.

{
  "mcpServers": {
    "wikidata-mcp-server": {
      "type": "stdio",
      "command": "bunx",
      "args": ["@cyanheads/wikidata-mcp-server@latest"],
      "env": {
        "MCP_TRANSPORT_TYPE": "stdio",
        "MCP_LOG_LEVEL": "info"
      }
    }
  }
}

Or with npx (no Bun required):

{
  "mcpServers": {
    "wikidata-mcp-server": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@cyanheads/wikidata-mcp-server@latest"],
      "env": {
        "MCP_TRANSPORT_TYPE": "stdio",
        "MCP_LOG_LEVEL": "info"
      }
    }
  }
}

Or with Docker:

{
  "mcpServers": {
    "wikidata-mcp-server": {
      "type": "stdio",
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "MCP_TRANSPORT_TYPE=stdio", "ghcr.io/cyanheads/wikidata-mcp-server:latest"]
    }
  }
}

For Streamable HTTP, set the transport and start the server:

MCP_TRANSPORT_TYPE=http MCP_HTTP_PORT=3010 bun run start:http
# Server listens at http://localhost:3010/mcp

Prerequisites

  • Bun v1.3.0 or higher (or Node.js ≥ 24.0.0).

Installation

  1. Clone the repository:
git clone https://github.com/cyanheads/wikidata-mcp-server.git
  1. Navigate into the directory:
cd wikidata-mcp-server
  1. Install dependencies:
bun install

Configuration

All configuration is validated at startup via Zod schemas. Key environment variables:

VariableDescriptionDefault
MCP_TRANSPORT_TYPETransport: stdio or httpstdio
MCP_HTTP_PORTHTTP server port3010
MCP_HTTP_ENDPOINT_PATHHTTP endpoint path where the MCP server is mounted/mcp
MCP_PUBLIC_URLPublic origin override for TLS-terminating reverse-proxy deploymentsnone
MCP_AUTH_MODEAuthentication: none, jwt, or oauthnone
MCP_LOG_LEVELLog level (debug, info, notice, warning, error)info
MCP_GC_PRESSURE_INTERVAL_MSOpt-in Bun-only forced-GC interval (ms). Try 60000 if heap growth is observed under HTTP load.0 (disabled)
LOGS_DIRDirectory for log files (Node.js only)<project-root>/logs
STORAGE_PROVIDER_TYPEStorage backend: in-memory, filesystem, supabase, cloudflare-kv/r2/d1in-memory
WIKIDATA_USER_AGENTUser-Agent string for Wikimedia requests (policy requires a descriptive value)wikidata-mcp-server/0.1 (https://github.com/cyanheads/wikidata-mcp-server)
WIKIDATA_SPARQL_TIMEOUT_MSMax wait for a SPARQL response in ms55000
WIKIDATA_REST_TIMEOUT_MSMax wait for REST API responses in ms10000
OTEL_ENABLEDEnable OpenTelemetryfalse

Running the server

Local development

  • Build and run the production version:

    # One-time build
    bun run rebuild
    
    # Run the built server
    bun run start:http
    # or
    bun run start:stdio
    
  • Run checks and tests:

    bun run devcheck  # Lints, formats, type-checks, and more
    bun run test      # Runs the test suite
    

Project structure

DirectoryPurpose
src/mcp-server/toolsTool definitions (*.tool.ts). Seven tools for entity lookup, statements, sitelinks, SPARQL, and external ID resolution.
src/mcp-server/resourcesResource definitions. Entity summary resource.
src/services/wikidataWikidata service layer — REST API client, SPARQL client, statement normalization, types.
src/configServer-specific environment variable parsing and validation with Zod.
tests/Unit and integration tests, mirroring the src/ structure.

Development guide

See CLAUDE.md for development guidelines and architectural rules. The short version:

  • Handlers throw, framework catches — no try/catch in tool logic
  • Use ctx.log for logging, ctx.state for storage
  • Register new tools and resources in the createApp() arrays

Contributing

Issues and pull requests are welcome. Run checks and tests before submitting:

bun run devcheck
bun run test

License

Apache-2.0 — see LICENSE for details.

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Configuration

WIKIDATA_USER_AGENTdefault: wikidata-mcp-server/0.1 (https://github.com/cyanheads/wikidata-mcp-server)

User-Agent string for Wikimedia requests. Wikimedia policy requires a descriptive value.

WIKIDATA_SPARQL_TIMEOUT_MSdefault: 55000

Max time to wait for a SPARQL response in milliseconds.

WIKIDATA_REST_TIMEOUT_MSdefault: 10000

Max time to wait for REST API responses in milliseconds.

MCP_LOG_LEVELdefault: info

Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').

MCP_HTTP_HOSTdefault: 127.0.0.1

The hostname for the HTTP server.

MCP_HTTP_PORTdefault: 3010

The port to run the HTTP server on.

MCP_HTTP_ENDPOINT_PATHdefault: /mcp

The endpoint path for the MCP server.

MCP_AUTH_MODEdefault: none

Authentication mode to use: 'none', 'jwt', or 'oauth'.

Categories
Search & Web Crawling
Registryactive
Package@cyanheads/wikidata-mcp-server
TransportSTDIO, HTTP
UpdatedJun 4, 2026
View on GitHub

Related Search & Web Crawling MCP Servers

View all →
Google Search

com.mcparmory/google-search

Scrape Google search results with SERP data, ads, and knowledge panels
25
Brave Search

io.github.pipeworx-io/brave-search

Brave Search MCP — independent web index (no Google/Bing dependency)
Serper Search and Scrape

marcopesani/mcp-server-serper

Serper MCP Server supporting search and webpage scraping
154
Brave Search Mcp Server

brave/brave-search-mcp-server

Brave Search MCP Server: web results, images, videos, rich results, AI summaries, and more.
1.2k
Google Search Console

com.mcparmory/google-search-console

Query search analytics, manage sitemaps, and inspect site URLs and status
25
Google Search Console

acamolese/google-search-console-mcp

Google Search Console MCP server: SEO audits, performance queries, URL inspection, indexing checks.
3