@adrkit/mcp 0.10.0 → 0.12.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/README.md CHANGED
@@ -18,18 +18,15 @@ Part of [adrkit](https://adrkit.dev). The corpus lives in git as one Markdown fi
18
18
  per decision with typed YAML frontmatter (`@adrkit/core`); this server only reads
19
19
  it. Listed in the [official MCP registry](https://registry.modelcontextprotocol.io)
20
20
  as **`dev.adrkit/mcp`** (this is the Node/npm `@adrkit/mcp` package — unrelated to
21
- the `adr-kit` Python package on PyPI). A registry listing is distribution, not
22
- adoption; see Maturity below.
21
+ the `adr-kit` Python package on PyPI).
23
22
 
24
- ## Maturity
23
+ ## Status
25
24
 
26
- adrkit is **early**. Phases 0–6 are *landed / reference-verified* against
27
- [ADR-0014](https://github.com/mbeacom/adrkit/blob/main/docs/adr/0014-stage-phase-landing-evidence-across-a-three-rung-validation-ladder.md)
28
- rungs 1–2 (unit/contract/conformance plus maintainer-owned isolated
29
- reference-repository validation). It has **no external adopters or production users
30
- yet**, and rung-3 external/community validation is openly tracked as not-yet-met.
31
- The 4-tool surface is locked by a
32
- [surface test](https://github.com/mbeacom/adrkit/blob/main/packages/mcp/test/surface.test.ts).
25
+ Published on npm for Node 22+ with a deliberately small, read-only stdio
26
+ surface: four tools and no write path.
27
+
28
+ adrkit is still pre-1.0. If you need repeatable client installs, pin an
29
+ explicit `@adrkit/mcp` version in your MCP config instead of floating `latest`.
33
30
 
34
31
  ## Quick start
35
32
 
@@ -39,32 +36,8 @@ The published binary is **`adrkit-mcp`**. Run it with `npx` (no install):
39
36
  npx -y @adrkit/mcp --cwd /path/to/your/repo --dir docs/adr
40
37
  ```
41
38
 
42
- It speaks JSON-RPC over stdio, so you normally point an MCP client at it rather than
43
- running it by hand. Copy-pasteable client configs follow.
44
-
45
- ### Protocol revisions
46
-
47
- The server speaks **both** MCP protocol eras on the same stdio connection, and the
48
- client picks. The opening exchange selects the era and pins it for the connection's
49
- lifetime:
50
-
51
- | Client opens with | Server serves |
52
- | ----------------------------------------------------- | ------------------------------------------------- |
53
- | `server/discover`, or any request carrying a 2026 `_meta` envelope | **`2026-07-28`** — stateless, no handshake |
54
- | `initialize` / `notifications/initialized` | the 2025-era revision it negotiates |
55
-
56
- On `2026-07-28` there is no `initialize` handshake and no session id: every request
57
- carries its own protocol version and client capabilities in `_meta`, and every result
58
- is self-describing (`resultType`, plus server identity in `_meta`). `tools/list` and
59
- `server/discover` are cacheable (SEP-2549) and are served with `ttlMs: 300000,
60
- cacheScope: "public"` — the four-tool surface is immutable for the life of the process
61
- and carries no corpus content, so a client may reuse it instead of re-listing. Corpus
62
- reads are never cacheable: every `tools/call` loads a fresh projection.
63
-
64
- Nothing else about the tools changes between eras — same names, same schemas, same
65
- annotations, same structured results. The server uses none of the features the
66
- `2026-07-28` revision deprecated (roots, sampling, logging) or removed (sessions,
67
- `ping`, `resources/subscribe`).
39
+ It speaks JSON-RPC over stdio, so you normally point an MCP client at it rather
40
+ than running it by hand. Copy-pasteable client configs follow.
68
41
 
69
42
  ### Claude Desktop
70
43
 
@@ -157,6 +130,30 @@ configuration exits non-zero with a diagnostic on **stderr** (`2` for an
157
130
  unparseable flag, `1` for an invalid root/directory) and never starts a transport.
158
131
  **stdout is reserved for JSON-RPC protocol frames only.**
159
132
 
133
+ ### Protocol revisions
134
+
135
+ The server speaks **both** MCP protocol eras on the same stdio connection, and
136
+ the client picks. The opening exchange selects the era and pins it for the
137
+ connection's lifetime:
138
+
139
+ | Client opens with | Server serves |
140
+ | ----------------------------------------------------- | ------------------------------------------------- |
141
+ | `server/discover`, or any request carrying a 2026 `_meta` envelope | **`2026-07-28`** — stateless, no handshake |
142
+ | `initialize` / `notifications/initialized` | the 2025-era revision it negotiates |
143
+
144
+ On `2026-07-28` there is no `initialize` handshake and no session id: every
145
+ request carries its own protocol version and client capabilities in `_meta`,
146
+ and every result is self-describing (`resultType`, plus server identity in
147
+ `_meta`). `tools/list` and `server/discover` are cacheable (SEP-2549) and are
148
+ served with `ttlMs: 300000, cacheScope: "public"` because the 4-tool surface is
149
+ fixed for the life of the process and carries no corpus content. Corpus reads
150
+ are never cacheable: every `tools/call` loads a fresh projection.
151
+
152
+ Nothing else about the tools changes between eras — same names, same schemas,
153
+ same annotations, same structured results. The server uses none of the features
154
+ the `2026-07-28` revision deprecated (roots, sampling, logging) or removed
155
+ (sessions, `ping`, `resources/subscribe`).
156
+
160
157
  ## The four tools
161
158
 
162
159
  Exactly four tools, all read-only. Each shares fixed annotations
package/dist/bin.js CHANGED
@@ -993,7 +993,7 @@ function registerListSuperseded(server, config) {
993
993
  }
994
994
 
995
995
  // src/server.ts
996
- var SERVER_INFO = { name: "@adrkit/mcp", version: "0.10.0" };
996
+ var SERVER_INFO = { name: "@adrkit/mcp", version: "0.12.0" };
997
997
  var CACHE_HINTS = {
998
998
  "tools/list": { ttlMs: 300000, cacheScope: "public" },
999
999
  "server/discover": { ttlMs: 300000, cacheScope: "public" }
package/dist/index.js CHANGED
@@ -991,7 +991,7 @@ function registerListSuperseded(server, config) {
991
991
  }
992
992
 
993
993
  // src/server.ts
994
- var SERVER_INFO = { name: "@adrkit/mcp", version: "0.10.0" };
994
+ var SERVER_INFO = { name: "@adrkit/mcp", version: "0.12.0" };
995
995
  var CACHE_HINTS = {
996
996
  "tools/list": { ttlMs: 300000, cacheScope: "public" },
997
997
  "server/discover": { ttlMs: 300000, cacheScope: "public" }
package/dist/server.d.ts CHANGED
@@ -10,7 +10,7 @@ import { McpServer } from '@modelcontextprotocol/server';
10
10
  import type { ToolConfig } from './tools/shared.js';
11
11
  export declare const SERVER_INFO: {
12
12
  readonly name: "@adrkit/mcp";
13
- readonly version: "0.10.0";
13
+ readonly version: "0.12.0";
14
14
  };
15
15
  /**
16
16
  * The MCP protocol revision this server serves through `serveStdio`'s modern era.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@adrkit/mcp",
3
3
  "mcpName": "dev.adrkit/mcp",
4
- "version": "0.10.0",
4
+ "version": "0.12.0",
5
5
  "description": "Local, read-only Model Context Protocol server exposing adrkit decision retrieval over stdio.",
6
6
  "type": "module",
7
7
  "license": "Apache-2.0",
@@ -45,7 +45,7 @@
45
45
  "typecheck": "tsc --noEmit --customConditions bun --project ../../tsconfig.json"
46
46
  },
47
47
  "dependencies": {
48
- "@adrkit/core": "0.10.0",
48
+ "@adrkit/core": "0.12.0",
49
49
  "@modelcontextprotocol/server": "2.0.0",
50
50
  "zod": "^4.2.0"
51
51
  },
package/src/server.ts CHANGED
@@ -14,7 +14,7 @@ import { registerGetDecisionContext } from './tools/get-decision-context.ts';
14
14
  import { registerListSuperseded } from './tools/list-superseded.ts';
15
15
  import type { ToolConfig } from './tools/shared.ts';
16
16
 
17
- export const SERVER_INFO = { name: '@adrkit/mcp', version: '0.10.0' } as const;
17
+ export const SERVER_INFO = { name: '@adrkit/mcp', version: '0.12.0' } as const;
18
18
 
19
19
  /**
20
20
  * The MCP protocol revision this server serves through `serveStdio`'s modern era.