@causari/mcp-server 0.1.2 → 0.1.4

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/dist/cli.d.ts DELETED
@@ -1,17 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Causari MCP Server — local CLI.
4
- *
5
- * Usage:
6
- * causari-mcp # stdio transport (for Claude Code, Cursor)
7
- * npx @causari/mcp-server # same, no install
8
- *
9
- * Configure in Claude Code .mcp.json:
10
- * {
11
- * "mcpServers": {
12
- * "causari": { "command": "causari-mcp" }
13
- * }
14
- * }
15
- */
16
- export {};
17
- //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;GAaG"}
package/dist/cli.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,sCAAsC;AACxC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC"}
package/dist/server.d.ts DELETED
@@ -1,12 +0,0 @@
1
- /**
2
- * Causari MCP Server core.
3
- *
4
- * Wires CKGStore + tool handlers to the MCP protocol. Transport-agnostic;
5
- * cli.ts attaches the stdio transport.
6
- */
7
- import { Server } from '@modelcontextprotocol/sdk/server/index.js';
8
- import { CKGStore } from '@causari/ckg';
9
- export declare function createCausariServer(opts?: {
10
- store?: CKGStore;
11
- }): Server;
12
- //# sourceMappingURL=server.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAKnE,OAAO,EAAE,QAAQ,EAAY,MAAM,cAAc,CAAC;AAKlD,wBAAgB,mBAAmB,CAAC,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,QAAQ,CAAA;CAAO,GAAG,MAAM,CAyD3E"}
package/dist/server.js DELETED
@@ -1,64 +0,0 @@
1
- /**
2
- * Causari MCP Server core.
3
- *
4
- * Wires CKGStore + tool handlers to the MCP protocol. Transport-agnostic;
5
- * cli.ts attaches the stdio transport.
6
- */
7
- import { Server } from '@modelcontextprotocol/sdk/server/index.js';
8
- import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
9
- import { CKGStore, loadSeed } from '@causari/ckg';
10
- import { ALL_TOOLS } from './tools.js';
11
- import { ValidationError } from './validate.js';
12
- import { VERSION, SERVER_NAME } from './version.js';
13
- export function createCausariServer(opts = {}) {
14
- const store = opts.store ?? new CKGStore(loadSeed());
15
- const server = new Server({
16
- name: SERVER_NAME,
17
- version: VERSION,
18
- }, {
19
- capabilities: {
20
- tools: {},
21
- },
22
- });
23
- server.setRequestHandler(ListToolsRequestSchema, async () => ({
24
- tools: ALL_TOOLS.map((t) => ({
25
- name: t.name,
26
- description: t.description,
27
- inputSchema: t.inputSchema,
28
- })),
29
- }));
30
- server.setRequestHandler(CallToolRequestSchema, async (request) => {
31
- const tool = ALL_TOOLS.find((t) => t.name === request.params.name);
32
- if (!tool) {
33
- return {
34
- content: [
35
- { type: 'text', text: `Unknown tool: ${request.params.name}` },
36
- ],
37
- isError: true,
38
- };
39
- }
40
- try {
41
- const result = tool.handler(request.params.arguments ?? {}, store);
42
- return {
43
- content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
44
- };
45
- }
46
- catch (err) {
47
- // ValidationError is the caller's fault (bad args) — surface the message verbatim
48
- // so the agent can correct and retry. Other errors are internal.
49
- if (err instanceof ValidationError) {
50
- return {
51
- content: [{ type: 'text', text: `Invalid arguments: ${err.message}` }],
52
- isError: true,
53
- };
54
- }
55
- const message = err instanceof Error ? err.message : String(err);
56
- return {
57
- content: [{ type: 'text', text: `Tool error: ${message}` }],
58
- isError: true,
59
- };
60
- }
61
- });
62
- return server;
63
- }
64
- //# sourceMappingURL=server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,UAAU,mBAAmB,CAAC,OAA6B,EAAE;IACjE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IAErD,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB;QACE,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,OAAO;KACjB,EACD;QACE,YAAY,EAAE;YACZ,KAAK,EAAE,EAAE;SACV;KACF,CACF,CAAC;IAEF,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC5D,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3B,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,WAAW,EAAE,CAAC,CAAC,WAAW;SAC3B,CAAC,CAAC;KACJ,CAAC,CAAC,CAAC;IAEJ,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChE,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE;iBAC/D;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;YACnE,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aACnE,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,kFAAkF;YAClF,iEAAiE;YACjE,IAAI,GAAG,YAAY,eAAe,EAAE,CAAC;gBACnC,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;oBACtE,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YACD,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,OAAO,EAAE,EAAE,CAAC;gBAC3D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/dist/smoke.d.ts DELETED
@@ -1,6 +0,0 @@
1
- /**
2
- * Smoke test — verifies the 5 tool handlers return sensible results
3
- * against the seed CKG data. Run: node dist/smoke.js
4
- */
5
- export {};
6
- //# sourceMappingURL=smoke.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"smoke.d.ts","sourceRoot":"","sources":["../src/smoke.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
package/dist/smoke.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"smoke.js","sourceRoot":"","sources":["../src/smoke.ts"],"names":[],"mappings":"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"}
package/dist/tools.d.ts DELETED
@@ -1,27 +0,0 @@
1
- /**
2
- * MCP tool definitions for Causari.
3
- *
4
- * Each tool wraps a CKG query function and shapes the result for LLM consumption.
5
- * Output shape priorities:
6
- * 1. Token-efficient — drop redundant fields
7
- * 2. Self-explanatory — include relationship + evidence so LLM doesn't need to re-query
8
- * 3. Calibrated — surface confidence + sources so LLM can communicate uncertainty
9
- */
10
- import { CKGStore } from '@causari/ckg';
11
- export interface ToolDef {
12
- name: string;
13
- description: string;
14
- inputSchema: {
15
- type: 'object';
16
- properties: Record<string, unknown>;
17
- required?: string[];
18
- };
19
- handler: (args: Record<string, unknown>, store: CKGStore) => unknown;
20
- }
21
- export declare const queryEventsT: ToolDef;
22
- export declare const causalChainT: ToolDef;
23
- export declare const historicalResonanceT: ToolDef;
24
- export declare const orgKnowledgeT: ToolDef;
25
- export declare const predictScenariosT: ToolDef;
26
- export declare const ALL_TOOLS: ToolDef[];
27
- //# sourceMappingURL=tools.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,QAAQ,EAQT,MAAM,cAAc,CAAC;AAWtB,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAC;CACtE;AAwBD,eAAO,MAAM,YAAY,EAAE,OA4D1B,CAAC;AAIF,eAAO,MAAM,YAAY,EAAE,OA6F1B,CAAC;AAIF,eAAO,MAAM,oBAAoB,EAAE,OA0ClC,CAAC;AAIF,eAAO,MAAM,aAAa,EAAE,OAyB3B,CAAC;AAIF,eAAO,MAAM,iBAAiB,EAAE,OAqD/B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,OAAO,EAM9B,CAAC"}
package/dist/tools.js DELETED
@@ -1,306 +0,0 @@
1
- /**
2
- * MCP tool definitions for Causari.
3
- *
4
- * Each tool wraps a CKG query function and shapes the result for LLM consumption.
5
- * Output shape priorities:
6
- * 1. Token-efficient — drop redundant fields
7
- * 2. Self-explanatory — include relationship + evidence so LLM doesn't need to re-query
8
- * 3. Calibrated — surface confidence + sources so LLM can communicate uncertainty
9
- */
10
- import { queryEvents, causalChain, historicalResonance, orgKnowledge, predictScenarios, } from '@causari/ckg';
11
- import { ValidationError, requireString, optionalString, optionalNumber, optionalDomains, requireStringArray, optionalEnum, } from './validate.js';
12
- const yearRangeSchema = {
13
- yearFrom: {
14
- type: 'number',
15
- description: 'Inclusive start year. Negative = BCE. Example: -3500 for 3500 BCE, 1900 for 1900 CE.',
16
- },
17
- yearTo: {
18
- type: 'number',
19
- description: 'Inclusive end year. Negative = BCE.',
20
- },
21
- };
22
- const domainsSchema = {
23
- type: 'array',
24
- items: {
25
- type: 'string',
26
- enum: ['technology', 'humanities', 'systems', 'science', 'economy', 'geopolitics', 'philosophy', 'environment', 'culture', 'health', 'other'],
27
- },
28
- description: 'Filter to events in these knowledge domains.',
29
- };
30
- // ── Tool 1: query_events ────────────────────────────────────────────────
31
- export const queryEventsT = {
32
- name: 'query_events',
33
- description: 'Search the Causari causal knowledge graph for historical events matching given criteria. ' +
34
- 'Returns structured event records with title, description, year, domains, impact score, and tags. ' +
35
- 'Use this when you need historical context for a topic, time period, or domain.',
36
- inputSchema: {
37
- type: 'object',
38
- properties: {
39
- ...yearRangeSchema,
40
- domains: domainsSchema,
41
- minImpact: {
42
- type: 'number',
43
- minimum: 0,
44
- maximum: 1,
45
- description: 'Filter to events with impact score >= this. Use 0.7+ for major events only.',
46
- },
47
- query: {
48
- type: 'string',
49
- description: 'Free-text search across title, description, and tags. Case-insensitive.',
50
- },
51
- limit: { type: 'number', description: 'Max events to return. Default 20.', default: 20 },
52
- },
53
- },
54
- handler: (args, store) => {
55
- const yearFrom = optionalNumber(args.yearFrom, 'yearFrom', { integer: true });
56
- const yearTo = optionalNumber(args.yearTo, 'yearTo', { integer: true });
57
- if (yearFrom !== undefined && yearTo !== undefined && yearFrom > yearTo) {
58
- throw new ValidationError(`"yearFrom" (${yearFrom}) must be <= "yearTo" (${yearTo}).`);
59
- }
60
- const result = queryEvents(store, {
61
- yearFrom,
62
- yearTo,
63
- domains: optionalDomains(args.domains),
64
- minImpact: optionalNumber(args.minImpact, 'minImpact', { min: 0, max: 1 }),
65
- query: optionalString(args.query, 'query'),
66
- limit: optionalNumber(args.limit, 'limit', { min: 1, max: 200, integer: true }),
67
- });
68
- return {
69
- events: result.events.map((e) => ({
70
- id: e.id,
71
- title: e.title,
72
- year: e.yearLabel,
73
- yearNum: e.yearNum,
74
- description: e.description,
75
- domains: e.domains,
76
- impactScore: e.impactScore,
77
- tags: e.tags,
78
- ...(e.forecastConfidence !== undefined && {
79
- forecast: { confidence: e.forecastConfidence, reasoning: e.forecastReasoning },
80
- }),
81
- })),
82
- totalMatched: result.totalMatched,
83
- truncated: result.truncated,
84
- ...(result.truncated && {
85
- hint: `${result.totalMatched} events matched but only ${result.events.length} returned. Use minImpact or domains to narrow.`,
86
- }),
87
- };
88
- },
89
- };
90
- // ── Tool 2: causal_chain ─────────────────────────────────────────────────
91
- export const causalChainT = {
92
- name: 'causal_chain',
93
- description: 'Trace cause-effect chains from a historical event. Returns structured causal graph showing what led to the event (causes) and/or what it enabled (effects), with evidence and confidence scores. ' +
94
- 'This is the most powerful Causari tool for understanding WHY something happened or what consequences flow from a development. ' +
95
- "Example: causal_chain('printing press', direction='effects', depth=2) returns the cascade from Gutenberg through Renaissance to Industrial Revolution.",
96
- inputSchema: {
97
- type: 'object',
98
- properties: {
99
- event: {
100
- type: 'string',
101
- description: 'Event ID (e.g. "printing", "internet") or title substring (e.g. "industrial").',
102
- },
103
- direction: {
104
- type: 'string',
105
- enum: ['causes', 'effects', 'both'],
106
- description: 'causes = what led to this event. effects = what flowed from it. both = full chain.',
107
- default: 'both',
108
- },
109
- depth: {
110
- type: 'number',
111
- minimum: 1,
112
- maximum: 5,
113
- description: 'Hops to traverse from the root event. Default 2.',
114
- default: 2,
115
- },
116
- minConfidence: {
117
- type: 'number',
118
- minimum: 0,
119
- maximum: 1,
120
- description: 'Filter out causal links below this confidence. Default 0 (include all).',
121
- },
122
- },
123
- required: ['event'],
124
- },
125
- handler: (args, store) => {
126
- const result = causalChain(store, {
127
- event: requireString(args.event, 'event'),
128
- direction: optionalEnum(args.direction, 'direction', ['causes', 'effects', 'both']),
129
- depth: optionalNumber(args.depth, 'depth', { min: 1, max: 5, integer: true }),
130
- minConfidence: optionalNumber(args.minConfidence, 'minConfidence', { min: 0, max: 1 }),
131
- });
132
- if ('notFound' in result && result.notFound) {
133
- return {
134
- error: `No event found matching "${result.notFound}". Try query_events first to find the right ID.`,
135
- };
136
- }
137
- const r = result;
138
- return {
139
- root: {
140
- id: r.root.id,
141
- title: r.root.title,
142
- year: r.root.yearLabel,
143
- description: r.root.description,
144
- },
145
- causes: r.nodes
146
- .filter((n) => n.direction === 'cause')
147
- .map((n) => ({
148
- id: n.event.id,
149
- title: n.event.title,
150
- year: n.event.yearLabel,
151
- hop: n.hop,
152
- relationship: n.via?.relationship,
153
- confidence: n.via?.confidence,
154
- evidence: n.via?.evidence,
155
- })),
156
- effects: r.nodes
157
- .filter((n) => n.direction === 'effect')
158
- .map((n) => ({
159
- id: n.event.id,
160
- title: n.event.title,
161
- year: n.event.yearLabel,
162
- hop: n.hop,
163
- relationship: n.via?.relationship,
164
- confidence: n.via?.confidence,
165
- evidence: n.via?.evidence,
166
- })),
167
- relatedPatterns: r.relatedInsights.map((i) => ({
168
- pattern: i.pattern,
169
- description: i.description,
170
- predictiveValue: i.predictiveValue,
171
- })),
172
- meta: {
173
- totalNodes: r.nodes.length,
174
- totalLinks: r.links.length,
175
- },
176
- };
177
- },
178
- };
179
- // ── Tool 3: historical_resonance ─────────────────────────────────────────
180
- export const historicalResonanceT = {
181
- name: 'historical_resonance',
182
- description: 'Find historical patterns similar to a current situation. Useful for understanding contemporary events through historical parallels — e.g., "rapid AI adoption displacing knowledge workers" might resonate with the printing press disrupting clergy. ' +
183
- 'Returns matched patterns with exemplar historical events and predictive value scores.',
184
- inputSchema: {
185
- type: 'object',
186
- properties: {
187
- situation: {
188
- type: 'string',
189
- description: 'Free-text description of the current situation, technology shift, or social pattern you want to find historical parallels for.',
190
- },
191
- domains: domainsSchema,
192
- maxResults: { type: 'number', default: 3 },
193
- },
194
- required: ['situation'],
195
- },
196
- handler: (args, store) => {
197
- const result = historicalResonance(store, {
198
- situation: requireString(args.situation, 'situation'),
199
- domains: optionalDomains(args.domains),
200
- maxResults: optionalNumber(args.maxResults, 'maxResults', { min: 1, max: 20, integer: true }),
201
- });
202
- return {
203
- matches: result.matches.map((m) => ({
204
- pattern: m.insight.pattern,
205
- description: m.insight.description,
206
- matchScore: Number(m.matchScore.toFixed(2)),
207
- predictiveValue: m.insight.predictiveValue,
208
- reasoning: m.reasoning,
209
- exemplars: m.exemplarEvents.map((e) => ({
210
- title: e.title,
211
- year: e.yearLabel,
212
- why: e.description.slice(0, 160),
213
- })),
214
- })),
215
- ...(result.matches.length === 0 && {
216
- hint: 'No strong matches. Try adding more keywords or removing domain filters.',
217
- }),
218
- };
219
- },
220
- };
221
- // ── Tool 4: org_knowledge (Enterprise stub) ──────────────────────────────
222
- export const orgKnowledgeT = {
223
- name: 'org_knowledge',
224
- description: "[Enterprise tier] Query the organization's internal causal knowledge graph — decisions, events, technical milestones, and their consequences. " +
225
- 'Returns events scoped to the org and the causal context linking them. ' +
226
- 'Note: requires enterprise tier API key with org scope; returns empty result + message if no org graph configured.',
227
- inputSchema: {
228
- type: 'object',
229
- properties: {
230
- query: { type: 'string', description: 'Free-text query for org-internal events.' },
231
- orgId: { type: 'string', description: 'Organization identifier (provisioned by enterprise admin).' },
232
- team: { type: 'string', description: 'Optional team/department filter.' },
233
- ...yearRangeSchema,
234
- },
235
- required: ['query', 'orgId'],
236
- },
237
- handler: (args, store) => {
238
- return orgKnowledge(store, {
239
- query: requireString(args.query, 'query'),
240
- orgId: requireString(args.orgId, 'orgId'),
241
- team: optionalString(args.team, 'team'),
242
- yearFrom: optionalNumber(args.yearFrom, 'yearFrom', { integer: true }),
243
- yearTo: optionalNumber(args.yearTo, 'yearTo', { integer: true }),
244
- });
245
- },
246
- };
247
- // ── Tool 5: predict_scenarios ────────────────────────────────────────────
248
- export const predictScenariosT = {
249
- name: 'predict_scenarios',
250
- description: 'Generate plausible future scenarios based on historical causal patterns and current conditions. ' +
251
- 'Returns multiple scenario branches (optimistic / cautious / discontinuous) with probability estimates, reasoning, and historical basis. ' +
252
- 'Useful for strategic planning, risk assessment, and stress-testing assumptions.',
253
- inputSchema: {
254
- type: 'object',
255
- properties: {
256
- conditions: {
257
- type: 'array',
258
- items: { type: 'string' },
259
- description: 'List of current conditions or trends. e.g., ["AI capability accelerating", "open-source LLMs improving"].',
260
- },
261
- horizon: {
262
- type: 'number',
263
- description: 'Year horizon for scenarios. Default 2040.',
264
- default: 2040,
265
- },
266
- domains: domainsSchema,
267
- maxScenarios: { type: 'number', default: 3 },
268
- },
269
- required: ['conditions'],
270
- },
271
- handler: (args, store) => {
272
- const result = predictScenarios(store, {
273
- conditions: requireStringArray(args.conditions, 'conditions'),
274
- horizon: optionalNumber(args.horizon, 'horizon', { min: -100000, max: 1_000_000, integer: true }),
275
- domains: optionalDomains(args.domains),
276
- maxScenarios: optionalNumber(args.maxScenarios, 'maxScenarios', { min: 1, max: 10, integer: true }),
277
- });
278
- return {
279
- scenarios: result.scenarios.map((s) => ({
280
- name: s.name,
281
- probability: Number(s.probability.toFixed(2)),
282
- reasoning: s.reasoning,
283
- historicalBasis: s.historicalBasis,
284
- keyEvents: s.events.map((e) => ({
285
- title: e.title,
286
- year: e.yearLabel,
287
- forecastConfidence: e.forecastConfidence,
288
- description: e.description,
289
- })),
290
- })),
291
- meta: {
292
- ...result.basedOn,
293
- disclaimer: 'Scenarios are derived from historical pattern matching, not guaranteed forecasts. ' +
294
- 'Confidence reflects internal CKG calibration only.',
295
- },
296
- };
297
- },
298
- };
299
- export const ALL_TOOLS = [
300
- queryEventsT,
301
- causalChainT,
302
- historicalResonanceT,
303
- orgKnowledgeT,
304
- predictScenariosT,
305
- ];
306
- //# sourceMappingURL=tools.js.map
package/dist/tools.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
@@ -1,53 +0,0 @@
1
- /**
2
- * Input validation for MCP tool arguments.
3
- *
4
- * MCP clients are LLM-driven and can send malformed arguments — wrong types,
5
- * NaN, out-of-range numbers, empty required strings. The JSON schema advertised
6
- * in tools/list is advisory; clients are not required to enforce it. So we
7
- * validate at the handler boundary and return a clear, agent-readable error
8
- * instead of letting a bad value reach the query engine.
9
- *
10
- * Validators throw {@link ValidationError}; tool handlers let it propagate to
11
- * the transport layer, which converts it into an MCP isError tool result with
12
- * a remediation hint.
13
- */
14
- declare const DOMAINS: readonly ["technology", "humanities", "systems", "science", "economy", "geopolitics", "philosophy", "environment", "culture", "health", "other"];
15
- export type ValidDomain = (typeof DOMAINS)[number];
16
- /** Thrown when a tool argument fails validation. Message is agent-facing. */
17
- export declare class ValidationError extends Error {
18
- constructor(message: string);
19
- }
20
- /**
21
- * Require a non-empty string. Trims; rejects empty/whitespace-only.
22
- */
23
- export declare function requireString(value: unknown, field: string): string;
24
- /**
25
- * Optional finite number within [min, max]. Returns undefined when absent.
26
- * Rejects NaN, Infinity, and non-number types so they never reach the query layer.
27
- */
28
- export declare function optionalNumber(value: unknown, field: string, opts?: {
29
- min?: number;
30
- max?: number;
31
- integer?: boolean;
32
- }): number | undefined;
33
- /**
34
- * Optional array of domain enum values. Returns undefined when absent.
35
- * Rejects non-arrays and unknown domain strings.
36
- */
37
- export declare function optionalDomains(value: unknown, field?: string): ValidDomain[] | undefined;
38
- /**
39
- * Required non-empty array of non-empty strings. Used for free-text list inputs
40
- * (e.g. predict_scenarios.conditions).
41
- */
42
- export declare function requireStringArray(value: unknown, field: string): string[];
43
- /**
44
- * Optional one-of enum string. Returns the value if valid, undefined if absent.
45
- */
46
- export declare function optionalEnum<T extends string>(value: unknown, field: string, allowed: readonly T[]): T | undefined;
47
- /**
48
- * Optional non-empty string. Returns undefined when absent, but rejects
49
- * present-but-empty (a likely client bug worth surfacing).
50
- */
51
- export declare function optionalString(value: unknown, field: string): string | undefined;
52
- export {};
53
- //# sourceMappingURL=validate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,QAAA,MAAM,OAAO,kJAGH,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD,6EAA6E;AAC7E,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CASnE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAC3D,MAAM,GAAG,SAAS,CAepB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,SAAY,GAAG,WAAW,EAAE,GAAG,SAAS,CAc5F;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAe1E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAC3C,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,SAAS,CAAC,EAAE,GACpB,CAAC,GAAG,SAAS,CAQf;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGhF"}