@cyanheads/wikidata-mcp-server 0.1.1 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Dockerfile +8 -4
- package/README.md +20 -4
- package/changelog/0.1.x/0.1.2.md +20 -0
- package/changelog/0.1.x/0.1.3.md +11 -0
- package/dist/mcp-server/resources/definitions/entity.resource.d.ts +1 -3
- package/dist/mcp-server/resources/definitions/entity.resource.d.ts.map +1 -1
- package/dist/mcp-server/resources/definitions/entity.resource.js +6 -9
- package/dist/mcp-server/resources/definitions/entity.resource.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-entity.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-entity.tool.js +7 -19
- package/dist/mcp-server/tools/definitions/get-entity.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-labels.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-labels.tool.js +1 -2
- package/dist/mcp-server/tools/definitions/get-labels.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-statements.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-statements.tool.js +7 -5
- package/dist/mcp-server/tools/definitions/get-statements.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/sparql-query.tool.js +2 -2
- package/dist/mcp-server/tools/definitions/sparql-query.tool.js.map +1 -1
- package/dist/services/wikidata/types.d.ts +4 -9
- package/dist/services/wikidata/types.d.ts.map +1 -1
- package/package.json +24 -7
- package/server.json +7 -7
package/Dockerfile
CHANGED
|
@@ -8,6 +8,9 @@ FROM oven/bun:1.3 AS build
|
|
|
8
8
|
|
|
9
9
|
WORKDIR /usr/src/app
|
|
10
10
|
|
|
11
|
+
# Install node for tsx-based build scripts
|
|
12
|
+
RUN apt-get update -qq && apt-get install -y --no-install-recommends nodejs npm && rm -rf /var/lib/apt/lists/*
|
|
13
|
+
|
|
11
14
|
# Copy dependency manifests for optimized layer caching
|
|
12
15
|
COPY package.json bun.lock ./
|
|
13
16
|
|
|
@@ -17,8 +20,8 @@ RUN bun install --frozen-lockfile
|
|
|
17
20
|
# Copy the rest of the source code
|
|
18
21
|
COPY . .
|
|
19
22
|
|
|
20
|
-
# Build the application
|
|
21
|
-
RUN
|
|
23
|
+
# Build the application (npm invokes node/tsx rather than bun for script runner)
|
|
24
|
+
RUN npm run build
|
|
22
25
|
|
|
23
26
|
|
|
24
27
|
# ==============================================================================
|
|
@@ -37,9 +40,10 @@ WORKDIR /usr/src/app
|
|
|
37
40
|
ENV NODE_ENV=production
|
|
38
41
|
|
|
39
42
|
# OCI image metadata (https://github.com/opencontainers/image-spec/blob/main/annotations.md)
|
|
40
|
-
LABEL org.opencontainers.image.title="wikidata-mcp-server"
|
|
41
|
-
LABEL org.opencontainers.image.description=""
|
|
43
|
+
LABEL org.opencontainers.image.title="@cyanheads/wikidata-mcp-server"
|
|
44
|
+
LABEL org.opencontainers.image.description="Search and fetch Wikidata entities, execute SPARQL queries, and resolve external identifiers."
|
|
42
45
|
LABEL org.opencontainers.image.licenses="Apache-2.0"
|
|
46
|
+
LABEL org.opencontainers.image.source="https://github.com/cyanheads/wikidata-mcp-server"
|
|
43
47
|
|
|
44
48
|
# Copy dependency manifests
|
|
45
49
|
COPY package.json bun.lock ./
|
package/README.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
<h1>@cyanheads/wikidata-mcp-server</h1>
|
|
3
|
-
<p><b>Search and fetch Wikidata entities, execute SPARQL queries, resolve external identifiers. STDIO or Streamable HTTP.</b>
|
|
3
|
+
<p><b>Search and fetch Wikidata entities, execute SPARQL queries, and resolve external identifiers via MCP. STDIO or Streamable HTTP.</b>
|
|
4
4
|
<div>7 Tools • 1 Resource</div>
|
|
5
5
|
</p>
|
|
6
6
|
</div>
|
|
7
7
|
|
|
8
8
|
<div align="center">
|
|
9
9
|
|
|
10
|
-
[](./CHANGELOG.md) [](./LICENSE) [](https://modelcontextprotocol.io/) [](https://www.npmjs.com/package/@cyanheads/wikidata-mcp-server) [](https://www.typescriptlang.org/) [](https://bun.sh/)
|
|
11
11
|
|
|
12
12
|
</div>
|
|
13
13
|
|
|
@@ -122,9 +122,11 @@ Look up a Wikidata entity by an external identifier.
|
|
|
122
122
|
|:---|:---|:---|
|
|
123
123
|
| Resource | `wikidata://entity/{id}` | Compact markdown summary of a Wikidata entity — labels, English description, instance-of, Wikipedia link, image, and statement count |
|
|
124
124
|
|
|
125
|
+
All resource data is also reachable via tools.
|
|
126
|
+
|
|
125
127
|
## Features
|
|
126
128
|
|
|
127
|
-
Built on [`@cyanheads/mcp-ts-core`](https://
|
|
129
|
+
Built on [`@cyanheads/mcp-ts-core`](https://www.npmjs.com/package/@cyanheads/mcp-ts-core):
|
|
128
130
|
|
|
129
131
|
- Declarative tool definitions — single file per tool, framework handles registration and validation
|
|
130
132
|
- Unified error handling across all tools
|
|
@@ -188,6 +190,20 @@ Or with npx (no Bun required):
|
|
|
188
190
|
}
|
|
189
191
|
```
|
|
190
192
|
|
|
193
|
+
Or with Docker:
|
|
194
|
+
|
|
195
|
+
```json
|
|
196
|
+
{
|
|
197
|
+
"mcpServers": {
|
|
198
|
+
"wikidata": {
|
|
199
|
+
"type": "stdio",
|
|
200
|
+
"command": "docker",
|
|
201
|
+
"args": ["run", "-i", "--rm", "-e", "MCP_TRANSPORT_TYPE=stdio", "ghcr.io/cyanheads/wikidata-mcp-server:latest"]
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
```
|
|
206
|
+
|
|
191
207
|
For Streamable HTTP, set the transport and start the server:
|
|
192
208
|
|
|
193
209
|
```sh
|
|
@@ -290,4 +306,4 @@ bun run test
|
|
|
290
306
|
|
|
291
307
|
## License
|
|
292
308
|
|
|
293
|
-
|
|
309
|
+
Apache-2.0 — see [LICENSE](./LICENSE) for details.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Label type fixes, statusCode error path, resource output shape — correct the REST API type layer and not_found detection"
|
|
3
|
+
breaking: false
|
|
4
|
+
security: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 0.1.2 — 2026-05-24
|
|
8
|
+
|
|
9
|
+
## Fixed
|
|
10
|
+
|
|
11
|
+
- **Label/description types** — REST API v1 returns plain strings, not nested `{ language, value }` objects. `LocalizedString` type removed; `LocalizedStringMap` and `AliasMap` now use `string` and `string[]` respectively. `flattenLabelMap`/`flattenAliasMap` helpers dropped; `get-entity` handler returns the correct shape without flattening.
|
|
12
|
+
- **404 detection** — REST API error shape uses `statusCode`, not `status`. Fixed in `entity.resource`, `wikidata_get_entity`, and `wikidata_get_statements` — entities that don't exist now correctly throw `entity_not_found` / `notFound` instead of re-throwing the raw error.
|
|
13
|
+
- **Statement label extraction** — `entity.resource` and `wikidata_get_statements` now handle both string and `{ id }` content values when extracting QIDs from `wikibase-item` statement values.
|
|
14
|
+
- **Resource output shape** — `entity.resource` handler returns the markdown string directly; the erroneous `output: z.object({ content })` wrapper is removed.
|
|
15
|
+
|
|
16
|
+
## Changed
|
|
17
|
+
|
|
18
|
+
- **Metadata** — `package.json`: `mcpName`, `author`, `bugs`, `homepage`, `funding`, `packageManager` fields added; `bin` key normalized; repository URL uses `git+` prefix. `server.json`: name updated to `io.github.cyanheads/wikidata-mcp-server`, `runtimeHint` → `bun` on both packages. `Dockerfile`: OCI `title`, `description`, and `source` labels populated. `manifest.json`: `repository`, `homepage`, `license` fields added.
|
|
19
|
+
- `bunfig.toml` added with Bun install and run configuration.
|
|
20
|
+
- Docker install snippet added to README.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Sync tagline across all surfaces — adds 'and' before 'resolve external identifiers'"
|
|
3
|
+
breaking: false
|
|
4
|
+
security: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 0.1.3 — 2026-05-23
|
|
8
|
+
|
|
9
|
+
## Changed
|
|
10
|
+
|
|
11
|
+
- **Tagline** — all description surfaces (`package.json`, `server.json`, `manifest.json`, `Dockerfile`, README header, GitHub repo) now read: "Search and fetch Wikidata entities, execute SPARQL queries, and resolve external identifiers via MCP. STDIO or Streamable HTTP." (condensed variant in `server.json` omits the transport suffix).
|
|
@@ -5,7 +5,5 @@
|
|
|
5
5
|
import { z } from '@cyanheads/mcp-ts-core';
|
|
6
6
|
export declare const wikidataEntityResource: import("@cyanheads/mcp-ts-core").ResourceDefinition<z.ZodObject<{
|
|
7
7
|
id: z.ZodString;
|
|
8
|
-
}, z.core.$strip>,
|
|
9
|
-
content: z.ZodString;
|
|
10
|
-
}, z.core.$strip>, undefined>;
|
|
8
|
+
}, z.core.$strip>, undefined, undefined>;
|
|
11
9
|
//# sourceMappingURL=entity.resource.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/entity.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAY,CAAC,EAAE,MAAM,wBAAwB,CAAC;AASrD,eAAO,MAAM,sBAAsB
|
|
1
|
+
{"version":3,"file":"entity.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/entity.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAY,CAAC,EAAE,MAAM,wBAAwB,CAAC;AASrD,eAAO,MAAM,sBAAsB;;wCAmIjC,CAAC"}
|
|
@@ -14,9 +14,6 @@ export const wikidataEntityResource = resource('wikidata://entity/{id}', {
|
|
|
14
14
|
params: z.object({
|
|
15
15
|
id: z.string().describe('Q-ID (e.g., "Q76") or P-ID (e.g., "P31") of the entity.'),
|
|
16
16
|
}),
|
|
17
|
-
output: z.object({
|
|
18
|
-
content: z.string().describe('Compact markdown summary of the entity.'),
|
|
19
|
-
}),
|
|
20
17
|
async handler(params, ctx) {
|
|
21
18
|
const id = normalizeId(params.id);
|
|
22
19
|
if (!isQId(id) && !isPId(id)) {
|
|
@@ -30,17 +27,17 @@ export const wikidataEntityResource = resource('wikidata://entity/{id}', {
|
|
|
30
27
|
}
|
|
31
28
|
catch (err) {
|
|
32
29
|
const e = err;
|
|
33
|
-
if (e?.data?.
|
|
30
|
+
if (e?.data?.statusCode === 404) {
|
|
34
31
|
throw notFound(`No Wikidata entity found for ID "${id}".`, { id }, { cause: err });
|
|
35
32
|
}
|
|
36
33
|
throw err;
|
|
37
34
|
}
|
|
38
35
|
const lines = [];
|
|
39
36
|
// Header: ID + English label
|
|
40
|
-
const enLabel = entity.labels?.en
|
|
37
|
+
const enLabel = entity.labels?.en;
|
|
41
38
|
lines.push(`# ${enLabel ? `${enLabel} (${id})` : id}`);
|
|
42
39
|
// English description
|
|
43
|
-
const enDesc = entity.descriptions?.en
|
|
40
|
+
const enDesc = entity.descriptions?.en;
|
|
44
41
|
if (enDesc)
|
|
45
42
|
lines.push(`*${enDesc}*`);
|
|
46
43
|
lines.push('');
|
|
@@ -58,7 +55,7 @@ export const wikidataEntityResource = resource('wikidata://entity/{id}', {
|
|
|
58
55
|
.slice(0, 3)
|
|
59
56
|
.map((stmt) => {
|
|
60
57
|
const content = stmt.value?.content;
|
|
61
|
-
return content?.id ?? '?';
|
|
58
|
+
return (typeof content === 'string' ? content : content?.id) ?? '?';
|
|
62
59
|
})
|
|
63
60
|
.join(', ');
|
|
64
61
|
lines.push(`**Instance of:** ${values} *(resolve with wikidata_get_labels)*`);
|
|
@@ -87,7 +84,7 @@ export const wikidataEntityResource = resource('wikidata://entity/{id}', {
|
|
|
87
84
|
lines.push(`**Labels available:** ${labelCount} languages`);
|
|
88
85
|
const sample = Object.entries(entity.labels ?? {})
|
|
89
86
|
.slice(0, 5)
|
|
90
|
-
.map(([lang, lb]) => `${lang}: ${lb
|
|
87
|
+
.map(([lang, lb]) => `${lang}: ${lb}`)
|
|
91
88
|
.join(' | ');
|
|
92
89
|
if (sample)
|
|
93
90
|
lines.push(sample);
|
|
@@ -99,7 +96,7 @@ export const wikidataEntityResource = resource('wikidata://entity/{id}', {
|
|
|
99
96
|
}
|
|
100
97
|
lines.push('');
|
|
101
98
|
lines.push(`**Wikidata URL:** https://www.wikidata.org/wiki/${id}`);
|
|
102
|
-
return
|
|
99
|
+
return lines.join('\n');
|
|
103
100
|
},
|
|
104
101
|
list: () => ({
|
|
105
102
|
resources: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.resource.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/entity.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EACL,sBAAsB,EACtB,KAAK,EACL,KAAK,EACL,WAAW,GACZ,MAAM,8CAA8C,CAAC;AAEtD,MAAM,CAAC,MAAM,sBAAsB,GAAG,QAAQ,CAAC,wBAAwB,EAAE;IACvE,IAAI,EAAE,iBAAiB;IACvB,WAAW,EACT,+EAA+E;QAC/E,iFAAiF;QACjF,wFAAwF;IAC1F,QAAQ,EAAE,eAAe;IACzB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;KACnF,CAAC;
|
|
1
|
+
{"version":3,"file":"entity.resource.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/entity.resource.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-entity.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-entity.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAUjE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"get-entity.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-entity.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAUjE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiP5B,CAAC"}
|
|
@@ -9,9 +9,8 @@ const FIELD_ENUM = z.enum(['labels', 'descriptions', 'aliases', 'statements', 's
|
|
|
9
9
|
export const wikidataGetEntity = tool('wikidata_get_entity', {
|
|
10
10
|
title: 'Get Wikidata Entity',
|
|
11
11
|
description: 'Fetch a Wikidata entity (item or property) by QID or PID. ' +
|
|
12
|
-
'
|
|
13
|
-
'
|
|
14
|
-
'but the context budget benefit is real. Omit fields to get all data. ' +
|
|
12
|
+
'Use the fields parameter to trim what is returned to the caller — major items can be large. ' +
|
|
13
|
+
'Omit fields to get all data. ' +
|
|
15
14
|
'Q-IDs (e.g. Q76) fetch items; P-IDs (e.g. P31) fetch properties from the correct endpoint automatically. ' +
|
|
16
15
|
'Use wikidata_get_statements for deep claim traversal with label resolution.',
|
|
17
16
|
annotations: { readOnlyHint: true, openWorldHint: true },
|
|
@@ -24,7 +23,7 @@ export const wikidataGetEntity = tool('wikidata_get_entity', {
|
|
|
24
23
|
.array(FIELD_ENUM)
|
|
25
24
|
.optional()
|
|
26
25
|
.describe('Fields to include in the response. Options: "labels", "descriptions", "aliases", "statements", "sitelinks". ' +
|
|
27
|
-
'Omit for all fields.
|
|
26
|
+
'Omit for all fields.'),
|
|
28
27
|
languages: z
|
|
29
28
|
.array(z.string())
|
|
30
29
|
.optional()
|
|
@@ -92,7 +91,7 @@ export const wikidataGetEntity = tool('wikidata_get_entity', {
|
|
|
92
91
|
entity = await svc.fetchEntity(id, ctx);
|
|
93
92
|
}
|
|
94
93
|
catch (err) {
|
|
95
|
-
if (err?.data?.
|
|
94
|
+
if (err?.data?.statusCode === 404) {
|
|
96
95
|
throw ctx.fail('entity_not_found', `No entity found for ID "${id}".`, {
|
|
97
96
|
...ctx.recoveryFor('entity_not_found'),
|
|
98
97
|
});
|
|
@@ -111,17 +110,6 @@ export const wikidataGetEntity = tool('wikidata_get_entity', {
|
|
|
111
110
|
const filtered = Object.fromEntries(Object.entries(map).filter(([lang]) => langSet.has(lang)));
|
|
112
111
|
return Object.keys(filtered).length ? filtered : undefined;
|
|
113
112
|
};
|
|
114
|
-
// Flatten label/description maps from { language, value } → string
|
|
115
|
-
const flattenLabelMap = (map) => {
|
|
116
|
-
if (!map)
|
|
117
|
-
return;
|
|
118
|
-
return Object.fromEntries(Object.entries(map).map(([lang, entry]) => [lang, entry.value]));
|
|
119
|
-
};
|
|
120
|
-
const flattenAliasMap = (map) => {
|
|
121
|
-
if (!map)
|
|
122
|
-
return;
|
|
123
|
-
return Object.fromEntries(Object.entries(map).map(([lang, entries]) => [lang, entries.map((e) => e.value)]));
|
|
124
|
-
};
|
|
125
113
|
const result = {
|
|
126
114
|
id: entity.id,
|
|
127
115
|
type: entity.type,
|
|
@@ -130,17 +118,17 @@ export const wikidataGetEntity = tool('wikidata_get_entity', {
|
|
|
130
118
|
if (entity.data_type)
|
|
131
119
|
result.data_type = entity.data_type;
|
|
132
120
|
if (requestedFields.has('labels')) {
|
|
133
|
-
const labels =
|
|
121
|
+
const labels = filterLangs(entity.labels);
|
|
134
122
|
if (labels)
|
|
135
123
|
result.labels = labels;
|
|
136
124
|
}
|
|
137
125
|
if (requestedFields.has('descriptions')) {
|
|
138
|
-
const descriptions =
|
|
126
|
+
const descriptions = filterLangs(entity.descriptions);
|
|
139
127
|
if (descriptions)
|
|
140
128
|
result.descriptions = descriptions;
|
|
141
129
|
}
|
|
142
130
|
if (requestedFields.has('aliases')) {
|
|
143
|
-
const aliases =
|
|
131
|
+
const aliases = filterLangs(entity.aliases);
|
|
144
132
|
if (aliases)
|
|
145
133
|
result.aliases = aliases;
|
|
146
134
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-entity.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-entity.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EACL,sBAAsB,EACtB,KAAK,EACL,KAAK,EACL,WAAW,GACZ,MAAM,8CAA8C,CAAC;AAEtD,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;AAE5F,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,EAAE;IAC3D,KAAK,EAAE,qBAAqB;IAC5B,WAAW,EACT,4DAA4D;QAC5D,
|
|
1
|
+
{"version":3,"file":"get-entity.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-entity.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-labels.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-labels.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"get-labels.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-labels.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;GA6G5B,CAAC"}
|
|
@@ -9,8 +9,7 @@ export const wikidataGetLabels = tool('wikidata_get_labels', {
|
|
|
9
9
|
title: 'Get Wikidata Labels',
|
|
10
10
|
description: 'Resolve one or more QIDs or PIDs to their human-readable labels and descriptions. ' +
|
|
11
11
|
'Lightweight — returns no claim data. Supports up to 50 IDs per call (batched automatically). ' +
|
|
12
|
-
'Designed for the common agent pattern: receive QIDs from a SPARQL query, then humanize them.
|
|
13
|
-
'Uses the MediaWiki wbgetentities API for efficient batch resolution.',
|
|
12
|
+
'Designed for the common agent pattern: receive QIDs from a SPARQL query, then humanize them.',
|
|
14
13
|
annotations: { readOnlyHint: true, openWorldHint: false },
|
|
15
14
|
input: z.object({
|
|
16
15
|
ids: z
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-labels.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-labels.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAEnG,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,EAAE;IAC3D,KAAK,EAAE,qBAAqB;IAC5B,WAAW,EACT,oFAAoF;QACpF,+FAA+F;QAC/F
|
|
1
|
+
{"version":3,"file":"get-labels.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-labels.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-statements.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-statements.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAUjE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"get-statements.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-statements.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAUjE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;GA8KhC,CAAC"}
|
|
@@ -80,7 +80,7 @@ export const wikidataGetStatements = tool('wikidata_get_statements', {
|
|
|
80
80
|
rawStatements = await svc.fetchStatements(id, input.properties, ctx);
|
|
81
81
|
}
|
|
82
82
|
catch (err) {
|
|
83
|
-
if (err?.data?.
|
|
83
|
+
if (err?.data?.statusCode === 404) {
|
|
84
84
|
throw ctx.fail('entity_not_found', `No entity found for ID "${id}".`, {
|
|
85
85
|
...ctx.recoveryFor('entity_not_found'),
|
|
86
86
|
});
|
|
@@ -95,15 +95,17 @@ export const wikidataGetStatements = tool('wikidata_get_statements', {
|
|
|
95
95
|
for (const stmt of stmts) {
|
|
96
96
|
if (stmt.property?.data_type === 'wikibase-item') {
|
|
97
97
|
const content = stmt.value?.content;
|
|
98
|
-
|
|
99
|
-
|
|
98
|
+
const qid = typeof content === 'string' ? content : content?.id;
|
|
99
|
+
if (qid)
|
|
100
|
+
qidsToResolve.add(qid);
|
|
100
101
|
}
|
|
101
102
|
// Also check qualifier values
|
|
102
103
|
for (const q of stmt.qualifiers ?? []) {
|
|
103
104
|
if (q.property?.data_type === 'wikibase-item') {
|
|
104
105
|
const qContent = q.value?.content;
|
|
105
|
-
|
|
106
|
-
|
|
106
|
+
const qid = typeof qContent === 'string' ? qContent : qContent?.id;
|
|
107
|
+
if (qid)
|
|
108
|
+
qidsToResolve.add(qid);
|
|
107
109
|
}
|
|
108
110
|
}
|
|
109
111
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-statements.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-statements.tool.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"get-statements.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-statements.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
|
7
7
|
import { getWikidataSparqlService } from '../../../services/wikidata/wikidata-sparql-service.js';
|
|
8
8
|
export const wikidataSparqlQuery = tool('wikidata_sparql_query', {
|
|
9
9
|
title: 'Wikidata SPARQL Query',
|
|
10
|
-
description: 'Execute a SPARQL SELECT query against the Wikidata Query Service
|
|
10
|
+
description: 'Execute a SPARQL SELECT query against the Wikidata Query Service. ' +
|
|
11
11
|
'Full graph power: multi-hop traversals, aggregations, subqueries, OPTIONAL, FILTER, UNION, BIND. ' +
|
|
12
12
|
'Standard Wikidata prefixes (wd:, wdt:, p:, ps:, pq:, wikibase:, bd:) are auto-injected. ' +
|
|
13
13
|
'The wikibase:label SERVICE is also auto-injected when language is set and the query includes ?<var>Label ' +
|
|
@@ -21,7 +21,7 @@ export const wikidataSparqlQuery = tool('wikidata_sparql_query', {
|
|
|
21
21
|
.string()
|
|
22
22
|
.min(1)
|
|
23
23
|
.describe('SPARQL SELECT query. Must be a SELECT query (not CONSTRUCT/DESCRIBE/ASK). ' +
|
|
24
|
-
'Standard prefixes
|
|
24
|
+
'Standard prefixes (wd:, wdt:, p:, ps:, pq:, wikibase:, bd:) are injected automatically. ' +
|
|
25
25
|
'Example: SELECT ?item ?itemLabel WHERE { ?item wdt:P31 wd:Q146. } LIMIT 10'),
|
|
26
26
|
language: z
|
|
27
27
|
.string()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sparql-query.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/sparql-query.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAE1F,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,uBAAuB,EAAE;IAC/D,KAAK,EAAE,uBAAuB;IAC9B,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"sparql-query.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/sparql-query.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,15 +2,10 @@
|
|
|
2
2
|
* @fileoverview Domain types for the Wikidata REST and SPARQL APIs.
|
|
3
3
|
* @module services/wikidata/types
|
|
4
4
|
*/
|
|
5
|
-
/** A
|
|
6
|
-
export type
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
};
|
|
10
|
-
/** A label or description map from the REST entity endpoint. */
|
|
11
|
-
export type LocalizedStringMap = Record<string, LocalizedString>;
|
|
12
|
-
/** Aliases map from the REST entity endpoint. */
|
|
13
|
-
export type AliasMap = Record<string, LocalizedString[]>;
|
|
5
|
+
/** A label or description map from the REST entity endpoint (plain string values). */
|
|
6
|
+
export type LocalizedStringMap = Record<string, string>;
|
|
7
|
+
/** Aliases map from the REST entity endpoint (plain string array values). */
|
|
8
|
+
export type AliasMap = Record<string, string[]>;
|
|
14
9
|
/** Raw search result item from /v1/search/items or /v1/search/properties. */
|
|
15
10
|
export type RawSearchResult = {
|
|
16
11
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/wikidata/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/wikidata/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cyanheads/wikidata-mcp-server",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"
|
|
3
|
+
"version": "0.1.3",
|
|
4
|
+
"mcpName": "io.github.cyanheads/wikidata-mcp-server",
|
|
5
|
+
"description": "Search and fetch Wikidata entities, execute SPARQL queries, and resolve external identifiers via MCP. STDIO or Streamable HTTP.",
|
|
5
6
|
"type": "module",
|
|
6
7
|
"main": "dist/index.js",
|
|
7
8
|
"types": "dist/index.d.ts",
|
|
8
9
|
"bin": {
|
|
9
|
-
"
|
|
10
|
+
"wikidata-mcp-server": "dist/index.js"
|
|
10
11
|
},
|
|
11
12
|
"files": [
|
|
12
13
|
"changelog/",
|
|
@@ -35,14 +36,14 @@
|
|
|
35
36
|
"test": "vitest run",
|
|
36
37
|
"start": "node dist/index.js",
|
|
37
38
|
"start:stdio": "MCP_TRANSPORT_TYPE=stdio node dist/index.js",
|
|
38
|
-
"start:http": "MCP_TRANSPORT_TYPE=http node dist/index.js"
|
|
39
|
+
"start:http": "MCP_TRANSPORT_TYPE=http node dist/index.js",
|
|
40
|
+
"publish-mcp": "mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish"
|
|
39
41
|
},
|
|
40
42
|
"keywords": [
|
|
41
43
|
"mcp",
|
|
42
44
|
"mcp-server",
|
|
43
45
|
"model-context-protocol",
|
|
44
|
-
"
|
|
45
|
-
"llm",
|
|
46
|
+
"typescript",
|
|
46
47
|
"bun",
|
|
47
48
|
"stdio",
|
|
48
49
|
"streamable-http",
|
|
@@ -54,9 +55,25 @@
|
|
|
54
55
|
],
|
|
55
56
|
"repository": {
|
|
56
57
|
"type": "git",
|
|
57
|
-
"url": "https://github.com/cyanheads/wikidata-mcp-server"
|
|
58
|
+
"url": "git+https://github.com/cyanheads/wikidata-mcp-server.git"
|
|
58
59
|
},
|
|
60
|
+
"bugs": {
|
|
61
|
+
"url": "https://github.com/cyanheads/wikidata-mcp-server/issues"
|
|
62
|
+
},
|
|
63
|
+
"homepage": "https://github.com/cyanheads/wikidata-mcp-server#readme",
|
|
64
|
+
"author": "cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/wikidata-mcp-server#readme)",
|
|
65
|
+
"funding": [
|
|
66
|
+
{
|
|
67
|
+
"type": "github",
|
|
68
|
+
"url": "https://github.com/sponsors/cyanheads"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"type": "buy_me_a_coffee",
|
|
72
|
+
"url": "https://www.buymeacoffee.com/cyanheads"
|
|
73
|
+
}
|
|
74
|
+
],
|
|
59
75
|
"license": "Apache-2.0",
|
|
76
|
+
"packageManager": "bun@1.3.2",
|
|
60
77
|
"engines": {
|
|
61
78
|
"bun": ">=1.3.0",
|
|
62
79
|
"node": ">=24.0.0"
|
package/server.json
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
|
|
3
|
-
"name": "cyanheads/wikidata-mcp-server",
|
|
4
|
-
"description": "
|
|
3
|
+
"name": "io.github.cyanheads/wikidata-mcp-server",
|
|
4
|
+
"description": "Search and fetch Wikidata entities, execute SPARQL queries, and resolve external identifiers.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"url": "https://github.com/cyanheads/wikidata-mcp-server",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "0.1.
|
|
9
|
+
"version": "0.1.3",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
14
14
|
"identifier": "@cyanheads/wikidata-mcp-server",
|
|
15
|
-
"runtimeHint": "
|
|
16
|
-
"version": "0.1.
|
|
15
|
+
"runtimeHint": "bun",
|
|
16
|
+
"version": "0.1.3",
|
|
17
17
|
"packageArguments": [
|
|
18
18
|
{
|
|
19
19
|
"type": "positional",
|
|
@@ -62,8 +62,8 @@
|
|
|
62
62
|
"registryType": "npm",
|
|
63
63
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
64
64
|
"identifier": "@cyanheads/wikidata-mcp-server",
|
|
65
|
-
"runtimeHint": "
|
|
66
|
-
"version": "0.1.
|
|
65
|
+
"runtimeHint": "bun",
|
|
66
|
+
"version": "0.1.3",
|
|
67
67
|
"packageArguments": [
|
|
68
68
|
{
|
|
69
69
|
"type": "positional",
|