Skip to main content
Glama

Server Details

Search and fetch Wikidata entities, execute SPARQL queries, and resolve external identifiers.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
cyanheads/wikidata-mcp-server
GitHub Stars
1

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.5/5 across 7 of 7 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose: entity data retrieval, label resolution, sitelinks, statements, external ID lookup, text search, and SPARQL queries. No two tools overlap in functionality.

Naming Consistency5/5

All tools follow a consistent pattern: wikidata_<verb>_<noun>, with verbs like get, resolve, search, query. Names are predictable and clearly indicate the operation.

Tool Count5/5

With 7 tools, the server covers the core Wikidata query operations without being overly sparse or bloated. Each tool serves a necessary role.

Completeness4/5

The tool set covers essential Wikidata interactions: entity fetch, labels, sitelinks, statements, external ID resolution, search, and SPARQL. Missing are batch entity retrieval and write operations, which are reasonable omissions for a read-oriented MCP server.

Available Tools

7 tools
wikidata_get_entityGet Wikidata EntityA
Read-only
Inspect

Fetch a Wikidata entity (item or property) by QID or PID. Use the fields parameter to trim what is returned to the caller — major items can be large. Omit fields to get all data. Q-IDs (e.g. Q76) fetch items; P-IDs (e.g. P31) fetch properties from the correct endpoint automatically. Use wikidata_get_statements for deep claim traversal with label resolution.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesQ-ID (e.g., "Q76") or P-ID (e.g., "P31"). Case-insensitive — normalized to uppercase.
fieldsNoFields to include in the response. Options: "labels", "descriptions", "aliases", "statements", "sitelinks". Omit for all fields.
languagesNoLanguage codes to include in labels, descriptions, and aliases (e.g., ["en", "de"]). Omit to return all available languages.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesNormalized entity ID (e.g., "Q76" or "P31").
typeYesEntity type: "item" or "property".
labelsNoMap of language code to label string (e.g., {"en": "Barack Obama", "de": "Barack Obama"}).
aliasesNoMap of language code to list of alias strings (e.g., {"en": ["Barack H. Obama", "President Obama"]}).
data_typeNoProperty data type (e.g., "wikibase-item", "external-id"). Present on properties only.
sitelinksNoMap of site code (e.g., "enwiki") to sitelink metadata with title, url, and badges fields.
statementsNoMap of property ID to array of raw statement objects. Use wikidata_get_statements for resolved claims with label resolution.
descriptionsNoMap of language code to description string (e.g., {"en": "44th President of the United States"}).
fieldsReturnedYesWhich fields are included in this response.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only (readOnlyHint true) and open world (openWorldHint true). The description adds: automatic endpoint selection for Q vs P IDs, case-insensitivity with normalization, and size warnings for major items. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences with front-loaded purpose. No filler words. Every sentence adds essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists, so return values are covered. The description covers purpose, parameter guidance, endpoint selection, and sibling differentiation. No gaps identified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3. The description adds meaningful context: id is case-insensitive and normalized, fields can be omitted for all data (with size warning), languages filter labels/descriptions/aliases. This adds value beyond the schema definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'Fetch a Wikidata entity (item or property) by QID or PID,' providing a specific verb and resource. It distinguishes from sibling tool wikidata_get_statements by noting that tool is for deep claim traversal with label resolution.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description advises using the fields parameter to trim large responses and recommends wikidata_get_statements for deep claim traversal. It does not explicitly state when not to use this tool, but the context is clear enough for an agent to decide.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wikidata_get_labelsGet Wikidata LabelsA
Read-only
Inspect

Resolve one or more QIDs or PIDs to their human-readable labels and descriptions. Lightweight — returns no claim data. Supports up to 50 IDs per call (batched automatically). Designed for the common agent pattern: receive QIDs from a SPARQL query, then humanize them.

ParametersJSON Schema
NameRequiredDescriptionDefault
idsYesQ-IDs (e.g., "Q76") or P-IDs (e.g., "P31") to resolve. 1–50 IDs per call.
languagesNoBCP 47 language codes for returned labels and descriptions (e.g., ["en", "de", "fr"]).

Output Schema

ParametersJSON Schema
NameRequiredDescription
foundYesCount of IDs that returned data.
entitiesYesMap of entity ID to labels and descriptions. IDs that were not found are absent.
notFoundYesIDs from the request that did not return data (not found or invalid).
languagesYesThe language codes that were requested.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true. Description adds lightweight nature, batching up to 50 IDs, and no claim data. Could mention error handling, but overall adds valuable behavioral context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with the main action. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists, so return values don't need explanation. Description adequately covers purpose, usage context, constraints (batching), and integration pattern. Complete for this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. Description provides context about batching and pattern, but doesn't add specific parameter semantics beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it resolves QIDs/PIDs to human-readable labels and descriptions, distinguishing it from siblings by noting it returns no claim data and is designed for humanizing SPARQL results.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit context: designed for the common agent pattern after SPARQL queries, lightweight, no claim data. Does not explicitly state when not to use, but context with siblings implies alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wikidata_get_statementsGet Wikidata StatementsA
Read-onlyIdempotent
Inspect

Fetch property claims for a Wikidata entity with qualifier and reference detail. Value QIDs are resolved to human-readable labels by default. Use the properties parameter to fetch only specific P-IDs — omitting it returns all statements, which can be large. Designed for fact verification: "what does Wikidata say about this entity's {property}?". Preferred-rank statements are the most current values.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesQ-ID (e.g., "Q76") or P-ID of the entity to fetch statements for.
languageNoLanguage code for label resolution of QID values (e.g., "en", "de").en
propertiesNoP-IDs to fetch (e.g., ["P31", "P569", "P27"]). Omit to return all properties (may be large for major items).
resolve_labelsNoResolve wikibase-item value QIDs to human-readable labels via a batched label call. Set to false to skip label resolution and return raw QIDs only (faster, smaller payload).

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesThe entity ID whose statements were fetched.
statementsYesMap of property ID to array of normalized statements. Each statement has id, rank, property, value (with type-specific fields), and optional qualifiers and references arrays.
propertyCountYesNumber of distinct properties returned.
labelsResolvedYesTrue when QID values were resolved to labels. False when resolve_labels was set to false.
statementCountYesTotal number of statement objects across all properties.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint. The description adds that value QIDs are resolved to human-readable labels by default and that preferred-rank statements are the most current values. This enhances transparency beyond the annotations without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no redundancy. It front-loads the core purpose and follows with actionable guidance. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema (not shown but indicated as true), the description covers purpose, usage context, parameter behavior, and key behavioral details. It is sufficient for an agent to understand when and how to use this tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds context: explaining that the 'properties' parameter can be used to fetch specific P-IDs and that omitting it returns all statements. It also notes that QID resolution is default, corresponding to the 'resolve_labels' parameter. This adds value beyond the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it fetches property claims for a Wikidata entity with qualifier and reference detail. The verb 'fetch' and resource 'property claims' are specific, and the description distinguishes from siblings like 'wikidata_get_entity' which retrieves entity metadata.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit use cases: 'Designed for fact verification: what does Wikidata say about this entity's {property}?' It also advises using 'properties' parameter to limit output and warns that omitting it returns all statements which can be large. However, it does not directly compare with sibling tools for when not to use this specific one.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wikidata_resolve_external_idResolve Wikidata External IDA
Read-only
Inspect

Look up a Wikidata entity by an external identifier such as a DOI, PubMed ID, ORCID iD, or OpenAlex ID. Returns match= on success, match=null when not found, and match=null with multipleMatches populated when a Wikidata data integrity issue causes more than one entity to claim the same external ID. Common cross-server join use cases: CrossRef DOI → Wikidata paper QID (P356), PubMed PMID → Wikidata paper QID (P698), ORCID → author QID (P496), OpenAlex ID → entity QID (P10283). Known value normalization is applied automatically: DOIs are uppercased, PMID prefixes stripped, ORCID hyphens normalized.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYesThe external identifier value to look up (e.g., "10.1038/nature01234" for a DOI, "32283226" for a PubMed ID, "0000-0002-1825-0097" for an ORCID).
languageNoLanguage code for label and description in the response (e.g., "en", "de").en
propertyYesP-ID of the external identifier property (e.g., "P356" for DOI, "P698" for PubMed ID, "P496" for ORCID, "P10283" for OpenAlex ID, "P345" for IMDb ID).

Output Schema

ParametersJSON Schema
NameRequiredDescription
matchYesMatching entity, or null when no Wikidata entity claims this external identifier (including the case where multipleMatches is populated).
valueYesThe normalized value that was searched (may differ from input due to canonicalization).
propertyYesThe P-ID used for the lookup.
multipleMatchesNoPresent when more than one Wikidata entity claims this external ID (data integrity issue). match is null when this field is present. Inspect the list and select the correct QID manually.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds valuable behavioral details: return value patterns (success, null, multipleMatches), and automatic normalization (DOIs uppercased, PMID prefixes stripped, ORCID hyphens normalized). No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured, starting with the action, then success/failure conditions, then use cases, then normalization. It is moderately sized but every sentence adds value. Minor improvement could be to trim redundancy, but it remains effective.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists, the description is complete for a resolver tool. It covers the lookup function, result variants, normalization, and common use cases. No gaps are evident for an agent to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all three parameters. The description adds context by explaining the property parameter as a P-ID and giving common examples (P356 for DOI, etc.), and detailing normalization for the value parameter. This extra meaning justifies a score above the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Look up a Wikidata entity by an external identifier' and lists specific IDs (DOI, PubMed, ORCID, OpenAlex). It distinguishes from siblings by focusing on external ID resolution, which is a unique capability among the server's tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides common cross-server join use cases (e.g., CrossRef DOI to Wikidata QID) and implies when to use this tool (when an external ID is available). It does not explicitly exclude alternatives, but the context is clear enough for an agent to select appropriately.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wikidata_search_entitiesSearch Wikidata EntitiesA
Read-only
Inspect

Search Wikidata for items or properties by text query. Returns QIDs or PIDs with labels, descriptions, and match metadata indicating whether the hit was on a label or alias. Use type="item" for real-world concepts (people, places, works) and type="property" to find predicate P-IDs. The API returns no total count — pagination is offset-based with no result ceiling indicator.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoEntity type to search. Use "item" for Q-IDs (people, places, concepts) or "property" for P-IDs (predicates).item
limitNoMaximum number of results to return. Range: 1–50.
queryYesSearch terms to match against entity labels, aliases, and descriptions.
offsetNoPagination offset. Start at 0; increment by limit to page through results.
languageNoBCP 47 language code for returned labels and descriptions (e.g., "en", "de", "zh").en

Output Schema

ParametersJSON Schema
NameRequiredDescription
capYesThe limit parameter in effect.
shownYesNumber of results returned on this page.
noticeNoRecovery hint when results are empty — echoes filters and suggests how to broaden. Absent when results are present.
resultsYesRanked list of matching entities. Empty when no results found.
languageYesThe language used for label and description display.
truncatedNoTrue when results were capped at the limit. The Wikidata search API returns no total count — use offset pagination to retrieve more.
searchTypeYesThe entity type that was searched ("item" or "property").
effectiveQueryYesThe search query that was executed.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds behavioral details beyond annotations, such as the lack of total count, offset-based pagination with no result ceiling, and the match metadata field. This complements the readOnlyHint and openWorldHint annotations without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (two sentences) and front-loaded with the primary purpose. Every sentence contributes essential information without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the output format, pagination, and parameter usage adequately. Given the existence of an output schema and annotations, it is sufficiently complete, though it could mention authentication or rate limits if applicable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the baseline is 3. The description adds value by explaining the use case for the 'type' parameter and clarifying pagination behavior (offset and limit). This provides meaningful context beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches Wikidata for items or properties by text query and returns QIDs/PIDs with labels, descriptions, and match metadata. It distinguishes itself from sibling tools like wikidata_get_entity by focusing on searching rather than retrieving specific entities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on using the 'type' parameter for items vs. properties and explains pagination behavior (offset-based, no total count). However, it does not directly compare with siblings or specify when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wikidata_sparql_queryWikidata SPARQL QueryA
Read-only
Inspect

Execute a SPARQL SELECT query against the Wikidata Query Service. 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. The wikibase:label SERVICE is also auto-injected when language is set and the query includes ?Label variables — so you can use ?itemLabel without writing the boilerplate. Hard server timeout is 60s; use LIMIT to keep queries fast. Bindings use the SPARQL 1.1 JSON format: each value is { type, value, "xml:lang"? }. Use wikidata_get_labels to humanize QID results from this tool.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSPARQL SELECT query. Must be a SELECT query (not CONSTRUCT/DESCRIBE/ASK). Standard prefixes (wd:, wdt:, p:, ps:, pq:, wikibase:, bd:) are injected automatically. Example: SELECT ?item ?itemLabel WHERE { ?item wdt:P31 wd:Q146. } LIMIT 10
timeoutNoClient-side timeout in seconds (1–55). Capped at 55s — the Wikidata server hard limit is 60s.
languageNoLanguage for the wikibase:label SERVICE (e.g., "en", "de"). Controls the language of ?<var>Label variables. Set to "" to suppress label SERVICE injection.en

Output Schema

ParametersJSON Schema
NameRequiredDescription
noticeNoRecovery hint when no results returned — suggests checking query logic or broadening filters. Absent on non-empty results.
resultsYesArray of result bindings. Each row maps variable names to binding objects with { type, value, "xml:lang"?, datatype? } fields.
truncatedYesTrue when the row count equals 10,000 — the Wikidata/Blazegraph server-side cap — indicating the result set was likely truncated. False otherwise. Add a LIMIT clause to avoid hitting the cap. Note: the SPARQL endpoint does not expose an explicit truncation flag; this is an inferred signal.
variablesYesVariable names returned by the SELECT clause.
totalCountYesNumber of result rows returned.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint. The description adds value by disclosing auto-injection of prefixes, the label SERVICE injection behavior, 60s server timeout, and the SPARQL 1.1 JSON response format, going beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with a clear purpose statement, then provides relevant details in a structured manner. It is concise but thorough, avoiding redundancy while covering essential aspects.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of SPARQL queries, the description covers query type, auto-injected features, timeout limits, response format, and post-processing. The presence of an output schema does not negate the need for this information, and the description is complete enough for effective tool selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds meaning by explaining how the language parameter controls label SERVICE injection and how timeout is capped at 55s per server limits. It also notes that prefixes are auto-injected, which is not manifest from the schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it executes SPARQL SELECT queries against Wikidata Query Service, specifying supported operations and auto-injected features. It is differentiated from sibling tools like wikidata_get_labels and wikidata_search_entities by focusing on direct SPARQL execution.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or when-not-to-use guidance is provided. The description implies use for complex queries requiring full graph power, but does not mention alternatives or exclusionary criteria. A brief note about using wikidata_get_labels for humanizing results hints at complementary usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.