Skip to main content
Glama
zzaebok

Wikidata MCP Server

by zzaebok

Wikidata MCP サーバー

鍛冶屋のバッジ

モデルコンテキストプロトコル(MCP)を用いたWikidata APIのサーバー実装。このプロジェクトは、識別子(エンティティとプロパティ)の検索メタデータ(ラベルと説明)の抽出SPARQLクエリの実行など、Wikidataを操作するためのツールを提供します。


インストール

Smithery経由でインストール

Smithery経由で Claude Desktop 用の Wikidata MCP サーバーを自動的にインストールするには:

npx -y @smithery/cli install @zzaebok/mcp-wikidata --client claude

手動でインストールする

まだインストールされていない場合はuvをインストールしてください。

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

次に、依存関係をインストールします。

$ 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

走る

次のコマンドでサーバーを実行します。

$ uv run src/server.py

単純なクライアント コード ( langchain-mcp-adaptersを使用) でテストする場合は、次のコマンドでクライアントを実行します。

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

LLM は有効なエンティティおよびプロパティ識別子を抽出し、Sparql クエリを実行し、最終的にポン・ジュノ監督の映画を推奨します。

{
  "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.',
      ),
  ]
}

Wikidata MCPツール

サーバーには次のツールが実装されています。

道具

説明

search_entity(query: str)

クエリで Wikidata エンティティ ID を検索します。

search_property(query: str)

クエリで Wikidata プロパティ ID を検索します。

get_properties(entity_id: str)

指定された Wikidata エンティティ ID に関連付けられたプロパティを取得します。

execute_sparql(sparql_query: str)

Wikidata で SPARQL クエリを実行します。

get_metadata(entity_id: str, language: str = "en")

指定された Wikidata エンティティ ID の英語のラベルと説明を取得します。


ライセンス

MITライセンス

Install Server
A
security – no known vulnerabilities
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/zzaebok/mcp-wikidata'

If you have feedback or need assistance with the MCP directory API, please join our Discord server