pqc-memory-mcp 1.0.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.
Files changed (155) hide show
  1. package/.env.example +47 -0
  2. package/AGENTS.md +13 -0
  3. package/README.md +403 -0
  4. package/dist/auth/tenant-verifier.d.ts +18 -0
  5. package/dist/auth/tenant-verifier.d.ts.map +1 -0
  6. package/dist/auth/tenant-verifier.js +255 -0
  7. package/dist/auth/tenant-verifier.js.map +1 -0
  8. package/dist/cli.d.ts +3 -0
  9. package/dist/cli.d.ts.map +1 -0
  10. package/dist/cli.js +34 -0
  11. package/dist/cli.js.map +1 -0
  12. package/dist/client.d.ts +244 -0
  13. package/dist/client.d.ts.map +1 -0
  14. package/dist/client.js +543 -0
  15. package/dist/client.js.map +1 -0
  16. package/dist/debug.d.ts +6 -0
  17. package/dist/debug.d.ts.map +1 -0
  18. package/dist/debug.js +21 -0
  19. package/dist/debug.js.map +1 -0
  20. package/dist/http.d.ts +21 -0
  21. package/dist/http.d.ts.map +1 -0
  22. package/dist/http.js +189 -0
  23. package/dist/http.js.map +1 -0
  24. package/dist/index.d.ts +3 -0
  25. package/dist/index.d.ts.map +1 -0
  26. package/dist/index.js +28 -0
  27. package/dist/index.js.map +1 -0
  28. package/dist/init-wizard.d.ts +3 -0
  29. package/dist/init-wizard.d.ts.map +1 -0
  30. package/dist/init-wizard.js +138 -0
  31. package/dist/init-wizard.js.map +1 -0
  32. package/dist/mcp-exchange.d.ts +38 -0
  33. package/dist/mcp-exchange.d.ts.map +1 -0
  34. package/dist/mcp-exchange.js +126 -0
  35. package/dist/mcp-exchange.js.map +1 -0
  36. package/dist/server-factory.d.ts +8 -0
  37. package/dist/server-factory.d.ts.map +1 -0
  38. package/dist/server-factory.js +29 -0
  39. package/dist/server-factory.js.map +1 -0
  40. package/dist/session.d.ts +27 -0
  41. package/dist/session.d.ts.map +1 -0
  42. package/dist/session.js +121 -0
  43. package/dist/session.js.map +1 -0
  44. package/dist/tenant-cache.d.ts +20 -0
  45. package/dist/tenant-cache.d.ts.map +1 -0
  46. package/dist/tenant-cache.js +61 -0
  47. package/dist/tenant-cache.js.map +1 -0
  48. package/dist/tenant-fetch.d.ts +20 -0
  49. package/dist/tenant-fetch.d.ts.map +1 -0
  50. package/dist/tenant-fetch.js +91 -0
  51. package/dist/tenant-fetch.js.map +1 -0
  52. package/dist/tenant-runtime.d.ts +16 -0
  53. package/dist/tenant-runtime.d.ts.map +1 -0
  54. package/dist/tenant-runtime.js +31 -0
  55. package/dist/tenant-runtime.js.map +1 -0
  56. package/dist/tenant.d.ts +20 -0
  57. package/dist/tenant.d.ts.map +1 -0
  58. package/dist/tenant.js +26 -0
  59. package/dist/tenant.js.map +1 -0
  60. package/dist/tool-definitions.d.ts +9 -0
  61. package/dist/tool-definitions.d.ts.map +1 -0
  62. package/dist/tool-definitions.js +81 -0
  63. package/dist/tool-definitions.js.map +1 -0
  64. package/dist/tool-dispatch.d.ts +9 -0
  65. package/dist/tool-dispatch.d.ts.map +1 -0
  66. package/dist/tool-dispatch.js +194 -0
  67. package/dist/tool-dispatch.js.map +1 -0
  68. package/dist/tools/codegraph.d.ts +73 -0
  69. package/dist/tools/codegraph.d.ts.map +1 -0
  70. package/dist/tools/codegraph.js +203 -0
  71. package/dist/tools/codegraph.js.map +1 -0
  72. package/dist/tools/delete.d.ts +18 -0
  73. package/dist/tools/delete.d.ts.map +1 -0
  74. package/dist/tools/delete.js +23 -0
  75. package/dist/tools/delete.js.map +1 -0
  76. package/dist/tools/evolution.d.ts +90 -0
  77. package/dist/tools/evolution.d.ts.map +1 -0
  78. package/dist/tools/evolution.js +255 -0
  79. package/dist/tools/evolution.js.map +1 -0
  80. package/dist/tools/graph.d.ts +43 -0
  81. package/dist/tools/graph.d.ts.map +1 -0
  82. package/dist/tools/graph.js +94 -0
  83. package/dist/tools/graph.js.map +1 -0
  84. package/dist/tools/models.d.ts +57 -0
  85. package/dist/tools/models.d.ts.map +1 -0
  86. package/dist/tools/models.js +105 -0
  87. package/dist/tools/models.js.map +1 -0
  88. package/dist/tools/narratives.d.ts +82 -0
  89. package/dist/tools/narratives.d.ts.map +1 -0
  90. package/dist/tools/narratives.js +218 -0
  91. package/dist/tools/narratives.js.map +1 -0
  92. package/dist/tools/objects.d.ts +65 -0
  93. package/dist/tools/objects.d.ts.map +1 -0
  94. package/dist/tools/objects.js +157 -0
  95. package/dist/tools/objects.js.map +1 -0
  96. package/dist/tools/obsidian.d.ts +31 -0
  97. package/dist/tools/obsidian.d.ts.map +1 -0
  98. package/dist/tools/obsidian.js +167 -0
  99. package/dist/tools/obsidian.js.map +1 -0
  100. package/dist/tools/outcome.d.ts +21 -0
  101. package/dist/tools/outcome.d.ts.map +1 -0
  102. package/dist/tools/outcome.js +35 -0
  103. package/dist/tools/outcome.js.map +1 -0
  104. package/dist/tools/promote.d.ts +21 -0
  105. package/dist/tools/promote.d.ts.map +1 -0
  106. package/dist/tools/promote.js +31 -0
  107. package/dist/tools/promote.js.map +1 -0
  108. package/dist/tools/reflect.d.ts +27 -0
  109. package/dist/tools/reflect.d.ts.map +1 -0
  110. package/dist/tools/reflect.js +85 -0
  111. package/dist/tools/reflect.js.map +1 -0
  112. package/dist/tools/search.d.ts +27 -0
  113. package/dist/tools/search.d.ts.map +1 -0
  114. package/dist/tools/search.js +42 -0
  115. package/dist/tools/search.js.map +1 -0
  116. package/dist/tools/strategies.d.ts +43 -0
  117. package/dist/tools/strategies.d.ts.map +1 -0
  118. package/dist/tools/strategies.js +126 -0
  119. package/dist/tools/strategies.js.map +1 -0
  120. package/dist/tools/summary.d.ts +61 -0
  121. package/dist/tools/summary.d.ts.map +1 -0
  122. package/dist/tools/summary.js +124 -0
  123. package/dist/tools/summary.js.map +1 -0
  124. package/dist/tools/swarm.d.ts +71 -0
  125. package/dist/tools/swarm.d.ts.map +1 -0
  126. package/dist/tools/swarm.js +145 -0
  127. package/dist/tools/swarm.js.map +1 -0
  128. package/dist/tools/v4.d.ts +152 -0
  129. package/dist/tools/v4.d.ts.map +1 -0
  130. package/dist/tools/v4.js +348 -0
  131. package/dist/tools/v4.js.map +1 -0
  132. package/dist/tools/write.d.ts +30 -0
  133. package/dist/tools/write.d.ts.map +1 -0
  134. package/dist/tools/write.js +52 -0
  135. package/dist/tools/write.js.map +1 -0
  136. package/dist/types.d.ts +359 -0
  137. package/dist/types.d.ts.map +1 -0
  138. package/dist/types.js +2 -0
  139. package/dist/types.js.map +1 -0
  140. package/dist/zod-json-schema.d.ts +3 -0
  141. package/dist/zod-json-schema.d.ts.map +1 -0
  142. package/dist/zod-json-schema.js +52 -0
  143. package/dist/zod-json-schema.js.map +1 -0
  144. package/docs/claude-remote-oauth.md +26 -0
  145. package/docs/crypticpqc-auth-architecture.md +107 -0
  146. package/docs/crypticpqc-cross-domain-auth.md +194 -0
  147. package/docs/mcp-auth0-exchange-contract.md +75 -0
  148. package/docs/mcp-authorization-spec-alignment.md +29 -0
  149. package/docs/mcp-org-object-storage.md +55 -0
  150. package/docs/pqc-api-tenant-context-go.md +238 -0
  151. package/docs/pqc-db-mcp-tenant-context.md +15 -0
  152. package/docs/pqc-db-tenant-context-implementation.md +32 -0
  153. package/docs/standalone-distribution.md +92 -0
  154. package/package.json +52 -0
  155. package/scripts/start.mjs +13 -0
@@ -0,0 +1,92 @@
1
+ # Standalone MCP distribution (open source)
2
+
3
+ This repository serves **two audiences**:
4
+
5
+ | Audience | What you use | Notes |
6
+ |----------|----------------|-------|
7
+ | **Contributors / Cryptic workspace** | The whole repo, including [`.cursor/`](../.cursor/) | Rules, hooks, and agent prompts are for development inside Cursor; they are not required to *run* the MCP server. |
8
+ | **Open source consumers** | **`pqc-memory-mcp`** on npm, a **GitHub release zip**, or **`oss-bundle/pqc-memory-mcp/`** produced by **`npm run generate:standalone`** | Ships `dist/`, npm manifest from [`packaging/published-package.json`](../packaging/published-package.json), plus docs and optional `src/` for hackers. You still need a running **pqc-db** (or compatible) API, API key, and memory bucket. |
9
+
10
+ The MCP server is a **client** of the pqc-db memory HTTP API. It does not start PostgreSQL, Qdrant, or Neo4j; those remain part of your pqc-db deployment.
11
+
12
+ ## Get the standalone folder
13
+
14
+ ### Option A – GitHub Release (recommended for end users)
15
+
16
+ When maintainers publish a release, the workflow **OSS bundle** attaches a zip (e.g. `pqc-memory-mcp-standalone.zip`). Download and unzip.
17
+
18
+ ### Option B – Generate locally (maintainers)
19
+
20
+ From the **repository root**:
21
+
22
+ ```bash
23
+ npm install
24
+ npm run generate:standalone
25
+ ```
26
+
27
+ Output: **`oss-bundle/pqc-memory-mcp/`** (gitignored). That directory is what you **`npm publish`** (or **`npm pack`**) for the **`pqc-memory-mcp`** package. Alias: **`npm run bundle:oss`**.
28
+
29
+ Flags passed through to the generator:
30
+
31
+ - **`--no-lock`** — skip `npm install --package-lock-only` in the standalone folder (offline / CI speed).
32
+ - **`--version=1.2.3`** — override **`version`** in the generated `package.json` (otherwise uses [`packaging/published-package.json`](../packaging/published-package.json)).
33
+
34
+ ### Option C – Clone the full repo
35
+
36
+ Clone as usual, then **ignore** `.cursor/` if you only want to run the server. From the root: **`npm install`**, **`npm run build`**, configure your agent against **`dist/index.js`**, or run **`npm run generate:standalone`** and use **`oss-bundle/pqc-memory-mcp/`**.
37
+
38
+ ### Option D – npm / npx (no clone)
39
+
40
+ Once **`pqc-memory-mcp`** is published to npm:
41
+
42
+ ```bash
43
+ npm install -g pqc-memory-mcp
44
+ # stdio MCP (most local agents):
45
+ pqc-memory-mcp
46
+ ```
47
+
48
+ Or let your agent download it on demand: **`npx -y pqc-memory-mcp`**.
49
+
50
+ **Guided init (no manual JSON):** **`npx -y pqc-memory-mcp init`** prompts for **Cursor**, **Claude Code**, or **JetBrains Junie** and writes the right file (e.g. **`.cursor/mcp.json`**, **`.mcp.json`**, **`.junie/mcp/mcp.json`**, or the matching global path).
51
+
52
+ **Other agents:** install into Cursor, Claude Code, etc. with Neon's [**add-mcp**](https://github.com/neondatabase/add-mcp), for example:
53
+
54
+ ```bash
55
+ npx add-mcp "npx -y pqc-memory-mcp" -a cursor -y --name pqc-memory
56
+ ```
57
+
58
+ Then edit the generated config and add **`env`**: `PQC_API_URL`, `PQC_API_KEY`, `PQC_BUCKET_ID`. See the [README](../README.md) section *Easiest install: add-mcp*.
59
+
60
+ **HTTP MCP** (hosted / Streamable HTTP): run **`pqc-memory-mcp-http`** (or `npx -y pqc-memory-mcp-http`) with `PQC_TENANT_RESOLUTION_URL` and related variables from the README.
61
+
62
+ ## After you have the standalone folder
63
+
64
+ 1. **Install production dependencies**
65
+
66
+ ```bash
67
+ cd pqc-memory-mcp
68
+ npm ci --omit=dev
69
+ ```
70
+
71
+ Release zips and generated trees include **`dist/`**. To compile from **`src/`** yourself, install **`typescript`** in that tree and run **`npx tsc`** (the published npm tarball normally includes only **`files`** from `package.json`, not `src/`).
72
+
73
+ 2. **Configure environment** – Copy [.env.example](../.env.example) to `.env` or set variables in your MCP client. For Cursor stdio mode you need at least `PQC_API_URL`, `PQC_API_KEY`, and `PQC_BUCKET_ID`. See the main README for HTTP MCP and tenant-context variables.
74
+
75
+ 3. **Point your MCP client at** `dist/index.js` (stdio) or run **`npm run start:http`** for HTTP transport, as documented in the README.
76
+
77
+ ## What the generated standalone includes
78
+
79
+ - **`package.json`** from [`packaging/published-package.json`](../packaging/published-package.json) (npm **`files`** control what actually lands on the registry)
80
+ - **`dist/`** (built from this repo before generate), **`scripts/start.mjs`**, **`src/`**, **`docs/`**, **`tsconfig.json`**, **`.env.example`**, **`README.md`**, **`AGENTS.md`**, optional **`LICENSE*`** from repo root
81
+ - **`package-lock.json`** when generate runs with network (omit with **`--no-lock`**)
82
+
83
+ ## What it excludes
84
+
85
+ - `.cursor/` and other editor-only assets (they never leave the generator repo)
86
+ - `node_modules/` and local secrets (`.env`)
87
+
88
+ ## Maintainer notes
89
+
90
+ - Bump the **published** version in [`packaging/published-package.json`](../packaging/published-package.json) before tagging / npm publish.
91
+ - **`npm run publish:npm`** (root) runs **`generate:standalone`** then **`npm publish`** inside **`oss-bundle/pqc-memory-mcp`**. The root **`package.json`** stays **`private`: true** so accidental **`npm publish`** at the repo root fails.
92
+ - Add a **`LICENSE`** at the repo root when you choose a license; **`generate-standalone`** copies **`LICENSE*`** into the bundle if present.
package/package.json ADDED
@@ -0,0 +1,52 @@
1
+ {
2
+ "name": "pqc-memory-mcp",
3
+ "version": "1.0.0",
4
+ "description": "MCP server for pqc-db persistent memory — stdio or HTTP; works with Cursor, Claude Code, Codex, VS Code, JetBrains Junie, Zed, and other MCP hosts",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "bin": {
8
+ "pqc-memory-mcp": "./dist/cli.js",
9
+ "pqc-memory-mcp-http": "./dist/http.js"
10
+ },
11
+ "files": [
12
+ "dist",
13
+ "scripts/start.mjs",
14
+ "README.md",
15
+ "AGENTS.md",
16
+ ".env.example",
17
+ "docs"
18
+ ],
19
+ "scripts": {
20
+ "start": "node scripts/start.mjs",
21
+ "start:stdio": "node dist/index.js",
22
+ "start:http": "node dist/http.js",
23
+ "init": "node dist/cli.js init",
24
+ "build": "node -e \"console.error('\\n This package already includes dist/ — there is no compile step here.\\n\\n To edit source and rebuild:\\n git clone https://github.com/CascadiaTech/pqc-mcp-server.git\\n cd pqc-mcp-server && npm install && npm run build && npm run generate:standalone\\n\\n See the Maintainer guide in that repo README.\\n'); process.exit(1)\""
25
+ },
26
+ "dependencies": {
27
+ "@modelcontextprotocol/sdk": "^1.27.1",
28
+ "express": "^5.2.1",
29
+ "zod": "^3.22.4"
30
+ },
31
+ "engines": {
32
+ "node": ">=18.0.0"
33
+ },
34
+ "repository": {
35
+ "type": "git",
36
+ "url": "git+https://github.com/CascadiaTech/pqc-mcp-server.git"
37
+ },
38
+ "bugs": {
39
+ "url": "https://github.com/CascadiaTech/pqc-mcp-server/issues"
40
+ },
41
+ "homepage": "https://github.com/CascadiaTech/pqc-mcp-server#readme",
42
+ "keywords": [
43
+ "mcp",
44
+ "model-context-protocol",
45
+ "pqc-db",
46
+ "memory",
47
+ "cursor",
48
+ "stdio",
49
+ "claude",
50
+ "agent"
51
+ ]
52
+ }
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * PaaS (Zeabur, etc.) usually runs `npm start`. Route to HTTP MCP when
4
+ * tenant resolution is configured; otherwise stdio MCP for local Cursor.
5
+ */
6
+ const httpEntry = new URL("../dist/http.js", import.meta.url).href;
7
+ const stdioEntry = new URL("../dist/index.js", import.meta.url).href;
8
+
9
+ if (process.env.PQC_TENANT_RESOLUTION_URL) {
10
+ await import(httpEntry);
11
+ } else {
12
+ await import(stdioEntry);
13
+ }