Skip to content

Add Wikidata MCP#1210

Merged
tadasant merged 1 commit into
modelcontextprotocol:mainfrom
zzaebok:patch-1
Apr 4, 2025
Merged

Add Wikidata MCP#1210
tadasant merged 1 commit into
modelcontextprotocol:mainfrom
zzaebok:patch-1

Conversation

@zzaebok

@zzaebok zzaebok commented Apr 2, 2025

Copy link
Copy Markdown
Contributor

Description

Adds Wikidata MCP server to README.
https://github.com/zzaebok/mcp-wikidata

Server Details

  • Server:
  • Changes to: README.md

Motivation and Context

How Has This Been Tested?

Tested it with MCP client and check the LLM uses the provided tools appropriately.
You can see the client code here: https://github.com/zzaebok/mcp-wikidata/blob/master/src/client.py

Output (some fields are omitted for clarity):

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

Breaking Changes

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the MCP Protocol Documentation
  • My changes follows MCP security best practices
  • I have updated the server's README accordingly
  • I have tested this with an LLM client
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have documented all environment variables and configuration options

Additional context

@zzaebok

zzaebok commented Apr 2, 2025

Copy link
Copy Markdown
Contributor Author

@tadasant Could you please review this Wikidata (knowledge graph) MCP server?

@zzaebok

zzaebok commented Apr 3, 2025

Copy link
Copy Markdown
Contributor Author

@tadasant Thanks! Do I need to update branch by myself?

@cliffhall

Copy link
Copy Markdown
Member

I worry that the servers repo is snowballing into a third party MCP server list. We can't really vet all the repos that are out there for safety and reliability. There are plenty of sites like PulseMCP that aggregate MCP servers. This repo is just meant to be examples maintained by the project.

@tadasant

tadasant commented Apr 4, 2025

Copy link
Copy Markdown
Member

@tadasant Thanks! Do I need to update branch by myself?

Sorry, forgot to hit merge!

@tadasant
tadasant merged commit 704b9bf into modelcontextprotocol:main Apr 4, 2025
@tadasant

tadasant commented Apr 4, 2025

Copy link
Copy Markdown
Member

I worry that the servers repo is snowballing into a third party MCP server list. We can't really vet all the repos that are out there for safety and reliability. There are plenty of sites like PulseMCP that aggregate MCP servers. This repo is just meant to be examples maintained by the project.

Not incorrect and it is unsustainable long term - just not fair to folks in the meantime to be unable to get listed until we resolve it (with the official registry) because this repo is what gets the most attention from the broader community.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants