@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 +33 -36
- package/dist/bin.js +1 -1
- package/dist/index.js +1 -1
- package/dist/server.d.ts +1 -1
- package/package.json +2 -2
- package/src/server.ts +1 -1
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).
|
|
22
|
-
adoption; see Maturity below.
|
|
21
|
+
the `adr-kit` Python package on PyPI).
|
|
23
22
|
|
|
24
|
-
##
|
|
23
|
+
## Status
|
|
25
24
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|