@t2kai/mcp 0.2.0 → 0.3.1
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 +87 -6
- package/dist/server.d.ts +9 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +600 -42
- package/dist/server.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
# `@t2kai/mcp`
|
|
2
2
|
|
|
3
3
|
Local stdio MCP server for the open T2K ontology, decision, and learning
|
|
4
|
-
runtime. It lets an MCP host validate and compile ontology packs,
|
|
5
|
-
|
|
4
|
+
runtime. It lets an MCP host validate and compile ontology packs, map and
|
|
5
|
+
reconcile supplied evidence, propose reversible entity links, evaluate
|
|
6
|
+
purpose-limited access and policies, and optionally inspect or write a local
|
|
7
|
+
governed lifecycle.
|
|
6
8
|
|
|
7
9
|
Node.js 20.10 or newer is required.
|
|
8
10
|
|
|
@@ -15,7 +17,7 @@ Use this standard MCP host configuration:
|
|
|
15
17
|
"mcpServers": {
|
|
16
18
|
"t2k": {
|
|
17
19
|
"command": "npx",
|
|
18
|
-
"args": ["-y", "@t2kai/mcp@
|
|
20
|
+
"args": ["-y", "@t2kai/mcp@0.3.1"]
|
|
19
21
|
}
|
|
20
22
|
}
|
|
21
23
|
}
|
|
@@ -29,8 +31,75 @@ deterministic, read-only computation:
|
|
|
29
31
|
- `evaluate_reference_policy`
|
|
30
32
|
- `evaluate_reference_replay`
|
|
31
33
|
- `evaluate_reference_reward`
|
|
34
|
+
- `map_governed_source_record`
|
|
35
|
+
- `propose_canonical_reconciliation`
|
|
36
|
+
- `propose_entity_link`
|
|
37
|
+
- `evaluate_purpose_limited_access`
|
|
38
|
+
|
|
39
|
+
The `t2k://capabilities` resource reports the active mode, exact tool set, and
|
|
40
|
+
public input limits.
|
|
41
|
+
|
|
42
|
+
## Evaluate Integration Evidence Without Writing It
|
|
43
|
+
|
|
44
|
+
The four integration tools are available in the database-free safe default
|
|
45
|
+
mode. They accept only caller-supplied JSON and are deterministic, read-only
|
|
46
|
+
computations:
|
|
47
|
+
|
|
48
|
+
- `map_governed_source_record` applies one explicit executable source mapping
|
|
49
|
+
to one immutable source envelope. It returns a canonical-record proposal and
|
|
50
|
+
a source receipt, including rejected, quarantined, duplicate, and
|
|
51
|
+
human-review state. It does not fetch a source, use credentials, persist the
|
|
52
|
+
receipt, or accept mapped values as truth.
|
|
53
|
+
- `propose_canonical_reconciliation` checks supplied mapping receipts,
|
|
54
|
+
canonical-output hashes, identity evidence, and field provenance before
|
|
55
|
+
applying an explicit versioned authority policy. It preserves alternatives
|
|
56
|
+
and returns a non-mutating proposal; it does not update a canonical store or
|
|
57
|
+
promote selected evidence.
|
|
58
|
+
- `propose_entity_link` scores supplied candidates under explicit identifier
|
|
59
|
+
rules. Its result is reversible and may require review. It never creates or
|
|
60
|
+
merges entities.
|
|
61
|
+
- `evaluate_purpose_limited_access` applies an explicit-deny-precedence,
|
|
62
|
+
default-deny policy and returns a deterministic receipt. The receipt is not
|
|
63
|
+
authentication, an IAM decision, a bearer token, or permission to disclose
|
|
64
|
+
data. Role, purpose, relationship, category, and jurisdiction selectors are
|
|
65
|
+
passed to Core exactly as supplied; MCP does not trim them into a match.
|
|
66
|
+
|
|
67
|
+
A typical local analysis maps independently supplied records and then passes
|
|
68
|
+
their complete results to `propose_canonical_reconciliation`:
|
|
69
|
+
|
|
70
|
+
```text
|
|
71
|
+
source envelope + reviewed mapping -> map_governed_source_record -> receipt
|
|
72
|
+
receipts + authority policy -> propose_canonical_reconciliation -> proposal
|
|
73
|
+
```
|
|
32
74
|
|
|
33
|
-
|
|
75
|
+
That is the only data-flow edge among the four integration tools.
|
|
76
|
+
`propose_entity_link` evaluates its own candidate-and-rule input, and
|
|
77
|
+
`evaluate_purpose_limited_access` evaluates its own request-and-policy input.
|
|
78
|
+
They are independent computations, not later stages of one automatic pipeline.
|
|
79
|
+
None of the four tools stores another tool's result, accepts a human
|
|
80
|
+
disposition, merges an entity, activates a canonical revision, or enforces an
|
|
81
|
+
access decision.
|
|
82
|
+
|
|
83
|
+
Inputs use strict JSON schemas: unknown control fields such as `persist`,
|
|
84
|
+
`merge`, credentials, or caller-supplied approval state are rejected before
|
|
85
|
+
execution. Before schema parsing can strip or normalize anything, every nested
|
|
86
|
+
object is recursively inspected by own property descriptor; `__proto__`,
|
|
87
|
+
`prototype`, and `constructor` keys, accessors, symbols, and cyclic object
|
|
88
|
+
graphs fail closed. Ordinary JSON objects and null-prototype data objects remain
|
|
89
|
+
valid. Calls are also bounded to 32 nested levels, 50,000 traversed nodes,
|
|
90
|
+
10,000 entries per collection, 8,192 characters per property key, 1,000,000
|
|
91
|
+
characters per string value, and 2,000,000 total characters across property
|
|
92
|
+
keys and string values. Key batch schemas advertise tighter limits where
|
|
93
|
+
appropriate. Semantic inconsistencies
|
|
94
|
+
that pass structural parsing still fail closed
|
|
95
|
+
in the core result, such as an invalid source-receipt hash or an invalid
|
|
96
|
+
purpose-access request time.
|
|
97
|
+
|
|
98
|
+
For release-bound compilation, pass `mode: "deployment"`; this permits only
|
|
99
|
+
accepted packs. New reward callers should pass `evidenceMode: "strict"` after
|
|
100
|
+
supplying the method-specific evidence references. Source mapping accepts the
|
|
101
|
+
optional source selectors from the ontology pack plus `expectedMappingHash` to
|
|
102
|
+
pin the exact reviewed mapping revision.
|
|
34
103
|
|
|
35
104
|
## Add a Local Lifecycle
|
|
36
105
|
|
|
@@ -41,7 +110,7 @@ Set `T2K_DATABASE_URL` to expose lifecycle inspection without enabling writes:
|
|
|
41
110
|
"mcpServers": {
|
|
42
111
|
"t2k": {
|
|
43
112
|
"command": "npx",
|
|
44
|
-
"args": ["-y", "@t2kai/mcp@
|
|
113
|
+
"args": ["-y", "@t2kai/mcp@0.3.1"],
|
|
45
114
|
"env": {
|
|
46
115
|
"T2K_DATABASE_URL": "postgresql://postgres:postgres@127.0.0.1:5432/t2k",
|
|
47
116
|
"T2K_MCP_AUTO_MIGRATE": "true"
|
|
@@ -54,7 +123,9 @@ Set `T2K_DATABASE_URL` to expose lifecycle inspection without enabling writes:
|
|
|
54
123
|
This adds `get_active_policy`, `get_lifecycle_snapshot`,
|
|
55
124
|
`verify_event_chain`, and the `t2k://lifecycle/snapshot` resource. Schema
|
|
56
125
|
migration is additive and idempotent; it is opt-in so the process does not
|
|
57
|
-
silently claim a database schema.
|
|
126
|
+
silently claim a database schema. `T2K_DATABASE_URL` does **not** change the
|
|
127
|
+
four integration tools: their mapping, reconciliation, entity-link, and access
|
|
128
|
+
outputs remain read-only and are not automatically persisted or activated.
|
|
58
129
|
|
|
59
130
|
## Explicitly Enable Agent Writes
|
|
60
131
|
|
|
@@ -85,6 +156,12 @@ Those operations must run through a trusted human interface that authenticates
|
|
|
85
156
|
the reviewer and enforces separation of duties. This omission is a security
|
|
86
157
|
boundary, not an incomplete tool list.
|
|
87
158
|
|
|
159
|
+
Persisting a reconciliation proposal, recording an authenticated human
|
|
160
|
+
disposition, and accepting or activating an append-only canonical revision are
|
|
161
|
+
trusted-application operations through `PostgresReferenceLifecycle`. They are
|
|
162
|
+
outside the MCP integration tools even when lifecycle reads or agent-authored
|
|
163
|
+
writes are enabled.
|
|
164
|
+
|
|
88
165
|
## Programmatic Use
|
|
89
166
|
|
|
90
167
|
```ts
|
|
@@ -106,6 +183,10 @@ The runtime closes only database pools that it creates itself.
|
|
|
106
183
|
|
|
107
184
|
- Treat MCP tool arguments as untrusted input; the core runtime validates
|
|
108
185
|
manifests, policy contracts, state, rewards, receipts, and lifecycle order.
|
|
186
|
+
- Treat source receipts, reconciliation and entity-link proposals, and access
|
|
187
|
+
receipts as evidence artifacts only. Persisting evidence, authenticating a
|
|
188
|
+
principal, accepting facts, merging entities, and enforcing disclosure all
|
|
189
|
+
remain responsibilities of the calling system and its human governance.
|
|
109
190
|
- Use a dedicated database role and database. Database ownership can bypass the
|
|
110
191
|
append-only trigger, so independently anchor event heads when non-repudiation
|
|
111
192
|
is required.
|
package/dist/server.d.ts
CHANGED
|
@@ -2,6 +2,14 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
|
2
2
|
import { PostgresReferenceLifecycle, type ReferenceLifecycleActor } from "@t2kai/core/postgres";
|
|
3
3
|
export declare const T2K_MCP_VERSION: string;
|
|
4
4
|
export declare const T2K_MCP_HUMAN_GOVERNANCE_OPERATIONS: readonly ["accept_policy_version", "deploy_policy_version", "authorize_recommendation", "close_decision_episode", "evaluate_learning_candidate", "promote_learning_candidate", "deploy_promotion", "rollback_promotion"];
|
|
5
|
+
export declare const T2K_MCP_PUBLIC_INPUT_LIMITS: Readonly<{
|
|
6
|
+
maxDepth: 32;
|
|
7
|
+
maxNodes: 50000;
|
|
8
|
+
maxCollectionEntries: 10000;
|
|
9
|
+
maxPropertyKeyLength: 8192;
|
|
10
|
+
maxStringLength: 1000000;
|
|
11
|
+
maxTotalTextCharacters: 2000000;
|
|
12
|
+
}>;
|
|
5
13
|
export interface T2kMcpCapabilities {
|
|
6
14
|
mode: "semantic-only" | "lifecycle-read-only" | "agent-mutation";
|
|
7
15
|
transport: "stdio";
|
|
@@ -10,6 +18,7 @@ export interface T2kMcpCapabilities {
|
|
|
10
18
|
actor: ReferenceLifecycleActor | null;
|
|
11
19
|
tools: string[];
|
|
12
20
|
omittedHumanGovernanceOperations: string[];
|
|
21
|
+
inputLimits: typeof T2K_MCP_PUBLIC_INPUT_LIMITS;
|
|
13
22
|
}
|
|
14
23
|
export interface CreateT2kMcpRuntimeOptions {
|
|
15
24
|
lifecycle?: PostgresReferenceLifecycle;
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAuCpE,OAAO,EACL,0BAA0B,EAE1B,KAAK,uBAAuB,EAC7B,MAAM,sBAAsB,CAAC;AAS9B,eAAO,MAAM,eAAe,QAA0B,CAAC;AAEvD,eAAO,MAAM,mCAAmC,0NAStC,CAAC;AAgDX,eAAO,MAAM,2BAA2B;;;;;;;EAOtC,CAAC;AA4mBH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,eAAe,GAAG,qBAAqB,GAAG,gBAAgB,CAAC;IACjE,SAAS,EAAE,OAAO,CAAC;IACnB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,KAAK,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACtC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,gCAAgC,EAAE,MAAM,EAAE,CAAC;IAC3C,WAAW,EAAE,OAAO,2BAA2B,CAAC;CACjD;AAED,MAAM,WAAW,0BAA0B;IACzC,SAAS,CAAC,EAAE,0BAA0B,CAAC;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,SAAS,CAAC;IAClB,YAAY,EAAE,kBAAkB,CAAC;IACjC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AA8sBD,wBAAsB,mBAAmB,CACvC,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,aAAa,CAAC,CA2JxB"}
|
package/dist/server.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import { CallToolRequestSchema, ErrorCode, McpError, } from "@modelcontextprotocol/sdk/types.js";
|
|
2
3
|
import { createRequire } from "node:module";
|
|
3
|
-
import { ReferencePolicyError, ReferenceRewardError, evaluateReferencePolicy, evaluateReferenceReplay, evaluateReferenceReward, validateOntologyPackManifest, } from "@t2kai/core";
|
|
4
|
+
import { ReferencePolicyError, ReferenceRewardError, SOURCE_AUTHENTICATION_STATES, evaluatePurposeLimitedAccess, evaluateReferencePolicy, evaluateReferenceReplay, evaluateReferenceReward, executeSourceMapping, reconcileCanonicalRecords, resolveEntityCandidates, validateOntologyPackManifest, } from "@t2kai/core";
|
|
4
5
|
import { compileOntologyPackSet, } from "@t2kai/core/compiler";
|
|
5
6
|
import { PostgresReferenceLifecycle, ReferenceLifecycleError, } from "@t2kai/core/postgres";
|
|
6
7
|
import * as z from "zod/v4";
|
|
@@ -25,6 +26,10 @@ const SEMANTIC_TOOL_NAMES = [
|
|
|
25
26
|
"evaluate_reference_policy",
|
|
26
27
|
"evaluate_reference_replay",
|
|
27
28
|
"evaluate_reference_reward",
|
|
29
|
+
"map_governed_source_record",
|
|
30
|
+
"propose_canonical_reconciliation",
|
|
31
|
+
"propose_entity_link",
|
|
32
|
+
"evaluate_purpose_limited_access",
|
|
28
33
|
];
|
|
29
34
|
const LIFECYCLE_READ_TOOL_NAMES = [
|
|
30
35
|
"get_active_policy",
|
|
@@ -51,6 +56,504 @@ const learningModeSchema = z.enum([
|
|
|
51
56
|
"sequential_rl",
|
|
52
57
|
"optimization",
|
|
53
58
|
]);
|
|
59
|
+
const nonBlankStringSchema = z
|
|
60
|
+
.string()
|
|
61
|
+
.min(1)
|
|
62
|
+
.refine((value) => value.trim().length > 0, "String must not be blank.");
|
|
63
|
+
const unsafeObjectKeys = new Set(["__proto__", "constructor", "prototype"]);
|
|
64
|
+
export const T2K_MCP_PUBLIC_INPUT_LIMITS = Object.freeze({
|
|
65
|
+
maxDepth: 32,
|
|
66
|
+
maxNodes: 50_000,
|
|
67
|
+
maxCollectionEntries: 10_000,
|
|
68
|
+
maxPropertyKeyLength: 8_192,
|
|
69
|
+
maxStringLength: 1_000_000,
|
|
70
|
+
maxTotalTextCharacters: 2_000_000,
|
|
71
|
+
});
|
|
72
|
+
function findUnsafeInputSurface(value, path = [], state = { ancestors: new WeakSet(), nodes: 0, textCharacters: 0 }) {
|
|
73
|
+
state.nodes += 1;
|
|
74
|
+
if (state.nodes > T2K_MCP_PUBLIC_INPUT_LIMITS.maxNodes) {
|
|
75
|
+
return {
|
|
76
|
+
path,
|
|
77
|
+
message: `MCP arguments exceed the ${T2K_MCP_PUBLIC_INPUT_LIMITS.maxNodes} node limit.`,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
if (path.length > T2K_MCP_PUBLIC_INPUT_LIMITS.maxDepth) {
|
|
81
|
+
return {
|
|
82
|
+
path,
|
|
83
|
+
message: `MCP arguments exceed the ${T2K_MCP_PUBLIC_INPUT_LIMITS.maxDepth} level nesting limit.`,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
if (typeof value === "string" &&
|
|
87
|
+
value.length > T2K_MCP_PUBLIC_INPUT_LIMITS.maxStringLength) {
|
|
88
|
+
return {
|
|
89
|
+
path,
|
|
90
|
+
message: `MCP string exceeds the ${T2K_MCP_PUBLIC_INPUT_LIMITS.maxStringLength} character limit.`,
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
if (typeof value === "string") {
|
|
94
|
+
state.textCharacters += value.length;
|
|
95
|
+
if (state.textCharacters >
|
|
96
|
+
T2K_MCP_PUBLIC_INPUT_LIMITS.maxTotalTextCharacters) {
|
|
97
|
+
return {
|
|
98
|
+
path,
|
|
99
|
+
message: `MCP argument text exceeds the ${T2K_MCP_PUBLIC_INPUT_LIMITS.maxTotalTextCharacters} total character limit.`,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
if (value === null || typeof value !== "object")
|
|
104
|
+
return null;
|
|
105
|
+
if (state.ancestors.has(value)) {
|
|
106
|
+
return {
|
|
107
|
+
path,
|
|
108
|
+
message: "Cyclic input objects are not valid MCP JSON arguments.",
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
const keys = Reflect.ownKeys(value);
|
|
112
|
+
const collectionEntries = Array.isArray(value)
|
|
113
|
+
? value.length
|
|
114
|
+
: keys.length;
|
|
115
|
+
if (collectionEntries > T2K_MCP_PUBLIC_INPUT_LIMITS.maxCollectionEntries) {
|
|
116
|
+
return {
|
|
117
|
+
path,
|
|
118
|
+
message: `MCP collection exceeds the ${T2K_MCP_PUBLIC_INPUT_LIMITS.maxCollectionEntries} entry limit.`,
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
state.ancestors.add(value);
|
|
122
|
+
try {
|
|
123
|
+
for (const key of keys) {
|
|
124
|
+
if (typeof key === "symbol") {
|
|
125
|
+
return {
|
|
126
|
+
path,
|
|
127
|
+
message: "Symbol-keyed input properties are not valid MCP JSON arguments.",
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
const isArrayStructuralKey = Array.isArray(value) && (key === "length" || /^\d+$/.test(key));
|
|
131
|
+
if (!isArrayStructuralKey) {
|
|
132
|
+
if (key.length > T2K_MCP_PUBLIC_INPUT_LIMITS.maxPropertyKeyLength) {
|
|
133
|
+
return {
|
|
134
|
+
path,
|
|
135
|
+
message: `MCP property key exceeds the ${T2K_MCP_PUBLIC_INPUT_LIMITS.maxPropertyKeyLength} character limit.`,
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
state.textCharacters += key.length;
|
|
139
|
+
if (state.textCharacters >
|
|
140
|
+
T2K_MCP_PUBLIC_INPUT_LIMITS.maxTotalTextCharacters) {
|
|
141
|
+
return {
|
|
142
|
+
path,
|
|
143
|
+
message: `MCP argument text exceeds the ${T2K_MCP_PUBLIC_INPUT_LIMITS.maxTotalTextCharacters} total character limit.`,
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
const segment = Array.isArray(value) && /^\d+$/.test(key) ? Number(key) : key;
|
|
148
|
+
const propertyPath = [...path, segment];
|
|
149
|
+
if (unsafeObjectKeys.has(key)) {
|
|
150
|
+
return {
|
|
151
|
+
path: propertyPath,
|
|
152
|
+
message: `Unsafe own key "${key}" is not allowed in MCP arguments.`,
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
const descriptor = Object.getOwnPropertyDescriptor(value, key);
|
|
156
|
+
if (!descriptor) {
|
|
157
|
+
return {
|
|
158
|
+
path: propertyPath,
|
|
159
|
+
message: "Unreadable input properties are not valid MCP JSON arguments.",
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
if (!("value" in descriptor)) {
|
|
163
|
+
return {
|
|
164
|
+
path: propertyPath,
|
|
165
|
+
message: "Accessor input properties are not valid MCP JSON arguments.",
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
const nestedIssue = findUnsafeInputSurface(descriptor.value, propertyPath, state);
|
|
169
|
+
if (nestedIssue)
|
|
170
|
+
return nestedIssue;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
finally {
|
|
174
|
+
state.ancestors.delete(value);
|
|
175
|
+
}
|
|
176
|
+
return null;
|
|
177
|
+
}
|
|
178
|
+
function guardedObjectInputSchema(shape, options = {}) {
|
|
179
|
+
const runtimeSchema = options.strict
|
|
180
|
+
? z.object(shape).strict()
|
|
181
|
+
: z.object(shape);
|
|
182
|
+
// MCP advertises a closed-world contract even for legacy tools whose
|
|
183
|
+
// runtime compatibility behavior still strips unknown caller fields.
|
|
184
|
+
const advertisedSchema = z.object(shape).strict();
|
|
185
|
+
const { $schema: _schema, ...advertisedJsonSchema } = z.toJSONSchema(advertisedSchema, { target: "draft-7", io: "input" });
|
|
186
|
+
const guardedSchema = z
|
|
187
|
+
.preprocess((value, context) => {
|
|
188
|
+
const unsafeSurface = findUnsafeInputSurface(value);
|
|
189
|
+
if (unsafeSurface) {
|
|
190
|
+
context.addIssue({
|
|
191
|
+
code: "custom",
|
|
192
|
+
path: unsafeSurface.path,
|
|
193
|
+
message: unsafeSurface.message,
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
return value;
|
|
197
|
+
}, runtimeSchema)
|
|
198
|
+
.meta(advertisedJsonSchema);
|
|
199
|
+
// The MCP SDK only advertises schemas it recognizes as object-shaped. A
|
|
200
|
+
// Zod preprocess is a pipe even when its output is an object, so provide the
|
|
201
|
+
// already-advertised shape marker without changing Zod's raw-input parser.
|
|
202
|
+
Object.defineProperty(guardedSchema._zod.def, "shape", {
|
|
203
|
+
configurable: false,
|
|
204
|
+
enumerable: false,
|
|
205
|
+
value: shape,
|
|
206
|
+
writable: false,
|
|
207
|
+
});
|
|
208
|
+
return guardedSchema;
|
|
209
|
+
}
|
|
210
|
+
function installRawToolCallOwnKeyGuard(server) {
|
|
211
|
+
const guardedCallToolRequestSchema = z.preprocess((value) => {
|
|
212
|
+
const unsafeSurface = findUnsafeInputSurface(value);
|
|
213
|
+
if (unsafeSurface) {
|
|
214
|
+
throw new McpError(ErrorCode.InvalidParams, `${unsafeSurface.message} Path: ${JSON.stringify(unsafeSurface.path)}.`);
|
|
215
|
+
}
|
|
216
|
+
return value;
|
|
217
|
+
}, CallToolRequestSchema);
|
|
218
|
+
Object.defineProperty(guardedCallToolRequestSchema._zod.def, "shape", {
|
|
219
|
+
configurable: false,
|
|
220
|
+
enumerable: false,
|
|
221
|
+
value: CallToolRequestSchema._zod.def.shape,
|
|
222
|
+
writable: false,
|
|
223
|
+
});
|
|
224
|
+
const protocol = server.server;
|
|
225
|
+
const originalSetRequestHandler = protocol.setRequestHandler;
|
|
226
|
+
const invokeSetRequestHandler = originalSetRequestHandler;
|
|
227
|
+
protocol.setRequestHandler = ((requestSchema, handler) => {
|
|
228
|
+
invokeSetRequestHandler.call(protocol, requestSchema === CallToolRequestSchema
|
|
229
|
+
? guardedCallToolRequestSchema
|
|
230
|
+
: requestSchema, handler);
|
|
231
|
+
});
|
|
232
|
+
return () => {
|
|
233
|
+
protocol.setRequestHandler = originalSetRequestHandler;
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
const safeObjectKeySchema = z
|
|
237
|
+
.string()
|
|
238
|
+
.max(T2K_MCP_PUBLIC_INPUT_LIMITS.maxPropertyKeyLength)
|
|
239
|
+
.refine((value) => !unsafeObjectKeys.has(value), "Unsafe object key is not allowed.");
|
|
240
|
+
const safeNonBlankObjectKeySchema = nonBlankStringSchema.refine((value) => !unsafeObjectKeys.has(value), "Unsafe object key is not allowed.");
|
|
241
|
+
const sha256Schema = z.string().regex(/^[a-f0-9]{64}$/);
|
|
242
|
+
const strictJsonValueSchema = z.lazy(() => z.union([
|
|
243
|
+
z.null(),
|
|
244
|
+
z.string(),
|
|
245
|
+
z.number().finite(),
|
|
246
|
+
z.boolean(),
|
|
247
|
+
z.array(strictJsonValueSchema),
|
|
248
|
+
z.record(safeObjectKeySchema, strictJsonValueSchema),
|
|
249
|
+
]));
|
|
250
|
+
const strictJsonObjectSchema = z.record(safeObjectKeySchema, strictJsonValueSchema);
|
|
251
|
+
const normalizedNonBlankStringSchema = nonBlankStringSchema.overwrite((value) => value.trim());
|
|
252
|
+
const uniqueNonBlankStringsSchema = z
|
|
253
|
+
.array(nonBlankStringSchema)
|
|
254
|
+
.refine((values) => new Set(values).size === values.length, "Values must be unique.");
|
|
255
|
+
const normalizedUniqueNonBlankStringsSchema = z
|
|
256
|
+
.array(normalizedNonBlankStringSchema)
|
|
257
|
+
.refine((values) => new Set(values).size === values.length, "Values must be unique after trimming.");
|
|
258
|
+
const nonEmptyUniqueStringsSchema = uniqueNonBlankStringsSchema.min(1);
|
|
259
|
+
const nonEmptyNormalizedUniqueStringsSchema = normalizedUniqueNonBlankStringsSchema.min(1);
|
|
260
|
+
const sourceAuthenticationStateSchema = z.enum(SOURCE_AUTHENTICATION_STATES);
|
|
261
|
+
const sourceNormalizationSchema = z.enum([
|
|
262
|
+
"trim",
|
|
263
|
+
"collapse_whitespace",
|
|
264
|
+
"lowercase",
|
|
265
|
+
"uppercase",
|
|
266
|
+
"digits_only",
|
|
267
|
+
"iso_date",
|
|
268
|
+
]);
|
|
269
|
+
const sourceConflictPolicySchema = z.enum([
|
|
270
|
+
"preserve_all",
|
|
271
|
+
"prefer_authority",
|
|
272
|
+
"require_review",
|
|
273
|
+
]);
|
|
274
|
+
const sourceFieldMappingSchema = z
|
|
275
|
+
.object({
|
|
276
|
+
sourcePath: nonBlankStringSchema,
|
|
277
|
+
targetProperty: safeNonBlankObjectKeySchema,
|
|
278
|
+
required: z.boolean(),
|
|
279
|
+
normalizations: z.array(sourceNormalizationSchema),
|
|
280
|
+
valueMap: z.record(safeObjectKeySchema, z.union([z.null(), z.string(), z.number().finite(), z.boolean()])),
|
|
281
|
+
authorityDomain: safeNonBlankObjectKeySchema,
|
|
282
|
+
conflictPolicy: sourceConflictPolicySchema,
|
|
283
|
+
})
|
|
284
|
+
.strict();
|
|
285
|
+
const sourceMappingSchema = z
|
|
286
|
+
.object({
|
|
287
|
+
id: nonBlankStringSchema,
|
|
288
|
+
mappingVersion: nonBlankStringSchema.optional(),
|
|
289
|
+
sourceType: nonBlankStringSchema,
|
|
290
|
+
sourceLocator: nonBlankStringSchema,
|
|
291
|
+
sourceSystem: nonBlankStringSchema.optional(),
|
|
292
|
+
sourceLocatorMatch: z.enum(["exact", "prefix"]).optional(),
|
|
293
|
+
acceptedAuthorityRefs: nonEmptyNormalizedUniqueStringsSchema.optional(),
|
|
294
|
+
sourceSchemaVersion: nonBlankStringSchema.optional(),
|
|
295
|
+
fields: z.string().optional(),
|
|
296
|
+
object: nonBlankStringSchema,
|
|
297
|
+
properties: z.string().optional(),
|
|
298
|
+
transform: z.string().optional(),
|
|
299
|
+
fieldMappings: z.array(sourceFieldMappingSchema).min(1).optional(),
|
|
300
|
+
targetIdentity: z
|
|
301
|
+
.array(safeNonBlankObjectKeySchema)
|
|
302
|
+
.min(1)
|
|
303
|
+
.refine((values) => new Set(values).size === values.length, "Values must be unique.")
|
|
304
|
+
.optional(),
|
|
305
|
+
idempotencyPath: nonBlankStringSchema.optional(),
|
|
306
|
+
eventTimePath: nonBlankStringSchema.optional(),
|
|
307
|
+
observedTimePath: nonBlankStringSchema.optional(),
|
|
308
|
+
authority: nonBlankStringSchema,
|
|
309
|
+
riskTier: z.string().optional(),
|
|
310
|
+
reviewStatus: nonBlankStringSchema,
|
|
311
|
+
driftPolicy: z
|
|
312
|
+
.enum(["reject", "quarantine", "allow_with_review"])
|
|
313
|
+
.optional(),
|
|
314
|
+
lateArrivalPolicy: z
|
|
315
|
+
.enum(["reject", "quarantine", "accept_with_review"])
|
|
316
|
+
.optional(),
|
|
317
|
+
humanCheckpoint: z.enum(["always", "on_issue", "none"]).optional(),
|
|
318
|
+
replayable: z.boolean().optional(),
|
|
319
|
+
})
|
|
320
|
+
.strict()
|
|
321
|
+
.superRefine((mapping, context) => {
|
|
322
|
+
if (mapping.fieldMappings !== undefined) {
|
|
323
|
+
for (const field of [
|
|
324
|
+
"mappingVersion",
|
|
325
|
+
"sourceSchemaVersion",
|
|
326
|
+
"targetIdentity",
|
|
327
|
+
"driftPolicy",
|
|
328
|
+
"lateArrivalPolicy",
|
|
329
|
+
"humanCheckpoint",
|
|
330
|
+
"replayable",
|
|
331
|
+
]) {
|
|
332
|
+
if (mapping[field] === undefined) {
|
|
333
|
+
context.addIssue({
|
|
334
|
+
code: "custom",
|
|
335
|
+
path: [field],
|
|
336
|
+
message: `An executable mapping requires ${field}.`,
|
|
337
|
+
});
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
if (mapping.replayable && !mapping.idempotencyPath) {
|
|
342
|
+
context.addIssue({
|
|
343
|
+
code: "custom",
|
|
344
|
+
path: ["idempotencyPath"],
|
|
345
|
+
message: "A replayable mapping requires idempotencyPath.",
|
|
346
|
+
});
|
|
347
|
+
}
|
|
348
|
+
});
|
|
349
|
+
const federatedSourceEnvelopeSchema = z
|
|
350
|
+
.object({
|
|
351
|
+
sourceSystem: nonBlankStringSchema,
|
|
352
|
+
sourceLocator: nonBlankStringSchema,
|
|
353
|
+
sourceRecordKey: nonBlankStringSchema,
|
|
354
|
+
sourceSchemaVersion: nonBlankStringSchema,
|
|
355
|
+
payload: strictJsonObjectSchema,
|
|
356
|
+
eventTime: nonBlankStringSchema,
|
|
357
|
+
observedTime: nonBlankStringSchema,
|
|
358
|
+
authenticationState: sourceAuthenticationStateSchema,
|
|
359
|
+
authorityRef: nonBlankStringSchema,
|
|
360
|
+
dataClassification: nonBlankStringSchema,
|
|
361
|
+
purposeTags: nonEmptyUniqueStringsSchema,
|
|
362
|
+
retentionPolicy: strictJsonObjectSchema,
|
|
363
|
+
contentHash: sha256Schema.optional(),
|
|
364
|
+
})
|
|
365
|
+
.strict();
|
|
366
|
+
const acceptedIdempotencyRecordSchema = z
|
|
367
|
+
.object({
|
|
368
|
+
idempotencyKey: sha256Schema,
|
|
369
|
+
sourcePayloadHash: sha256Schema,
|
|
370
|
+
canonicalOutputHash: sha256Schema,
|
|
371
|
+
})
|
|
372
|
+
.strict();
|
|
373
|
+
const governedSourceMappingToolInputSchema = guardedObjectInputSchema({
|
|
374
|
+
mapping: sourceMappingSchema,
|
|
375
|
+
envelope: federatedSourceEnvelopeSchema,
|
|
376
|
+
expectedMappingHash: sha256Schema.optional(),
|
|
377
|
+
latestAcceptedEventTime: nonBlankStringSchema.nullable().optional(),
|
|
378
|
+
acceptedIdempotencyRecords: z
|
|
379
|
+
.array(acceptedIdempotencyRecordSchema)
|
|
380
|
+
.max(T2K_MCP_PUBLIC_INPUT_LIMITS.maxCollectionEntries)
|
|
381
|
+
.optional(),
|
|
382
|
+
}, { strict: true });
|
|
383
|
+
const sourceMappingIssueSchema = z
|
|
384
|
+
.object({
|
|
385
|
+
code: nonBlankStringSchema,
|
|
386
|
+
severity: z.enum(["error", "review", "warning"]),
|
|
387
|
+
message: nonBlankStringSchema,
|
|
388
|
+
sourcePath: z.string().nullable(),
|
|
389
|
+
targetProperty: z.string().nullable(),
|
|
390
|
+
})
|
|
391
|
+
.strict();
|
|
392
|
+
const canonicalFieldProvenanceSchema = z
|
|
393
|
+
.object({
|
|
394
|
+
sourceSystem: z.string(),
|
|
395
|
+
sourceLocator: z.string(),
|
|
396
|
+
sourceRecordKey: z.string(),
|
|
397
|
+
sourceSchemaVersion: z.string(),
|
|
398
|
+
sourcePath: z.string(),
|
|
399
|
+
sourceValueHash: sha256Schema,
|
|
400
|
+
sourcePayloadHash: sha256Schema,
|
|
401
|
+
mappingId: z.string(),
|
|
402
|
+
mappingHash: sha256Schema,
|
|
403
|
+
eventTime: z.string(),
|
|
404
|
+
observedTime: z.string(),
|
|
405
|
+
authenticationState: sourceAuthenticationStateSchema,
|
|
406
|
+
authorityRef: z.string(),
|
|
407
|
+
authorityDomain: safeNonBlankObjectKeySchema,
|
|
408
|
+
dataClassification: z.string(),
|
|
409
|
+
purposeTags: z.array(z.string()),
|
|
410
|
+
retentionPolicy: strictJsonObjectSchema,
|
|
411
|
+
})
|
|
412
|
+
.strict();
|
|
413
|
+
const canonicalFieldValueSchema = z
|
|
414
|
+
.object({
|
|
415
|
+
propertyRef: safeNonBlankObjectKeySchema,
|
|
416
|
+
value: strictJsonValueSchema,
|
|
417
|
+
conflictPolicy: sourceConflictPolicySchema,
|
|
418
|
+
provenance: canonicalFieldProvenanceSchema,
|
|
419
|
+
})
|
|
420
|
+
.strict();
|
|
421
|
+
const federatedCanonicalRecordSchema = z
|
|
422
|
+
.object({
|
|
423
|
+
objectRef: z.string(),
|
|
424
|
+
identity: z.record(safeNonBlankObjectKeySchema, strictJsonValueSchema),
|
|
425
|
+
fields: z.array(canonicalFieldValueSchema),
|
|
426
|
+
})
|
|
427
|
+
.strict();
|
|
428
|
+
const sourceMappingReceiptSchema = z
|
|
429
|
+
.object({
|
|
430
|
+
receiptVersion: z.literal("t2k.source-mapping-receipt.v1"),
|
|
431
|
+
status: z.enum(["mapped", "quarantined", "rejected", "duplicate"]),
|
|
432
|
+
sourceSystem: z.string(),
|
|
433
|
+
sourceLocator: z.string(),
|
|
434
|
+
sourceRecordKey: z.string(),
|
|
435
|
+
sourceSchemaVersion: z.string(),
|
|
436
|
+
authenticationState: sourceAuthenticationStateSchema,
|
|
437
|
+
authorityRef: z.string(),
|
|
438
|
+
dataClassification: z.string(),
|
|
439
|
+
purposeTags: z.array(z.string()),
|
|
440
|
+
retentionPolicy: strictJsonObjectSchema,
|
|
441
|
+
mappingId: z.string(),
|
|
442
|
+
mappingVersion: z.string(),
|
|
443
|
+
mappingHash: sha256Schema,
|
|
444
|
+
sourcePayloadHash: sha256Schema,
|
|
445
|
+
canonicalOutputHash: sha256Schema,
|
|
446
|
+
idempotencyKey: sha256Schema,
|
|
447
|
+
eventTime: z.string(),
|
|
448
|
+
observedTime: z.string(),
|
|
449
|
+
lateArrival: z.boolean(),
|
|
450
|
+
duplicate: z.boolean(),
|
|
451
|
+
humanReviewRequired: z.boolean(),
|
|
452
|
+
driftPolicy: z.enum(["reject", "quarantine", "allow_with_review"]),
|
|
453
|
+
lateArrivalPolicy: z.enum(["reject", "quarantine", "accept_with_review"]),
|
|
454
|
+
issues: z.array(sourceMappingIssueSchema),
|
|
455
|
+
receiptHash: sha256Schema,
|
|
456
|
+
})
|
|
457
|
+
.strict();
|
|
458
|
+
const executeSourceMappingResultSchema = z
|
|
459
|
+
.object({
|
|
460
|
+
canonicalRecord: federatedCanonicalRecordSchema,
|
|
461
|
+
receipt: sourceMappingReceiptSchema,
|
|
462
|
+
})
|
|
463
|
+
.strict();
|
|
464
|
+
const canonicalAuthorityPolicySchema = z
|
|
465
|
+
.object({
|
|
466
|
+
policyId: nonBlankStringSchema,
|
|
467
|
+
policyVersion: nonBlankStringSchema,
|
|
468
|
+
prioritiesByDomain: z.record(safeNonBlankObjectKeySchema, nonEmptyUniqueStringsSchema),
|
|
469
|
+
})
|
|
470
|
+
.strict();
|
|
471
|
+
const canonicalReconciliationToolInputSchema = guardedObjectInputSchema({
|
|
472
|
+
results: z.array(executeSourceMappingResultSchema).min(1),
|
|
473
|
+
authorityPolicy: canonicalAuthorityPolicySchema,
|
|
474
|
+
}, { strict: true });
|
|
475
|
+
const entityIdentifierValueSchema = z.union([
|
|
476
|
+
nonBlankStringSchema,
|
|
477
|
+
z.number().finite(),
|
|
478
|
+
]);
|
|
479
|
+
const entityIdentifiersSchema = z
|
|
480
|
+
.record(safeNonBlankObjectKeySchema, entityIdentifierValueSchema)
|
|
481
|
+
.refine((identifiers) => Object.keys(identifiers).length > 0, "At least one identifier is required.");
|
|
482
|
+
const entityCandidateSchema = z
|
|
483
|
+
.object({
|
|
484
|
+
entityKey: nonBlankStringSchema,
|
|
485
|
+
identifiers: entityIdentifiersSchema,
|
|
486
|
+
})
|
|
487
|
+
.strict();
|
|
488
|
+
const entityRuleSchema = z
|
|
489
|
+
.object({
|
|
490
|
+
identifier: safeNonBlankObjectKeySchema,
|
|
491
|
+
weight: z.number().finite().positive(),
|
|
492
|
+
requiredForAutomaticMatch: z.boolean().optional(),
|
|
493
|
+
caseInsensitive: z.boolean().optional(),
|
|
494
|
+
})
|
|
495
|
+
.strict();
|
|
496
|
+
const entityLinkToolInputSchema = guardedObjectInputSchema({
|
|
497
|
+
sourceEntityKey: nonBlankStringSchema,
|
|
498
|
+
identifiers: entityIdentifiersSchema,
|
|
499
|
+
candidates: z
|
|
500
|
+
.array(entityCandidateSchema)
|
|
501
|
+
.refine((candidates) => new Set(candidates.map((candidate) => candidate.entityKey)).size ===
|
|
502
|
+
candidates.length, "Candidate entity keys must be unique."),
|
|
503
|
+
rules: z
|
|
504
|
+
.array(entityRuleSchema)
|
|
505
|
+
.min(1)
|
|
506
|
+
.refine((rules) => new Set(rules.map((rule) => rule.identifier)).size === rules.length, "Rule identifiers must be unique."),
|
|
507
|
+
automaticMatchThreshold: z.number().finite().positive().max(1).optional(),
|
|
508
|
+
reviewThreshold: z.number().finite().positive().max(1).optional(),
|
|
509
|
+
ambiguityMargin: z.number().finite().positive().max(1).optional(),
|
|
510
|
+
}, { strict: true });
|
|
511
|
+
const purposeAccessRuleSchema = z
|
|
512
|
+
.object({
|
|
513
|
+
ruleId: nonBlankStringSchema,
|
|
514
|
+
effect: z.enum(["allow", "deny"]),
|
|
515
|
+
roles: nonEmptyUniqueStringsSchema.optional(),
|
|
516
|
+
purposes: nonEmptyUniqueStringsSchema.optional(),
|
|
517
|
+
subjectRelationships: nonEmptyUniqueStringsSchema.optional(),
|
|
518
|
+
dataCategories: nonEmptyUniqueStringsSchema.optional(),
|
|
519
|
+
jurisdictions: nonEmptyUniqueStringsSchema.optional(),
|
|
520
|
+
attributeEquals: strictJsonObjectSchema
|
|
521
|
+
.refine((attributes) => Object.keys(attributes).length > 0, "attributeEquals must not be empty.")
|
|
522
|
+
.optional(),
|
|
523
|
+
effectiveFrom: nonBlankStringSchema.optional(),
|
|
524
|
+
effectiveTo: nonBlankStringSchema.optional(),
|
|
525
|
+
reason: nonBlankStringSchema,
|
|
526
|
+
})
|
|
527
|
+
.strict();
|
|
528
|
+
const purposeAccessPolicySchema = z
|
|
529
|
+
.object({
|
|
530
|
+
policyId: nonBlankStringSchema,
|
|
531
|
+
policyVersion: nonBlankStringSchema,
|
|
532
|
+
defaultEffect: z.literal("deny"),
|
|
533
|
+
rules: z
|
|
534
|
+
.array(purposeAccessRuleSchema)
|
|
535
|
+
.refine((rules) => new Set(rules.map((rule) => rule.ruleId)).size === rules.length, "Rule IDs must be unique."),
|
|
536
|
+
})
|
|
537
|
+
.strict();
|
|
538
|
+
const purposeAccessRequestSchema = z
|
|
539
|
+
.object({
|
|
540
|
+
requestKey: nonBlankStringSchema,
|
|
541
|
+
principalId: nonBlankStringSchema,
|
|
542
|
+
principalRoles: nonEmptyUniqueStringsSchema,
|
|
543
|
+
purpose: nonBlankStringSchema,
|
|
544
|
+
subjectRef: nonBlankStringSchema,
|
|
545
|
+
subjectRelationship: nonBlankStringSchema,
|
|
546
|
+
dataCategories: nonEmptyUniqueStringsSchema,
|
|
547
|
+
jurisdiction: nonBlankStringSchema,
|
|
548
|
+
requestedAt: nonBlankStringSchema,
|
|
549
|
+
sourceRecordRefs: nonEmptyUniqueStringsSchema,
|
|
550
|
+
attributes: strictJsonObjectSchema.optional(),
|
|
551
|
+
})
|
|
552
|
+
.strict();
|
|
553
|
+
const purposeLimitedAccessToolInputSchema = guardedObjectInputSchema({
|
|
554
|
+
policy: purposeAccessPolicySchema,
|
|
555
|
+
request: purposeAccessRequestSchema,
|
|
556
|
+
}, { strict: true });
|
|
54
557
|
const readOnlyAnnotations = {
|
|
55
558
|
readOnlyHint: true,
|
|
56
559
|
destructiveHint: false,
|
|
@@ -110,39 +613,46 @@ function registerSemanticTools(server, logger) {
|
|
|
110
613
|
server.registerTool("validate_ontology_pack", {
|
|
111
614
|
title: "Validate T2K ontology pack",
|
|
112
615
|
description: "Validate one ontology-pack manifest against the exact public T2K schema.",
|
|
113
|
-
inputSchema: { manifest: z.unknown() },
|
|
616
|
+
inputSchema: guardedObjectInputSchema({ manifest: z.unknown() }),
|
|
114
617
|
outputSchema,
|
|
115
618
|
annotations: readOnlyAnnotations,
|
|
116
619
|
}, protectedTool(logger, ({ manifest }) => validateOntologyPackManifest(manifest)));
|
|
117
620
|
server.registerTool("compile_ontology_pack_set", {
|
|
118
621
|
title: "Compile T2K ontology packs",
|
|
119
622
|
description: "Resolve and compile ontology-pack manifests deterministically from explicit roots and context values.",
|
|
120
|
-
inputSchema: {
|
|
121
|
-
manifests: z.array(z.unknown()),
|
|
122
|
-
roots: z.array(z.object({
|
|
623
|
+
inputSchema: guardedObjectInputSchema({
|
|
624
|
+
manifests: z.array(z.unknown()).max(128),
|
|
625
|
+
roots: z.array(z.object({
|
|
626
|
+
ontologyId: z.string().min(1),
|
|
627
|
+
version: z.string().min(1),
|
|
628
|
+
})).max(64),
|
|
629
|
+
mode: z.enum(["authoring", "deployment"]).optional(),
|
|
123
630
|
contextValues: jsonObjectSchema.optional(),
|
|
124
|
-
},
|
|
631
|
+
}),
|
|
125
632
|
outputSchema,
|
|
126
633
|
annotations: readOnlyAnnotations,
|
|
127
634
|
}, protectedTool(logger, (input) => compileOntologyPackSet(input)));
|
|
128
635
|
server.registerTool("evaluate_reference_policy", {
|
|
129
636
|
title: "Evaluate T2K reference policy",
|
|
130
637
|
description: "Compute an action from an executable reference-policy specification and a state snapshot.",
|
|
131
|
-
inputSchema: {
|
|
638
|
+
inputSchema: guardedObjectInputSchema({
|
|
132
639
|
specification: jsonObjectSchema,
|
|
133
640
|
state: jsonObjectSchema,
|
|
134
|
-
},
|
|
641
|
+
}),
|
|
135
642
|
outputSchema,
|
|
136
643
|
annotations: readOnlyAnnotations,
|
|
137
644
|
}, protectedTool(logger, (input) => evaluateReferencePolicy(asJsonObject(input.specification), asJsonObject(input.state))));
|
|
138
645
|
server.registerTool("evaluate_reference_replay", {
|
|
139
646
|
title: "Evaluate held-out policy replay",
|
|
140
647
|
description: "Compute held-out inverse-propensity replay for a candidate and baseline; no caller-supplied verdict is accepted.",
|
|
141
|
-
inputSchema: {
|
|
648
|
+
inputSchema: guardedObjectInputSchema({
|
|
142
649
|
candidateSpecification: jsonObjectSchema,
|
|
143
650
|
baselineSpecification: jsonObjectSchema,
|
|
144
|
-
episodes: z
|
|
145
|
-
|
|
651
|
+
episodes: z
|
|
652
|
+
.array(z.unknown())
|
|
653
|
+
.min(1)
|
|
654
|
+
.max(T2K_MCP_PUBLIC_INPUT_LIMITS.maxCollectionEntries),
|
|
655
|
+
}),
|
|
146
656
|
outputSchema,
|
|
147
657
|
annotations: readOnlyAnnotations,
|
|
148
658
|
}, protectedTool(logger, (input) => evaluateReferenceReplay({
|
|
@@ -153,22 +663,65 @@ function registerSemanticTools(server, logger) {
|
|
|
153
663
|
server.registerTool("evaluate_reference_reward", {
|
|
154
664
|
title: "Evaluate governed reward",
|
|
155
665
|
description: "Compute a reward vector and guardrail-aware scalar from a declared reward specification and observations.",
|
|
156
|
-
inputSchema: {
|
|
157
|
-
rewardSpec: z.array(z.unknown()).min(1),
|
|
158
|
-
observations: z
|
|
159
|
-
|
|
666
|
+
inputSchema: guardedObjectInputSchema({
|
|
667
|
+
rewardSpec: z.array(z.unknown()).min(1).max(256),
|
|
668
|
+
observations: z
|
|
669
|
+
.array(z.unknown())
|
|
670
|
+
.max(T2K_MCP_PUBLIC_INPUT_LIMITS.maxCollectionEntries),
|
|
671
|
+
evidenceMode: z.enum(["legacy", "strict"]).optional(),
|
|
672
|
+
}),
|
|
160
673
|
outputSchema,
|
|
161
674
|
annotations: readOnlyAnnotations,
|
|
162
675
|
}, protectedTool(logger, (input) => evaluateReferenceReward({
|
|
163
676
|
rewardSpec: input.rewardSpec,
|
|
164
677
|
observations: input.observations,
|
|
678
|
+
evidenceMode: input.evidenceMode,
|
|
679
|
+
})));
|
|
680
|
+
server.registerTool("map_governed_source_record", {
|
|
681
|
+
title: "Map governed source record",
|
|
682
|
+
description: "Deterministically map one supplied source envelope with an explicit governed mapping. Returns a canonical-record proposal and receipt only; it does not fetch, persist, authenticate, or accept the proposed facts as truth.",
|
|
683
|
+
inputSchema: governedSourceMappingToolInputSchema,
|
|
684
|
+
outputSchema,
|
|
685
|
+
annotations: readOnlyAnnotations,
|
|
686
|
+
}, protectedTool(logger, (input) => executeSourceMapping({
|
|
687
|
+
mapping: input.mapping,
|
|
688
|
+
envelope: input.envelope,
|
|
689
|
+
expectedMappingHash: input.expectedMappingHash,
|
|
690
|
+
latestAcceptedEventTime: input.latestAcceptedEventTime,
|
|
691
|
+
acceptedIdempotencyRecords: input.acceptedIdempotencyRecords,
|
|
165
692
|
})));
|
|
693
|
+
server.registerTool("propose_canonical_reconciliation", {
|
|
694
|
+
title: "Propose canonical reconciliation",
|
|
695
|
+
description: "Produce a deterministic, non-mutating reconciliation proposal from supplied mapping results and an explicit authority policy. Alternatives and evidence remain preserved; no source value is accepted, persisted, or promoted to truth.",
|
|
696
|
+
inputSchema: canonicalReconciliationToolInputSchema,
|
|
697
|
+
outputSchema,
|
|
698
|
+
annotations: readOnlyAnnotations,
|
|
699
|
+
}, protectedTool(logger, (input) => reconcileCanonicalRecords({
|
|
700
|
+
results: input.results,
|
|
701
|
+
authorityPolicy: input.authorityPolicy,
|
|
702
|
+
})));
|
|
703
|
+
server.registerTool("propose_entity_link", {
|
|
704
|
+
title: "Propose entity link",
|
|
705
|
+
description: "Score supplied candidate identifiers and return a reversible entity-link proposal. It never creates, mutates, or merges entities; ambiguous evidence routes to review.",
|
|
706
|
+
inputSchema: entityLinkToolInputSchema,
|
|
707
|
+
outputSchema,
|
|
708
|
+
annotations: readOnlyAnnotations,
|
|
709
|
+
}, protectedTool(logger, (input) => resolveEntityCandidates(input)));
|
|
710
|
+
server.registerTool("evaluate_purpose_limited_access", {
|
|
711
|
+
title: "Evaluate purpose-limited access",
|
|
712
|
+
description: "Evaluate a supplied default-deny purpose-access policy and return a deterministic receipt. The result is not authentication, authorization enforcement, a credential, or permission to disclose data.",
|
|
713
|
+
inputSchema: purposeLimitedAccessToolInputSchema,
|
|
714
|
+
outputSchema,
|
|
715
|
+
annotations: readOnlyAnnotations,
|
|
716
|
+
}, protectedTool(logger, (input) => evaluatePurposeLimitedAccess(input.policy, input.request)));
|
|
166
717
|
}
|
|
167
718
|
function registerLifecycleReadTools(server, lifecycle, logger) {
|
|
168
719
|
server.registerTool("get_active_policy", {
|
|
169
720
|
title: "Get active T2K policy",
|
|
170
721
|
description: "Read the deployed policy bound to a decision type.",
|
|
171
|
-
inputSchema: {
|
|
722
|
+
inputSchema: guardedObjectInputSchema({
|
|
723
|
+
decisionType: z.string().min(1),
|
|
724
|
+
}),
|
|
172
725
|
outputSchema,
|
|
173
726
|
annotations: readOnlyAnnotations,
|
|
174
727
|
}, protectedTool(logger, ({ decisionType }) => lifecycle.getActivePolicy(decisionType)));
|
|
@@ -189,19 +742,19 @@ function registerLifecycleMutationTools(server, lifecycle, actor, logger) {
|
|
|
189
742
|
server.registerTool("create_reasoning_policy", {
|
|
190
743
|
title: "Create T2K reasoning policy",
|
|
191
744
|
description: "Create a local reasoning-policy family as the configured MCP agent.",
|
|
192
|
-
inputSchema: {
|
|
745
|
+
inputSchema: guardedObjectInputSchema({
|
|
193
746
|
policyKey: z.string().min(1),
|
|
194
747
|
label: z.string().min(1),
|
|
195
748
|
description: z.string().optional(),
|
|
196
749
|
decisionType: z.string().min(1),
|
|
197
|
-
},
|
|
750
|
+
}),
|
|
198
751
|
outputSchema,
|
|
199
752
|
annotations: mutationAnnotations,
|
|
200
753
|
}, protectedTool(logger, (input) => lifecycle.createPolicy(input, actor)));
|
|
201
754
|
server.registerTool("propose_policy_version", {
|
|
202
755
|
title: "Propose T2K policy version",
|
|
203
756
|
description: "Propose an executable local policy version. Acceptance and deployment remain human-only outside MCP.",
|
|
204
|
-
inputSchema: {
|
|
757
|
+
inputSchema: guardedObjectInputSchema({
|
|
205
758
|
policyKey: z.string().min(1),
|
|
206
759
|
policyVersion: z.string().min(1),
|
|
207
760
|
learningMode: learningModeSchema,
|
|
@@ -209,7 +762,7 @@ function registerLifecycleMutationTools(server, lifecycle, actor, logger) {
|
|
|
209
762
|
rewardSpec: z.array(z.unknown()).min(1),
|
|
210
763
|
parentVersionId: z.string().nullable().optional(),
|
|
211
764
|
rationale: z.string().min(1),
|
|
212
|
-
},
|
|
765
|
+
}),
|
|
213
766
|
outputSchema,
|
|
214
767
|
annotations: mutationAnnotations,
|
|
215
768
|
}, protectedTool(logger, (input) => lifecycle.createPolicyVersion(input.policyKey, {
|
|
@@ -223,7 +776,7 @@ function registerLifecycleMutationTools(server, lifecycle, actor, logger) {
|
|
|
223
776
|
server.registerTool("create_decision_context", {
|
|
224
777
|
title: "Create T2K Decision Context",
|
|
225
778
|
description: "Freeze current state, objective, constraints, authority, policy binding, and learning contract.",
|
|
226
|
-
inputSchema: {
|
|
779
|
+
inputSchema: guardedObjectInputSchema({
|
|
227
780
|
contextKey: z.string().min(1),
|
|
228
781
|
question: z.string().min(1),
|
|
229
782
|
decisionType: z.string().min(1),
|
|
@@ -232,7 +785,7 @@ function registerLifecycleMutationTools(server, lifecycle, actor, logger) {
|
|
|
232
785
|
constraints: z.array(z.unknown()).optional(),
|
|
233
786
|
requiredAuthority: jsonObjectSchema.optional(),
|
|
234
787
|
learningContract: jsonObjectSchema,
|
|
235
|
-
},
|
|
788
|
+
}),
|
|
236
789
|
outputSchema,
|
|
237
790
|
annotations: mutationAnnotations,
|
|
238
791
|
}, protectedTool(logger, (input) => lifecycle.createDecisionContext({
|
|
@@ -250,13 +803,13 @@ function registerLifecycleMutationTools(server, lifecycle, actor, logger) {
|
|
|
250
803
|
server.registerTool("compute_recommendation", {
|
|
251
804
|
title: "Compute T2K recommendation",
|
|
252
805
|
description: "Run the policy frozen in a Decision Context. Human authorization remains outside MCP.",
|
|
253
|
-
inputSchema: {
|
|
806
|
+
inputSchema: guardedObjectInputSchema({
|
|
254
807
|
contextKey: z.string().min(1),
|
|
255
808
|
recommendationKey: z.string().min(1),
|
|
256
809
|
behaviorProbability: z.number().positive().max(1).optional(),
|
|
257
810
|
rationale: z.string().optional(),
|
|
258
811
|
reasoningTrace: jsonObjectSchema.optional(),
|
|
259
|
-
},
|
|
812
|
+
}),
|
|
260
813
|
outputSchema,
|
|
261
814
|
annotations: mutationAnnotations,
|
|
262
815
|
}, protectedTool(logger, (input) => lifecycle.recommend(input.contextKey, {
|
|
@@ -270,20 +823,20 @@ function registerLifecycleMutationTools(server, lifecycle, actor, logger) {
|
|
|
270
823
|
server.registerTool("open_decision_episode", {
|
|
271
824
|
title: "Open T2K decision episode",
|
|
272
825
|
description: "Open an episode from an already human-authorized decision and its immutable context binding.",
|
|
273
|
-
inputSchema: {
|
|
826
|
+
inputSchema: guardedObjectInputSchema({
|
|
274
827
|
episodeKey: z.string().min(1),
|
|
275
828
|
contextKey: z.string().min(1),
|
|
276
829
|
authorizedDecisionId: z.string().min(1),
|
|
277
830
|
policyVersionId: z.string().optional(),
|
|
278
831
|
externalEffect: z.boolean().optional(),
|
|
279
|
-
},
|
|
832
|
+
}),
|
|
280
833
|
outputSchema,
|
|
281
834
|
annotations: mutationAnnotations,
|
|
282
835
|
}, protectedTool(logger, (input) => lifecycle.openEpisode(input, actor)));
|
|
283
836
|
server.registerTool("record_execution_receipt", {
|
|
284
837
|
title: "Record T2K execution receipt",
|
|
285
838
|
description: "Record connector evidence, reconciliation state, and rollback contract for an open episode.",
|
|
286
|
-
inputSchema: {
|
|
839
|
+
inputSchema: guardedObjectInputSchema({
|
|
287
840
|
episodeId: z.string().min(1),
|
|
288
841
|
receiptKey: z.string().min(1),
|
|
289
842
|
idempotencyKey: z.string().min(1),
|
|
@@ -297,7 +850,7 @@ function registerLifecycleMutationTools(server, lifecycle, actor, logger) {
|
|
|
297
850
|
rollbackContract: jsonObjectSchema.optional(),
|
|
298
851
|
reconciliationStatus: z.enum(["pending", "reconciled", "mismatch"]),
|
|
299
852
|
receivedAt: z.string().optional(),
|
|
300
|
-
},
|
|
853
|
+
}),
|
|
301
854
|
outputSchema,
|
|
302
855
|
annotations: mutationAnnotations,
|
|
303
856
|
}, protectedTool(logger, (input) => lifecycle.recordExecutionReceipt(input.episodeId, {
|
|
@@ -319,7 +872,7 @@ function registerLifecycleMutationTools(server, lifecycle, actor, logger) {
|
|
|
319
872
|
server.registerTool("record_observation", {
|
|
320
873
|
title: "Record T2K observation",
|
|
321
874
|
description: "Attach provenance-bearing outcome evidence to an open decision episode.",
|
|
322
|
-
inputSchema: {
|
|
875
|
+
inputSchema: guardedObjectInputSchema({
|
|
323
876
|
episodeId: z.string().min(1),
|
|
324
877
|
measureRef: z.string().min(1),
|
|
325
878
|
observedValue: z.unknown(),
|
|
@@ -330,7 +883,7 @@ function registerLifecycleMutationTools(server, lifecycle, actor, logger) {
|
|
|
330
883
|
provenance: jsonObjectSchema.optional(),
|
|
331
884
|
attributionConfidence: z.number().min(0).max(1).nullable().optional(),
|
|
332
885
|
observedAt: z.string().min(1),
|
|
333
|
-
},
|
|
886
|
+
}),
|
|
334
887
|
outputSchema,
|
|
335
888
|
annotations: mutationAnnotations,
|
|
336
889
|
}, protectedTool(logger, (input) => lifecycle.recordObservation(input.episodeId, {
|
|
@@ -349,11 +902,11 @@ function registerLifecycleMutationTools(server, lifecycle, actor, logger) {
|
|
|
349
902
|
server.registerTool("assess_reward", {
|
|
350
903
|
title: "Assess T2K reward",
|
|
351
904
|
description: "Compute the frozen reward contract from recorded observations; the caller cannot provide a verdict.",
|
|
352
|
-
inputSchema: {
|
|
905
|
+
inputSchema: guardedObjectInputSchema({
|
|
353
906
|
episodeId: z.string().min(1),
|
|
354
907
|
assessmentKey: z.string().min(1),
|
|
355
908
|
attribution: jsonObjectSchema.optional(),
|
|
356
|
-
},
|
|
909
|
+
}),
|
|
357
910
|
outputSchema,
|
|
358
911
|
annotations: mutationAnnotations,
|
|
359
912
|
}, protectedTool(logger, (input) => lifecycle.assessReward(input.episodeId, {
|
|
@@ -365,7 +918,7 @@ function registerLifecycleMutationTools(server, lifecycle, actor, logger) {
|
|
|
365
918
|
server.registerTool("propose_learning_candidate", {
|
|
366
919
|
title: "Propose T2K learning candidate",
|
|
367
920
|
description: "Propose a policy candidate from closed training episodes. Evaluation and promotion remain human-only outside MCP.",
|
|
368
|
-
inputSchema: {
|
|
921
|
+
inputSchema: guardedObjectInputSchema({
|
|
369
922
|
candidateKey: z.string().min(1),
|
|
370
923
|
policyKey: z.string().min(1),
|
|
371
924
|
sourcePolicyVersionId: z.string().min(1),
|
|
@@ -374,7 +927,7 @@ function registerLifecycleMutationTools(server, lifecycle, actor, logger) {
|
|
|
374
927
|
proposedRewardSpec: z.array(z.unknown()).min(1).optional(),
|
|
375
928
|
trainingEpisodeIds: z.array(z.string().min(1)).min(1),
|
|
376
929
|
rationale: z.string().min(1),
|
|
377
|
-
},
|
|
930
|
+
}),
|
|
378
931
|
outputSchema,
|
|
379
932
|
annotations: mutationAnnotations,
|
|
380
933
|
}, protectedTool(logger, (input) => lifecycle.createCandidate({
|
|
@@ -451,9 +1004,8 @@ export async function createT2kMcpRuntime(options = {}) {
|
|
|
451
1004
|
mutationToolsEnabled: allowMutations,
|
|
452
1005
|
actor,
|
|
453
1006
|
tools: [...tools],
|
|
454
|
-
omittedHumanGovernanceOperations: [
|
|
455
|
-
|
|
456
|
-
],
|
|
1007
|
+
omittedHumanGovernanceOperations: [...T2K_MCP_HUMAN_GOVERNANCE_OPERATIONS],
|
|
1008
|
+
inputLimits: T2K_MCP_PUBLIC_INPUT_LIMITS,
|
|
457
1009
|
};
|
|
458
1010
|
const server = new McpServer({
|
|
459
1011
|
name: options.serverName ?? "t2k-mcp",
|
|
@@ -497,11 +1049,17 @@ export async function createT2kMcpRuntime(options = {}) {
|
|
|
497
1049
|
};
|
|
498
1050
|
});
|
|
499
1051
|
}
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
1052
|
+
const restoreSetRequestHandler = installRawToolCallOwnKeyGuard(server);
|
|
1053
|
+
try {
|
|
1054
|
+
registerSemanticTools(server, logger);
|
|
1055
|
+
if (lifecycle)
|
|
1056
|
+
registerLifecycleReadTools(server, lifecycle, logger);
|
|
1057
|
+
if (lifecycle && actor) {
|
|
1058
|
+
registerLifecycleMutationTools(server, lifecycle, actor, logger);
|
|
1059
|
+
}
|
|
1060
|
+
}
|
|
1061
|
+
finally {
|
|
1062
|
+
restoreSetRequestHandler();
|
|
505
1063
|
}
|
|
506
1064
|
let closed = false;
|
|
507
1065
|
return {
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@t2kai/mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "A safe local MCP adapter for the open T2K governed-decision runtime.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"keywords": [
|
|
@@ -55,8 +55,8 @@
|
|
|
55
55
|
},
|
|
56
56
|
"dependencies": {
|
|
57
57
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
58
|
-
"@t2kai/core": "^0.
|
|
59
|
-
"zod": "
|
|
58
|
+
"@t2kai/core": "^0.4.4",
|
|
59
|
+
"zod": "4.4.3"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
62
62
|
"@types/node": "^25.3.5",
|