@digital-science-dsl/dimensions-analytics-mcp 1.1.0 → 1.3.0
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/CHANGELOG.md +14 -0
- package/dist/http-main.js +2 -0
- package/dist/http-main.js.map +1 -1
- package/dist/main.d.ts +0 -5
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +3 -1
- package/dist/main.js.map +1 -1
- package/dist/mcp/auto-update.d.ts +63 -0
- package/dist/mcp/auto-update.d.ts.map +1 -0
- package/dist/mcp/auto-update.js +295 -0
- package/dist/mcp/auto-update.js.map +1 -0
- package/dist/mcp/examples/dsl-examples.d.ts +2 -2
- package/dist/mcp/examples/dsl-examples.d.ts.map +1 -1
- package/dist/mcp/examples/dsl-examples.js +5 -1
- package/dist/mcp/examples/dsl-examples.js.map +1 -1
- package/dist/mcp/examples/usage-scenarios.d.ts.map +1 -1
- package/dist/mcp/examples/usage-scenarios.js +38 -0
- package/dist/mcp/examples/usage-scenarios.js.map +1 -1
- package/dist/mcp/http-server.js +3 -3
- package/dist/mcp/http-server.js.map +1 -1
- package/dist/mcp/middleware/field-aliases.d.ts +1 -1
- package/dist/mcp/middleware/field-aliases.d.ts.map +1 -1
- package/dist/mcp/middleware/field-aliases.js +0 -6
- package/dist/mcp/middleware/field-aliases.js.map +1 -1
- package/dist/mcp/resources/schema.d.ts +1 -1
- package/dist/mcp/resources/schema.d.ts.map +1 -1
- package/dist/mcp/resources/schema.js +11 -11
- package/dist/mcp/resources/schema.js.map +1 -1
- package/dist/mcp/server.d.ts +2 -2
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +8 -4
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools/analytics.d.ts +1 -1
- package/dist/mcp/tools/analytics.d.ts.map +1 -1
- package/dist/mcp/tools/analytics.js +21 -21
- package/dist/mcp/tools/analytics.js.map +1 -1
- package/dist/mcp/tools/fetch-search-pages.d.ts +1 -1
- package/dist/mcp/tools/fetch-search-pages.d.ts.map +1 -1
- package/dist/mcp/tools/fetch-search-pages.js +4 -9
- package/dist/mcp/tools/fetch-search-pages.js.map +1 -1
- package/dist/mcp/tools/functions.d.ts +1 -1
- package/dist/mcp/tools/functions.d.ts.map +1 -1
- package/dist/mcp/tools/functions.js +8 -13
- package/dist/mcp/tools/functions.js.map +1 -1
- package/dist/mcp/tools/lookup.d.ts +1 -1
- package/dist/mcp/tools/lookup.d.ts.map +1 -1
- package/dist/mcp/tools/lookup.js +12 -17
- package/dist/mcp/tools/lookup.js.map +1 -1
- package/dist/mcp/tools/query.d.ts +1 -1
- package/dist/mcp/tools/query.d.ts.map +1 -1
- package/dist/mcp/tools/query.js +4 -9
- package/dist/mcp/tools/query.js.map +1 -1
- package/dist/mcp/tools/schema.d.ts +1 -1
- package/dist/mcp/tools/schema.d.ts.map +1 -1
- package/dist/mcp/tools/schema.js +7 -11
- package/dist/mcp/tools/schema.js.map +1 -1
- package/dist/mcp/tools/search.d.ts +1 -1
- package/dist/mcp/tools/search.d.ts.map +1 -1
- package/dist/mcp/tools/search.js +4 -9
- package/dist/mcp/tools/search.js.map +1 -1
- package/dist/mcp/tools/similar-documents.d.ts +26 -0
- package/dist/mcp/tools/similar-documents.d.ts.map +1 -0
- package/dist/mcp/tools/similar-documents.js +166 -0
- package/dist/mcp/tools/similar-documents.js.map +1 -0
- package/dist/mcp/usage-tracking.d.ts +1 -1
- package/dist/mcp/usage-tracking.d.ts.map +1 -1
- package/dist/mcp/utils.d.ts +1 -2
- package/dist/mcp/utils.d.ts.map +1 -1
- package/dist/mcp/utils.js +0 -4
- package/dist/mcp/utils.js.map +1 -1
- package/package.json +6 -2
- package/src/http-main.ts +3 -0
- package/src/main.ts +4 -2
- package/src/mcp/auto-update.ts +379 -0
- package/src/mcp/examples/dsl-examples.ts +5 -1
- package/src/mcp/examples/usage-scenarios.ts +38 -0
- package/src/mcp/http-server.ts +3 -3
- package/src/mcp/middleware/field-aliases.ts +1 -2
- package/src/mcp/resources/schema.ts +12 -12
- package/src/mcp/server.ts +9 -5
- package/src/mcp/tools/analytics.ts +26 -26
- package/src/mcp/tools/fetch-search-pages.ts +5 -6
- package/src/mcp/tools/functions.ts +9 -10
- package/src/mcp/tools/lookup.ts +13 -14
- package/src/mcp/tools/query.ts +5 -6
- package/src/mcp/tools/schema.ts +8 -9
- package/src/mcp/tools/search.ts +5 -6
- package/src/mcp/tools/similar-documents.ts +231 -0
- package/src/mcp/usage-tracking.ts +1 -1
- package/src/mcp/utils.ts +1 -3
- package/test/examples/dsl-examples.test.ts +8 -0
- package/test/examples/usage-scenarios.test.ts +5 -3
- package/test/integration/harness.ts +1 -3
- package/test/integration/hosted-client.ts +1 -3
- package/test/integration/hosted.e2e.test.ts +1 -1
- package/test/integration/suites/index.ts +2 -0
- package/test/integration/suites/similar-documents.integration.ts +51 -0
- package/test/integration/verify-usage-scenarios.ts +1 -3
- package/test/mcp/auto-update.test.ts +347 -0
- package/test/middleware/field-aliases.test.ts +1 -1
- package/test/resources/schema.test.ts +5 -1
- package/test/server.test.ts +17 -3
- package/test/tools/similar-documents.test.ts +173 -0
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Multi-page search fetch tool for Dimensions DSL queries.
|
|
3
|
-
* Supports single-page, aggregate, and JSONL file export modes.
|
|
4
|
-
* @module mcp/tools/fetch-search-pages
|
|
5
|
-
*/
|
|
6
1
|
import { z } from "zod";
|
|
7
2
|
import { ValidationError } from "../../client/index.js";
|
|
8
3
|
import { DEFAULT_BATCH_MAX_PAGES, HARD_MAX_BATCH_PAGES, parseEntityResponse, resolveSkipAndLimit, SCHEMA_LIMITS, STRUCTURED_ENTITY_TYPES, searchResultKey, validateBatchPagination, validateSearchPaginationPolicy, } from "../../dsl/index.js";
|
|
@@ -36,7 +31,7 @@ export function registerFetchSearchPagesTools(server, client, schemaStore) {
|
|
|
36
31
|
"Default mode returns one page. Use aggregate for ID counts/sums without full rows. " +
|
|
37
32
|
"Use file mode to stream JSONL or CSV locally — never for bulk mirroring of Dimensions data. " +
|
|
38
33
|
`Entities: ${entityList}.`,
|
|
39
|
-
inputSchema: {
|
|
34
|
+
inputSchema: z.object({
|
|
40
35
|
entityType: z
|
|
41
36
|
.enum(STRUCTURED_ENTITY_TYPES)
|
|
42
37
|
.describe("Dimensions source to search (same as search_* tools)"),
|
|
@@ -89,8 +84,8 @@ export function registerFetchSearchPagesTools(server, client, schemaStore) {
|
|
|
89
84
|
.optional()
|
|
90
85
|
.default(false)
|
|
91
86
|
.describe("Required when maxPages > 5 or planned records > 5000. Acknowledges reasonable-use policy."),
|
|
92
|
-
},
|
|
93
|
-
outputSchema: {
|
|
87
|
+
}),
|
|
88
|
+
outputSchema: z.object({
|
|
94
89
|
mode: z.string(),
|
|
95
90
|
entityType: z.string(),
|
|
96
91
|
totalCount: z.number().optional(),
|
|
@@ -109,7 +104,7 @@ export function registerFetchSearchPagesTools(server, client, schemaStore) {
|
|
|
109
104
|
totalFundingUsd: z.number().optional(),
|
|
110
105
|
})
|
|
111
106
|
.optional(),
|
|
112
|
-
},
|
|
107
|
+
}),
|
|
113
108
|
annotations: READ_ONLY_API_ANNOTATIONS,
|
|
114
109
|
}, withFieldAliases({
|
|
115
110
|
entitySource: { kind: "dynamic", argName: "entityType" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-search-pages.js","sourceRoot":"","sources":["../../../src/mcp/tools/fetch-search-pages.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fetch-search-pages.js","sourceRoot":"","sources":["../../../src/mcp/tools/fetch-search-pages.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Entity resolution helpers (affiliations, grants).
|
|
4
4
|
* @module mcp/tools/functions
|
|
5
5
|
*/
|
|
6
|
-
import type { McpServer } from "@modelcontextprotocol/
|
|
6
|
+
import type { McpServer } from "@modelcontextprotocol/server";
|
|
7
7
|
import type { DimensionsClient } from "../../dsl/index.js";
|
|
8
8
|
/**
|
|
9
9
|
* Registers special function tools with the MCP server.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/functions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/functions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAI3D;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI,CA0FvF"}
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Special function tools for the MCP server.
|
|
3
|
-
* Entity resolution helpers (affiliations, grants).
|
|
4
|
-
* @module mcp/tools/functions
|
|
5
|
-
*/
|
|
6
1
|
import { z } from "zod";
|
|
7
2
|
import { registerTrackedTool } from "../usage-tracking.js";
|
|
8
3
|
import { formatErrorResult, formatToolResult, READ_ONLY_API_ANNOTATIONS } from "../utils.js";
|
|
@@ -16,7 +11,7 @@ export function registerFunctionTools(server, client) {
|
|
|
16
11
|
description: "Resolve and disambiguate organization affiliations using Dimensions entity resolution. " +
|
|
17
12
|
"Takes freetext affiliation strings or structured organization data and returns matched " +
|
|
18
13
|
"organizations with GRID/ROR identifiers and confidence scores.",
|
|
19
|
-
inputSchema: {
|
|
14
|
+
inputSchema: z.object({
|
|
20
15
|
affiliations: z
|
|
21
16
|
.array(z.object({
|
|
22
17
|
affiliation: z
|
|
@@ -30,11 +25,11 @@ export function registerFunctionTools(server, client) {
|
|
|
30
25
|
}))
|
|
31
26
|
.min(1)
|
|
32
27
|
.describe("Array of affiliations to resolve. Each must have either 'affiliation' or 'name'"),
|
|
33
|
-
},
|
|
34
|
-
outputSchema: {
|
|
28
|
+
}),
|
|
29
|
+
outputSchema: z.object({
|
|
35
30
|
matchCount: z.number().describe("Number of resolved affiliations"),
|
|
36
31
|
affiliations: z.array(z.record(z.string(), z.unknown())).describe("Resolved affiliations"),
|
|
37
|
-
},
|
|
32
|
+
}),
|
|
38
33
|
annotations: READ_ONLY_API_ANNOTATIONS,
|
|
39
34
|
}, async (args) => {
|
|
40
35
|
try {
|
|
@@ -52,7 +47,7 @@ export function registerFunctionTools(server, client) {
|
|
|
52
47
|
description: "Resolve grant numbers to Dimensions grant records. " +
|
|
53
48
|
"Takes a grant number and optional funder information to find matching grants " +
|
|
54
49
|
"with full metadata including funding amounts, dates, and funder details.",
|
|
55
|
-
inputSchema: {
|
|
50
|
+
inputSchema: z.object({
|
|
56
51
|
grant_number: z.string().min(1).describe("Grant number to look up (e.g., 'R01HL117329')"),
|
|
57
52
|
fundref: z
|
|
58
53
|
.string()
|
|
@@ -62,11 +57,11 @@ export function registerFunctionTools(server, client) {
|
|
|
62
57
|
.string()
|
|
63
58
|
.optional()
|
|
64
59
|
.describe("Funder name as alternative to FundRef ID (e.g., 'NIH')"),
|
|
65
|
-
},
|
|
66
|
-
outputSchema: {
|
|
60
|
+
}),
|
|
61
|
+
outputSchema: z.object({
|
|
67
62
|
matchCount: z.number().describe("Number of matched grants"),
|
|
68
63
|
grants: z.array(z.record(z.string(), z.unknown())).describe("Matched grant records"),
|
|
69
|
-
},
|
|
64
|
+
}),
|
|
70
65
|
annotations: READ_ONLY_API_ANNOTATIONS,
|
|
71
66
|
}, async (args) => {
|
|
72
67
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/mcp/tools/functions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/mcp/tools/functions.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Provides direct lookup by identifiers (DOI, PMID, Dimensions ID).
|
|
4
4
|
* @module mcp/tools/lookup
|
|
5
5
|
*/
|
|
6
|
-
import type { McpServer } from "@modelcontextprotocol/
|
|
6
|
+
import type { McpServer } from "@modelcontextprotocol/server";
|
|
7
7
|
import { type DimensionsClient } from "../../dsl/index.js";
|
|
8
8
|
/**
|
|
9
9
|
* Registers all lookup tools with the MCP server.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lookup.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/lookup.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"lookup.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/lookup.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,EAAE,KAAK,gBAAgB,EAAiC,MAAM,oBAAoB,CAAC;AAU1F;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAkKrF"}
|
package/dist/mcp/tools/lookup.js
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lookup tools for the MCP server.
|
|
3
|
-
* Provides direct lookup by identifiers (DOI, PMID, Dimensions ID).
|
|
4
|
-
* @module mcp/tools/lookup
|
|
5
|
-
*/
|
|
6
1
|
import { z } from "zod";
|
|
7
2
|
import { EntitySchema } from "../../dsl/index.js";
|
|
8
3
|
import { withFieldAliases } from "../middleware/field-aliases.js";
|
|
@@ -17,18 +12,18 @@ export function registerLookupTools(server, client) {
|
|
|
17
12
|
// Get publication by DOI
|
|
18
13
|
registerTrackedTool(server, "get_by_doi", {
|
|
19
14
|
description: "Retrieve a publication by its Digital Object Identifier (DOI). Returns full publication details including abstract, citations, and authors.",
|
|
20
|
-
inputSchema: {
|
|
15
|
+
inputSchema: z.object({
|
|
21
16
|
doi: z.string().describe("The DOI to look up (e.g., '10.1038/nature12373')"),
|
|
22
17
|
fields: z
|
|
23
18
|
.array(z.string())
|
|
24
19
|
.optional()
|
|
25
20
|
.describe("Fields to return (e.g., ['id', 'title', 'abstract', 'times_cited'])"),
|
|
26
|
-
},
|
|
27
|
-
outputSchema: {
|
|
21
|
+
}),
|
|
22
|
+
outputSchema: z.object({
|
|
28
23
|
found: z.boolean().describe("Whether the entity was found"),
|
|
29
24
|
publication: z.record(z.string(), z.unknown()).optional().describe("The found entity"),
|
|
30
25
|
message: z.string().optional().describe("Message when not found"),
|
|
31
|
-
},
|
|
26
|
+
}),
|
|
32
27
|
annotations: READ_ONLY_API_ANNOTATIONS,
|
|
33
28
|
}, withFieldAliases({ entitySource: { kind: "static", entity: "publications" }, fieldArrayArgs: ["fields"] }, async (args) => {
|
|
34
29
|
try {
|
|
@@ -60,18 +55,18 @@ export function registerLookupTools(server, client) {
|
|
|
60
55
|
// Get publication by PubMed ID
|
|
61
56
|
registerTrackedTool(server, "get_by_pmid", {
|
|
62
57
|
description: "Retrieve a publication by its PubMed ID (PMID). Returns full publication details from Dimensions.",
|
|
63
|
-
inputSchema: {
|
|
58
|
+
inputSchema: z.object({
|
|
64
59
|
pmid: z.string().describe("The PubMed ID to look up (e.g., '23846567')"),
|
|
65
60
|
fields: z
|
|
66
61
|
.array(z.string())
|
|
67
62
|
.optional()
|
|
68
63
|
.describe("Fields to return (e.g., ['id', 'title', 'abstract', 'times_cited'])"),
|
|
69
|
-
},
|
|
70
|
-
outputSchema: {
|
|
64
|
+
}),
|
|
65
|
+
outputSchema: z.object({
|
|
71
66
|
found: z.boolean().describe("Whether the entity was found"),
|
|
72
67
|
publication: z.record(z.string(), z.unknown()).optional().describe("The found entity"),
|
|
73
68
|
message: z.string().optional().describe("Message when not found"),
|
|
74
|
-
},
|
|
69
|
+
}),
|
|
75
70
|
annotations: READ_ONLY_API_ANNOTATIONS,
|
|
76
71
|
}, withFieldAliases({ entitySource: { kind: "static", entity: "publications" }, fieldArrayArgs: ["fields"] }, async (args) => {
|
|
77
72
|
try {
|
|
@@ -103,17 +98,17 @@ export function registerLookupTools(server, client) {
|
|
|
103
98
|
// Get entity by Dimensions ID
|
|
104
99
|
registerTrackedTool(server, "get_by_id", {
|
|
105
100
|
description: "Retrieve any entity by its Dimensions ID. Supports publications, grants, patents, clinical trials, datasets, policy documents, researchers, organizations, reports, source titles, funder groups, and research org groups.",
|
|
106
|
-
inputSchema: {
|
|
101
|
+
inputSchema: z.object({
|
|
107
102
|
entityType: EntitySchema.describe("The type of entity to look up"),
|
|
108
103
|
id: z.string().describe("The Dimensions ID to look up"),
|
|
109
104
|
fields: z.array(z.string()).optional().describe("Fields to return"),
|
|
110
|
-
},
|
|
111
|
-
outputSchema: {
|
|
105
|
+
}),
|
|
106
|
+
outputSchema: z.object({
|
|
112
107
|
found: z.boolean().describe("Whether the entity was found"),
|
|
113
108
|
entity: z.record(z.string(), z.unknown()).optional().describe("The found entity"),
|
|
114
109
|
entityType: z.string().optional().describe("The type of the found entity"),
|
|
115
110
|
message: z.string().optional().describe("Message when not found"),
|
|
116
|
-
},
|
|
111
|
+
}),
|
|
117
112
|
annotations: READ_ONLY_API_ANNOTATIONS,
|
|
118
113
|
}, withFieldAliases({ entitySource: { kind: "dynamic", argName: "entityType" }, fieldArrayArgs: ["fields"] }, async (args) => {
|
|
119
114
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lookup.js","sourceRoot":"","sources":["../../../src/mcp/tools/lookup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lookup.js","sourceRoot":"","sources":["../../../src/mcp/tools/lookup.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Provides raw DSL query execution for power users.
|
|
4
4
|
* @module mcp/tools/query
|
|
5
5
|
*/
|
|
6
|
-
import type { McpServer } from "@modelcontextprotocol/
|
|
6
|
+
import type { McpServer } from "@modelcontextprotocol/server";
|
|
7
7
|
import { type DimensionsClient } from "../../dsl/index.js";
|
|
8
8
|
import type { SchemaStore } from "../schema/index.js";
|
|
9
9
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/query.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/query.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,EAEL,KAAK,gBAAgB,EAEtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAItD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,gBAAgB,EACxB,WAAW,EAAE,WAAW,GACvB,IAAI,CAiEN"}
|
package/dist/mcp/tools/query.js
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Query tools for the MCP server.
|
|
3
|
-
* Provides raw DSL query execution for power users.
|
|
4
|
-
* @module mcp/tools/query
|
|
5
|
-
*/
|
|
6
1
|
import { z } from "zod";
|
|
7
2
|
import { buildExecuteDslPolicyHints, validateExecuteDslPolicy, } from "../../dsl/index.js";
|
|
8
3
|
import { registerTrackedTool } from "../usage-tracking.js";
|
|
@@ -32,15 +27,15 @@ Examples:
|
|
|
32
27
|
- return funders aggregate funding_usd
|
|
33
28
|
|
|
34
29
|
Structured entity types: ${sources}`,
|
|
35
|
-
inputSchema: {
|
|
30
|
+
inputSchema: z.object({
|
|
36
31
|
dsl: z.string().describe("Complete DSL query string to execute"),
|
|
37
32
|
confirmLargeFetch: z
|
|
38
33
|
.boolean()
|
|
39
34
|
.optional()
|
|
40
35
|
.default(false)
|
|
41
36
|
.describe("Required for deep pagination in DSL (skip≥5000). See dimensions://schema/policy."),
|
|
42
|
-
},
|
|
43
|
-
outputSchema: {
|
|
37
|
+
}),
|
|
38
|
+
outputSchema: z.object({
|
|
44
39
|
result: z.record(z.string(), z.unknown()).describe("Raw DSL query response"),
|
|
45
40
|
policyNotice: z.string().optional().describe("Reasonable-use reminder"),
|
|
46
41
|
largeResultWarning: z
|
|
@@ -51,7 +46,7 @@ Structured entity types: ${sources}`,
|
|
|
51
46
|
.string()
|
|
52
47
|
.optional()
|
|
53
48
|
.describe("Pagination guidance when results are truncated"),
|
|
54
|
-
},
|
|
49
|
+
}),
|
|
55
50
|
annotations: {
|
|
56
51
|
readOnlyHint: true,
|
|
57
52
|
destructiveHint: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/mcp/tools/query.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/mcp/tools/query.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,0BAA0B,EAE1B,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAElE;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAAiB,EACjB,MAAwB,EACxB,WAAwB;IAExB,MAAM,OAAO,GAAG,WAAW,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,mBAAmB,CACjB,MAAM,EACN,aAAa,EACb;QACE,WAAW,EAAE;;;;;;;;;;;;;;;2BAeQ,OAAO,EAAE;QAC9B,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;YAChE,iBAAiB,EAAE,CAAC;iBACjB,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,KAAK,CAAC;iBACd,QAAQ,CACP,kFAAkF,CACnF;SACJ,CAAC;QACF,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;YACrB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YAC5E,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YACvE,kBAAkB,EAAE,CAAC;iBAClB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,yCAAyC,CAAC;YACtD,cAAc,EAAE,CAAC;iBACd,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,gDAAgD,CAAC;SAC9D,CAAC;QACF,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,KAAK;YACrB,aAAa,EAAE,IAAI;SACpB;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,wBAAwB,CAAC;gBACvB,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;aAC1C,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAA4B,CAAC;YAC9E,MAAM,KAAK,GAAG,0BAA0B,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC7D,OAAO,gBAAgB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Schema introspection and validation tools for the MCP server.
|
|
3
3
|
* @module mcp/tools/schema
|
|
4
4
|
*/
|
|
5
|
-
import type { McpServer } from "@modelcontextprotocol/
|
|
5
|
+
import type { McpServer } from "@modelcontextprotocol/server";
|
|
6
6
|
import type { DimensionsClient } from "../../dsl/index.js";
|
|
7
7
|
import type { SchemaContext } from "../schema/context.js";
|
|
8
8
|
import { type SchemaStore } from "../schema/index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIlE;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,aAAa,GACrB,IAAI,CAwGN;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAYnE"}
|
package/dist/mcp/tools/schema.js
CHANGED
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Schema introspection and validation tools for the MCP server.
|
|
3
|
-
* @module mcp/tools/schema
|
|
4
|
-
*/
|
|
5
1
|
import { z } from "zod";
|
|
6
2
|
import { buildReverseAliasMap } from "../middleware/field-aliases.js";
|
|
7
3
|
import { loadSchema } from "../schema/index.js";
|
|
@@ -19,7 +15,7 @@ export function registerSchemaTools(server, client, context) {
|
|
|
19
15
|
"Default: compact summary with source/entity counts and resource URIs. " +
|
|
20
16
|
"Use full=true or dimensions://schema for the complete describe payload. " +
|
|
21
17
|
"Optionally fetch live describe for a single source or entity.",
|
|
22
|
-
inputSchema: {
|
|
18
|
+
inputSchema: z.object({
|
|
23
19
|
source: z.string().optional().describe("Source name (e.g. publications)"),
|
|
24
20
|
entity: z.string().optional().describe("Auxiliary entity name (e.g. journals)"),
|
|
25
21
|
full: z
|
|
@@ -30,8 +26,8 @@ export function registerSchemaTools(server, client, context) {
|
|
|
30
26
|
.boolean()
|
|
31
27
|
.optional()
|
|
32
28
|
.describe("When true, fetch fresh describe for source/entity from the API"),
|
|
33
|
-
},
|
|
34
|
-
outputSchema: {
|
|
29
|
+
}),
|
|
30
|
+
outputSchema: z.object({
|
|
35
31
|
summary: z
|
|
36
32
|
.record(z.string(), z.unknown())
|
|
37
33
|
.optional()
|
|
@@ -42,7 +38,7 @@ export function registerSchemaTools(server, client, context) {
|
|
|
42
38
|
.describe("Full or sliced schema when full=true or source/entity is set"),
|
|
43
39
|
version: z.string().optional().describe("DSL version"),
|
|
44
40
|
stats: z.record(z.string(), z.unknown()).optional().describe("Load stats and provenance"),
|
|
45
|
-
},
|
|
41
|
+
}),
|
|
46
42
|
annotations: READ_ONLY_API_ANNOTATIONS,
|
|
47
43
|
}, async (args) => {
|
|
48
44
|
try {
|
|
@@ -87,11 +83,11 @@ export function registerSchemaTools(server, client, context) {
|
|
|
87
83
|
});
|
|
88
84
|
registerTrackedTool(server, "refresh_schema", {
|
|
89
85
|
description: "Re-fetch describe schema from the Dimensions API, rebuild in-memory schema, and re-register MCP resources.",
|
|
90
|
-
inputSchema: {},
|
|
91
|
-
outputSchema: {
|
|
86
|
+
inputSchema: z.object({}),
|
|
87
|
+
outputSchema: z.object({
|
|
92
88
|
refreshed: z.boolean(),
|
|
93
89
|
stats: z.record(z.string(), z.unknown()),
|
|
94
|
-
},
|
|
90
|
+
}),
|
|
95
91
|
annotations: READ_ONLY_API_ANNOTATIONS,
|
|
96
92
|
}, async () => {
|
|
97
93
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/mcp/tools/schema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/mcp/tools/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Registers `search_{source}` tools from describe schema and shared QueryBuilder handlers.
|
|
4
4
|
* @module mcp/tools/search
|
|
5
5
|
*/
|
|
6
|
-
import type { McpServer } from "@modelcontextprotocol/
|
|
6
|
+
import type { McpServer } from "@modelcontextprotocol/server";
|
|
7
7
|
import type { DimensionsClient } from "../../dsl/index.js";
|
|
8
8
|
import { type SchemaStore, type StructuredEntityType } from "../../dsl/index.js";
|
|
9
9
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/search.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/search.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAKL,KAAK,WAAW,EAChB,KAAK,oBAAoB,EAI1B,MAAM,oBAAoB,CAAC;AAgB5B;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,oBAAoB,EAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,MAAM,CAoCR;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,gBAAgB,EACxB,WAAW,EAAE,WAAW,GACvB,IAAI,CA2EN"}
|
package/dist/mcp/tools/search.js
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Search tools for the MCP server.
|
|
3
|
-
* Registers `search_{source}` tools from describe schema and shared QueryBuilder handlers.
|
|
4
|
-
* @module mcp/tools/search
|
|
5
|
-
*/
|
|
6
1
|
import { z } from "zod";
|
|
7
2
|
import { applyFilters, parseEntityResponse, resolveSkipAndLimit, searchResultKey, searchToolName, validateSearchPaginationPolicy, } from "../../dsl/index.js";
|
|
8
3
|
import { withFieldAliases } from "../middleware/field-aliases.js";
|
|
@@ -63,11 +58,11 @@ export function registerSearchTools(server, client, schemaStore) {
|
|
|
63
58
|
const toolName = searchToolName(source);
|
|
64
59
|
registerTrackedTool(server, toolName, {
|
|
65
60
|
description: meta.description,
|
|
66
|
-
inputSchema: {
|
|
61
|
+
inputSchema: z.object({
|
|
67
62
|
...SHARED_SEARCH_INPUT,
|
|
68
63
|
...meta.extraInputSchema,
|
|
69
|
-
},
|
|
70
|
-
outputSchema: {
|
|
64
|
+
}),
|
|
65
|
+
outputSchema: z.object({
|
|
71
66
|
totalCount: z.number().describe("Total matching records"),
|
|
72
67
|
returnedCount: z.number().describe("Records returned in this response"),
|
|
73
68
|
truncated: z
|
|
@@ -77,7 +72,7 @@ export function registerSearchTools(server, client, schemaStore) {
|
|
|
77
72
|
truncationWarning: z.string().optional().describe("Warning message when truncated"),
|
|
78
73
|
...PAGINATION_OUTPUT_SCHEMA,
|
|
79
74
|
[resultKey]: z.array(z.record(z.string(), z.unknown())).describe("Result records"),
|
|
80
|
-
},
|
|
75
|
+
}),
|
|
81
76
|
annotations: READ_ONLY_API_ANNOTATIONS,
|
|
82
77
|
}, withFieldAliases({
|
|
83
78
|
entitySource: { kind: "static", entity: source },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/mcp/tools/search.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/mcp/tools/search.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* similar_documents MCP tool — find publications/grants with similar topics via DSL.
|
|
3
|
+
* Uses concept extraction + weighted concepts search (not vector embeddings).
|
|
4
|
+
* @module mcp/tools/similar-documents
|
|
5
|
+
*/
|
|
6
|
+
import type { McpServer } from "@modelcontextprotocol/server";
|
|
7
|
+
import type { DimensionsClient } from "../../dsl/index.js";
|
|
8
|
+
/** Entity types that support the DSL similar_documents() search function. */
|
|
9
|
+
export declare const SIMILAR_DOCUMENTS_ENTITY_TYPES: readonly ["publications", "grants"];
|
|
10
|
+
/** Entity type supported by similar_documents. */
|
|
11
|
+
export type SimilarDocumentsEntityType = (typeof SIMILAR_DOCUMENTS_ENTITY_TYPES)[number];
|
|
12
|
+
/**
|
|
13
|
+
* Builds DSL for a similar_documents search from tool arguments.
|
|
14
|
+
* @param client - Dimensions client
|
|
15
|
+
* @param entityType - publications or grants
|
|
16
|
+
* @param args - Tool arguments (after field-alias resolution)
|
|
17
|
+
* @returns DSL query string
|
|
18
|
+
*/
|
|
19
|
+
export declare function buildSimilarDocumentsDsl(client: DimensionsClient, entityType: SimilarDocumentsEntityType, args: Record<string, unknown>): string;
|
|
20
|
+
/**
|
|
21
|
+
* Registers the similar_documents tool with the MCP server.
|
|
22
|
+
* @param server - MCP server instance
|
|
23
|
+
* @param client - Dimensions client instance
|
|
24
|
+
*/
|
|
25
|
+
export declare function registerSimilarDocumentsTool(server: McpServer, client: DimensionsClient): void;
|
|
26
|
+
//# sourceMappingURL=similar-documents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"similar-documents.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/similar-documents.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAsB3D,6EAA6E;AAC7E,eAAO,MAAM,8BAA8B,qCAAsC,CAAC;AAElF,kDAAkD;AAClD,MAAM,MAAM,0BAA0B,GAAG,CAAC,OAAO,8BAA8B,CAAC,CAAC,MAAM,CAAC,CAAC;AAQzF;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,gBAAgB,EACxB,UAAU,EAAE,0BAA0B,EACtC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,MAAM,CAsCR;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAqI9F"}
|