@causari/mcp-server 0.1.2 → 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/CHANGELOG.md +19 -0
- package/NOTICE +1 -1
- package/README.md +3 -3
- package/dist/cli.d.ts +3 -2
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +29 -3
- package/dist/cli.js.map +1 -1
- package/dist/server.d.ts +1 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +6 -2
- package/dist/server.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,25 @@ the package uses [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## [0.1.3] — 2026-06-26 — Denser graph + opt-in data packs
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- **Opt-in data packs** — `npx @causari/mcp-server --pack <id>` (or
|
|
15
|
+
`CAUSARI_PACK=<id>`) merges a themed pack on top of the core CKG, queryable
|
|
16
|
+
through the same five tools. The default surface stays computing-only; packs
|
|
17
|
+
are explicit. First pack: `worldcup-2026` (the 2026 FIFA World Cup as a causal
|
|
18
|
+
map). A bad id fails loudly and degrades to the core graph. (See ADR-0018.)
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
|
|
22
|
+
- **Denser core graph** — the hottest developer verticals (Kubernetes, Docker,
|
|
23
|
+
React, Rust, PostgreSQL, OAuth, Python, Git, Go) gained cited causal links:
|
|
24
|
+
**470 → 497** confidence-scored links across the same 245 events, so first
|
|
25
|
+
multi-hop queries return richer chains.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
10
29
|
## [0.1.2] — 2026-06-26 — Hardening pass
|
|
11
30
|
|
|
12
31
|
Reliability + correctness pass ahead of npm publish. No breaking changes to the
|
package/NOTICE
CHANGED
|
@@ -19,7 +19,7 @@ See LICENSE for the full text.
|
|
|
19
19
|
────────────────────────────────────────────────────────────────────────
|
|
20
20
|
|
|
21
21
|
This server bundles and serves a curated Causal Knowledge Graph (the
|
|
22
|
-
"Dataset") — 245 events,
|
|
22
|
+
"Dataset") — 245 events, 497 causal links, and 8 insight patterns across
|
|
23
23
|
technology history. The Dataset is sourced from the @causari/ckg seed and
|
|
24
24
|
mirrored in the public causari-data repository.
|
|
25
25
|
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @causari/mcp-server
|
|
2
2
|
|
|
3
|
-
> **Wikipedia for AI agents.** A Model Context Protocol server that gives Claude Code, Cursor, Windsurf — or any MCP-compatible AI agent — structured causal knowledge: **245 events,
|
|
3
|
+
> **Wikipedia for AI agents.** A Model Context Protocol server that gives Claude Code, Cursor, Windsurf — or any MCP-compatible AI agent — structured causal knowledge: **245 events, 497 causal links** with confidence scores, and 8 insight patterns across 9 verticals of technology history.
|
|
4
4
|
|
|
5
5
|
<!-- TODO: Replace with 10s hero GIF showing Claude Code calling causal_chain("kubernetes") -->
|
|
6
6
|
<!--  -->
|
|
@@ -249,7 +249,7 @@ This is honest reporting, not marketing copy.
|
|
|
249
249
|
**Current data depth (as of 2026-06):**
|
|
250
250
|
|
|
251
251
|
- **245 events** across 9 verticals: AI history, computing, web ecosystem, cloud/devops, databases, AI/ML tooling, security, mobile, and civilizational foundations
|
|
252
|
-
- **
|
|
252
|
+
- **497 causal links** with evidence text + confidence scores calibrated per-link
|
|
253
253
|
- **8 insight patterns** (Abstraction Layer Migration, Standardization Cycle, Open vs Proprietary, Information Democratization Cycle, and more)
|
|
254
254
|
|
|
255
255
|
**Strong coverage:** Queries like `causal_chain("docker")`, `causal_chain("reactjs")`, `causal_chain("jwt")`, or `historical_resonance("microservices vs monolith")` return dense causal chains with evidence. Dev-term hit rate validated at 10/10.
|
|
@@ -313,7 +313,7 @@ pnpm smoke # build, then the CKG query smoke test
|
|
|
313
313
|
│ - types │ ← schema (Event, CausalLink, Insight)
|
|
314
314
|
│ - store │ ← in-memory + adjacency indexes
|
|
315
315
|
│ - query │ ← BFS, search, resonance, scenarios
|
|
316
|
-
│ - seed (9 verticals) │ ← 245 events,
|
|
316
|
+
│ - seed (9 verticals) │ ← 245 events, 497 links, 8 patterns
|
|
317
317
|
└──────────────────────────────┘
|
|
318
318
|
```
|
|
319
319
|
|
package/dist/cli.d.ts
CHANGED
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
* Causari MCP Server — local CLI.
|
|
4
4
|
*
|
|
5
5
|
* Usage:
|
|
6
|
-
* causari-mcp
|
|
7
|
-
* npx @causari/mcp-server
|
|
6
|
+
* causari-mcp # stdio (Claude Code, Cursor)
|
|
7
|
+
* npx @causari/mcp-server # same, no install
|
|
8
|
+
* npx @causari/mcp-server --pack worldcup-2026 # core CKG + a themed pack
|
|
8
9
|
*
|
|
9
10
|
* Configure in Claude Code .mcp.json:
|
|
10
11
|
* {
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;GAcG"}
|
package/dist/cli.js
CHANGED
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
* Causari MCP Server — local CLI.
|
|
4
4
|
*
|
|
5
5
|
* Usage:
|
|
6
|
-
* causari-mcp
|
|
7
|
-
* npx @causari/mcp-server
|
|
6
|
+
* causari-mcp # stdio (Claude Code, Cursor)
|
|
7
|
+
* npx @causari/mcp-server # same, no install
|
|
8
|
+
* npx @causari/mcp-server --pack worldcup-2026 # core CKG + a themed pack
|
|
8
9
|
*
|
|
9
10
|
* Configure in Claude Code .mcp.json:
|
|
10
11
|
* {
|
|
@@ -15,8 +16,33 @@
|
|
|
15
16
|
*/
|
|
16
17
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
17
18
|
import { createCausariServer } from './server.js';
|
|
19
|
+
/**
|
|
20
|
+
* Resolve an optional data pack to load alongside the core CKG, from
|
|
21
|
+
* `--pack <id>` / `--pack=<id>` or the `CAUSARI_PACK` env var. Undefined =
|
|
22
|
+
* the default computing-only surface.
|
|
23
|
+
*/
|
|
24
|
+
function resolvePack(argv) {
|
|
25
|
+
const flag = argv.indexOf('--pack');
|
|
26
|
+
if (flag >= 0 && argv[flag + 1])
|
|
27
|
+
return argv[flag + 1];
|
|
28
|
+
const eq = argv.find((a) => a.startsWith('--pack='));
|
|
29
|
+
if (eq)
|
|
30
|
+
return eq.slice('--pack='.length);
|
|
31
|
+
return process.env.CAUSARI_PACK || undefined;
|
|
32
|
+
}
|
|
18
33
|
async function main() {
|
|
19
|
-
const
|
|
34
|
+
const pack = resolvePack(process.argv.slice(2));
|
|
35
|
+
let server;
|
|
36
|
+
try {
|
|
37
|
+
server = createCausariServer({ pack });
|
|
38
|
+
if (pack)
|
|
39
|
+
process.stderr.write(`causari-mcp: loaded pack "${pack}" alongside the core CKG\n`);
|
|
40
|
+
}
|
|
41
|
+
catch (err) {
|
|
42
|
+
// A bad pack id must not take the server down — degrade to core + warn.
|
|
43
|
+
process.stderr.write(`causari-mcp: ${err instanceof Error ? err.message : String(err)} — serving core CKG only\n`);
|
|
44
|
+
server = createCausariServer();
|
|
45
|
+
}
|
|
20
46
|
const transport = new StdioServerTransport();
|
|
21
47
|
await server.connect(transport);
|
|
22
48
|
// Server now runs until stdin closes.
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD;;;;GAIG;AACH,SAAS,WAAW,CAAC,IAAc;IACjC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IACvD,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IACrD,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC1C,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,SAAS,CAAC;AAC/C,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,mBAAmB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACvC,IAAI,IAAI;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,IAAI,4BAA4B,CAAC,CAAC;IAChG,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,wEAAwE;QACxE,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,gBAAgB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAC7F,CAAC;QACF,MAAM,GAAG,mBAAmB,EAAE,CAAC;IACjC,CAAC;IACD,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"}
|
package/dist/server.d.ts
CHANGED
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,EAAqC,MAAM,cAAc,CAAC;AAK3E,wBAAgB,mBAAmB,CAAC,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,QAAQ,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,MAAM,CA8D1F"}
|
package/dist/server.js
CHANGED
|
@@ -6,12 +6,16 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
8
8
|
import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
|
|
9
|
-
import { CKGStore, loadSeed } from '@causari/ckg';
|
|
9
|
+
import { CKGStore, loadSeed, loadPack, mergeSeedData } from '@causari/ckg';
|
|
10
10
|
import { ALL_TOOLS } from './tools.js';
|
|
11
11
|
import { ValidationError } from './validate.js';
|
|
12
12
|
import { VERSION, SERVER_NAME } from './version.js';
|
|
13
13
|
export function createCausariServer(opts = {}) {
|
|
14
|
-
|
|
14
|
+
// Default surface = computing-only core CKG (ADR-0015). A pack is OPT-IN: when
|
|
15
|
+
// `pack` is set, its themed graph is merged on top of the core so agents can
|
|
16
|
+
// query it through the same five tools. Unknown ids throw (loud, not silent).
|
|
17
|
+
const store = opts.store ??
|
|
18
|
+
new CKGStore(opts.pack ? mergeSeedData(loadSeed(), loadPack(opts.pack)) : loadSeed());
|
|
15
19
|
const server = new Server({
|
|
16
20
|
name: SERVER_NAME,
|
|
17
21
|
version: VERSION,
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* cli/server/worker so the version is reported identically across stdio +
|
|
6
6
|
* HTTP transports, the health endpoint, and the discovery manifest.
|
|
7
7
|
*/
|
|
8
|
-
export declare const VERSION = "0.1.
|
|
8
|
+
export declare const VERSION = "0.1.3";
|
|
9
9
|
/** Protocol version this server implements (MCP spec revision). */
|
|
10
10
|
export declare const MCP_PROTOCOL_VERSION = "2024-11-05";
|
|
11
11
|
/** Stable server identifier reported in serverInfo + health. */
|
package/dist/version.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* cli/server/worker so the version is reported identically across stdio +
|
|
6
6
|
* HTTP transports, the health endpoint, and the discovery manifest.
|
|
7
7
|
*/
|
|
8
|
-
export const VERSION = '0.1.
|
|
8
|
+
export const VERSION = '0.1.3';
|
|
9
9
|
/** Protocol version this server implements (MCP spec revision). */
|
|
10
10
|
export const MCP_PROTOCOL_VERSION = '2024-11-05';
|
|
11
11
|
/** Stable server identifier reported in serverInfo + health. */
|