Wikidata MCP Server

Integrations

  • Provides access to the project repository for installation via git clone from GitHub.

  • Enables integration with LangChain through langchain-mcp-adapters, allowing AI agents to interact with Wikidata's knowledge graph through the Model Context Protocol.

  • Provides tools for interacting with Wikidata, including searching for entity and property identifiers, retrieving entity metadata (labels and descriptions), accessing entity properties, and executing SPARQL queries against the Wikidata knowledge base.

Servidor MCP de Wikidata

Una implementación de servidor para la API de Wikidata mediante el Protocolo de Contexto de Modelo (MCP). Este proyecto proporciona herramientas para interactuar con Wikidata, como la búsqueda de identificadores (de entidad y propiedad), la extracción de metadatos (de etiqueta y descripción) y la ejecución de consultas Sparql .


Instalación

Instale uv si aún no está instalado.

$ curl -LsSf https://astral.sh/uv/install.sh | sh

Luego, instala las dependencias.

$ git clone https://github.com/zzaebok/mcp-wikidata.git $ cd mcp-wikidata $ uv sync # if you want to run client example together $ uv sync --extra example

Correr

Ejecute el servidor con:

$ uv run src/server.py

Si desea probarlo con un código de cliente simple (con langchain-mcp-adapters ), ejecute el cliente con:

# in another shell $ uv run src/client.py

El LLM extrae identificadores válidos de entidades y propiedades, ejecuta una consulta sparql y finalmente recomienda una película dirigida por Bong Joon-ho.

{ "messages": [ HumanMessage( content="Can you recommend me a movie directed by Bong Joonho?", ), AIMessage( tool_calls=[ { "name": "search_entity", "args": {"query": "Bong Joon-ho"}, } ], ), ToolMessage( content="Q495980", name="search_entity", ), AIMessage( tool_calls=[ { "name": "get_properties", "args": {"entity_id": "Q495980"}, } ], ), ToolMessage( content='["P345", "P244", "P214", "P227", ...]', name="get_properties", ), AIMessage( tool_calls=[ { "name": "search_property", "args": {"query": "director"}, } ], ), ToolMessage( content="P57", name="search_property", ), AIMessage( tool_calls=[ { "name": "execute_sparql", "args": { "sparql_query": 'SELECT ?film ?filmLabel WHERE {\n ?film wdt:P57 wd:Q495980.\n SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }\n} LIMIT 1' }, } ], ), ToolMessage( content='[{"film": {"type": "uri", "value": "http://www.wikidata.org/entity/Q483761"}, "filmLabel": {"xml:lang": "en", "type": "literal", "value": "Mother"}}]', name="execute_sparql", ), AIMessage( content='I recommend the movie "Mother," which was directed by Bong Joon-ho.', ), ] }

Herramientas MCP de Wikidata

Las siguientes herramientas están implementadas en el servidor:

HerramientaDescripción
search_entity(query: str)Busque un ID de entidad de Wikidata mediante su consulta.
search_property(query: str)Busque un ID de propiedad de Wikidata mediante su consulta.
get_properties(entity_id: str)Obtener las propiedades asociadas con un ID de entidad de Wikidata determinado.
execute_sparql(sparql_query: str)Ejecutar una consulta SPARQL en Wikidata.
get_metadata(entity_id: str, language: str = "en")Recupere la etiqueta y la descripción en inglés para una ID de entidad de Wikidata determinada.

Licencia

Licencia MIT

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Una implementación de servidor para interactuar con la API de Wikidata utilizando el Protocolo de Contexto de Modelo, proporcionando herramientas para buscar identificadores, extraer metadatos y ejecutar consultas SPARQL.

  1. Installation
    1. Run
      1. Wikidata MCP Tools
        1. License
      ID: hm1c5dex3y