@axonity-ai/mcp 0.20.1 → 0.21.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 CHANGED
@@ -386,9 +386,11 @@ across these routes — the tool parameter names say which.
386
386
  `search_knowledge_graph`, `list_knowledge_topics`, `list_topic_facts`,
387
387
  `read_fact` (passages, sources, certainty, validity, which run taught it),
388
388
  `read_source`, `list_knowledge_tree`, `list_related_topics` and
389
- `list_archived_facts`. Looking only: confirming, correcting, archiving or
390
- relabelling a fact ends with a person. With the module off, every call says
391
- so in plain words.
389
+ `list_archived_facts`. Maintaining one fact, as the person who made the
390
+ token (only for audiences that person maintains, recorded in their name):
391
+ `archive_fact`, `restore_fact`, `confirm_fact`, `reject_fact`,
392
+ `correct_fact`, `relabel_fact`, `give_right_version`. With the module off,
393
+ every call says so in plain words.
392
394
  - `list_deleted_prompt_snippets` calls `/api/v1/prompt-snippets/deleted`; the
393
395
  backend returns it as `{ items: [... ] }`, and the tool forwards that response
394
396
  unchanged.
@@ -57,8 +57,9 @@ export function registerAccessTools(server, client) {
57
57
  "hold it. `isSystem` marks the one the platform ships (Member). A " +
58
58
  "colleague with several roles reads with the widest. " +
59
59
  "\n\nRoles are for people. An agent, a workflow and your own token " +
60
- "have a clearance of their own instead, and none of them ever " +
61
- "maintains anything." +
60
+ "have a clearance of their own instead. An agent and a workflow never " +
61
+ "maintain anything; your token maintains what the person who made it " +
62
+ "maintains (their roles, or every audience for an administrator)." +
62
63
  PAGE_NOTE, { limit: LIMIT, cursor: CURSOR }, async ({ limit, cursor }) => guard(async () => jsonResult(await client.get(ROLES, { limit, cursor }))));
63
64
  server.tool("read_role", "One role: up to which level it reads, for which audiences, which " +
64
65
  "audiences it maintains, and how many colleagues hold it. Read-only. " +
@@ -1 +1 @@
1
- {"version":3,"file":"access.js","sourceRoot":"","sources":["../../src/tools/access.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"access.js","sourceRoot":"","sources":["../../src/tools/access.ts"],"names":[],"mappings":"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"}
@@ -12,12 +12,12 @@
12
12
  * its topic, and not found by id. So an empty answer is an answer about what
13
13
  * THIS TOKEN may see, and the descriptions say so.
14
14
  *
15
- * **Looking, never judging.** Confirming, rejecting, correcting, archiving,
16
- * relabelling and erasing a fact, answering a decision or a learning round:
17
- * all of that ends with a person by design, and `test/denyList.ts` records it.
18
- * So do the work lists of the Oversight screen — they hold only what the
19
- * reader maintains or was handed, and a token maintains nothing, so a tool
20
- * over them could only ever answer an empty list.
15
+ * **Maintaining one fact, as the token's person** (axonity-flow#2202, decided
16
+ * 26 Oct 2026). A token acts as the person who made it: confirming, rejecting,
17
+ * correcting, archiving, restoring and relabelling a fact work for a fact whose
18
+ * audience that person maintains, in that person's name. Erasing personal
19
+ * data, answering a decision or a learning round, and the work lists of the
20
+ * Oversight screen stay out — `test/denyList.ts` says why for each.
21
21
  *
22
22
  * **The module can be off.** Every route here sits behind the Cortex module;
23
23
  * switched off, each answers 403 with the module's sentence, which
@@ -25,4 +25,17 @@
25
25
  */
26
26
  import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
27
27
  import type { AxonityClient } from "../client.js";
28
+ export interface SearchWait {
29
+ sleep?: (ms: number) => Promise<void>;
30
+ now?: () => number;
31
+ }
32
+ /**
33
+ * Start the platform's "Search knowledge" run and wait for its answer.
34
+ *
35
+ * The search route only starts a run and returns its handle, so this polls the
36
+ * run until it reaches an end state, then reads the answer the search step
37
+ * wrote. A run that is still going after the wait limit is returned as such,
38
+ * not as an error: it keeps running, and `read_run` can pick it up later.
39
+ */
40
+ export declare function searchKnowledge(client: AxonityClient, q: string, { sleep, now }?: SearchWait): Promise<Record<string, unknown>>;
28
41
  export declare function registerKnowledgeGraphTools(server: McpServer, client: AxonityClient): void;
@@ -12,12 +12,12 @@
12
12
  * its topic, and not found by id. So an empty answer is an answer about what
13
13
  * THIS TOKEN may see, and the descriptions say so.
14
14
  *
15
- * **Looking, never judging.** Confirming, rejecting, correcting, archiving,
16
- * relabelling and erasing a fact, answering a decision or a learning round:
17
- * all of that ends with a person by design, and `test/denyList.ts` records it.
18
- * So do the work lists of the Oversight screen — they hold only what the
19
- * reader maintains or was handed, and a token maintains nothing, so a tool
20
- * over them could only ever answer an empty list.
15
+ * **Maintaining one fact, as the token's person** (axonity-flow#2202, decided
16
+ * 26 Oct 2026). A token acts as the person who made it: confirming, rejecting,
17
+ * correcting, archiving, restoring and relabelling a fact work for a fact whose
18
+ * audience that person maintains, in that person's name. Erasing personal
19
+ * data, answering a decision or a learning round, and the work lists of the
20
+ * Oversight screen stay out — `test/denyList.ts` says why for each.
21
21
  *
22
22
  * **The module can be off.** Every route here sits behind the Cortex module;
23
23
  * switched off, each answers 403 with the module's sentence, which
@@ -26,6 +26,67 @@
26
26
  import { z } from "zod";
27
27
  import { guard, jsonResult } from "./result.js";
28
28
  const KNOWLEDGE = "/api/v1/knowledge";
29
+ /** The platform workflow step whose output is the search answer. */
30
+ const SEARCH_STEP = "search-knowledge";
31
+ /** That step's one output: the answer the gate held to 'knowledge-answer-v1'. */
32
+ const SEARCH_ANSWER_OUTPUT = "answer";
33
+ const TERMINAL = new Set(["completed", "failed", "cancelled", "expired"]);
34
+ const POLL_EVERY_MS = 1500;
35
+ /** Stop waiting after this long; the run keeps going on the platform. */
36
+ const WAIT_LIMIT_MS = 90_000;
37
+ /** Digest marker a large step output leaves behind instead of the text. */
38
+ function isValueMarker(value) {
39
+ return (typeof value === "object" &&
40
+ value !== null &&
41
+ typeof value.$run_value === "string");
42
+ }
43
+ /**
44
+ * Start the platform's "Search knowledge" run and wait for its answer.
45
+ *
46
+ * The search route only starts a run and returns its handle, so this polls the
47
+ * run until it reaches an end state, then reads the answer the search step
48
+ * wrote. A run that is still going after the wait limit is returned as such,
49
+ * not as an error: it keeps running, and `read_run` can pick it up later.
50
+ */
51
+ export async function searchKnowledge(client, q, { sleep = (ms) => new Promise((r) => setTimeout(r, ms)), now = Date.now } = {}) {
52
+ const start = (await client.get(`${KNOWLEDGE}/search`, { q }));
53
+ const began = now();
54
+ let run = (await client.get(`/api/v1/runs/${start.id}`));
55
+ const stateOf = (r) => {
56
+ if (typeof r?.status !== "string") {
57
+ throw new Error("The platform returned a run without a status.");
58
+ }
59
+ return r.status;
60
+ };
61
+ while (!TERMINAL.has(stateOf(run))) {
62
+ if (now() - began >= WAIT_LIMIT_MS) {
63
+ return {
64
+ runId: start.id,
65
+ status: stateOf(run),
66
+ finished: false,
67
+ note: "The search is still running after 90 seconds. Call read_run with " +
68
+ "this runId later to read its result.",
69
+ };
70
+ }
71
+ await sleep(POLL_EVERY_MS);
72
+ run = (await client.get(`/api/v1/runs/${start.id}`));
73
+ }
74
+ const step = run.stepStates?.[SEARCH_STEP];
75
+ if (run.status !== "completed") {
76
+ const reason = typeof step?.error === "string" ? step.error : "no reason was recorded";
77
+ throw new Error(`The search run ended as ${run.status}: ${reason}`);
78
+ }
79
+ // The step's output, never its free text: the text is a closing remark and
80
+ // was "" on a run whose answer passed the gate.
81
+ let answer = step?.structuredOutputs?.[SEARCH_ANSWER_OUTPUT];
82
+ if (isValueMarker(answer)) {
83
+ answer = await client.get(`/api/v1/runs/${start.id}/values/${answer.$run_value}`);
84
+ }
85
+ if (typeof answer !== "string" || answer.trim() === "") {
86
+ throw new Error("The search run completed without an answer from its search step.");
87
+ }
88
+ return { runId: start.id, status: "completed", finished: true, answer };
89
+ }
29
90
  /** Said on every tool: an empty answer is about the token, not the graph. */
30
91
  const CLEARANCE_NOTE = "\n\nYOU READ WITH YOUR TOKEN'S CLEARANCE: what it may not read is " +
31
92
  "left out entirely, so an empty answer means nothing THIS TOKEN may see, " +
@@ -45,27 +106,21 @@ const CURSOR = z
45
106
  .optional()
46
107
  .describe("The previous response's nextCursor, to get the next page. Omit for the " +
47
108
  "first page.");
48
- const AS_OF = z
49
- .string()
50
- .optional()
51
- .describe("A date (YYYY-MM-DD): answer as the graph stood at the end of that day — " +
52
- "what was valid then. Omit for now.");
53
109
  export function registerKnowledgeGraphTools(server, client) {
54
- server.tool("search_knowledge_graph", "Search what the workspace has learned, with a question in plain words. " +
55
- "Read-only. The same search an agent in a run gets. " +
56
- "\n\nThe answer lands on up to eight places (`landing`), each a fact " +
57
- "or a topic with what hangs around it. A fact never comes bare: its " +
58
- "`certainty`, `status`, validity (`validFrom`, `validUntil`), its " +
59
- "topics and its `passages` — the evidence, each with its source, the " +
60
- "source's score and a date. Report a fact with its certainty and " +
61
- "source, not as plain truth. `tips` are facts below the threshold for " +
62
- "an answer; they are only shown to someone who maintains them. " +
63
- "\n\nUse read_fact for one fact's full card and read_source for where " +
64
- "it came from." +
110
+ server.tool("search_knowledge_graph", "Ask what the workspace has learned, with a question in plain words. " +
111
+ "Read-only. It runs the same platform search a person gets from the " +
112
+ "search bar: a short run (\"Search knowledge\") whose librarian reads " +
113
+ "the graph and writes a list of what it found. This tool starts that " +
114
+ "run and waits for the list, up to 90 seconds. " +
115
+ "\n\nThe answer is that list, in words, with no fact ids in it. Report " +
116
+ "it as what the search found, not as a verified truth, and keep any " +
117
+ "uncertainty the list states. Use read_fact or read_source only when " +
118
+ "you have a fact id from somewhere else. " +
119
+ "\n\nIf the search is still running after 90 seconds, the answer says " +
120
+ "so and gives the run's id: read_run reads its result later." +
65
121
  CLEARANCE_NOTE, {
66
122
  q: z.string().describe("The question, in plain words (at most 2000 characters)."),
67
- asOf: AS_OF,
68
- }, async ({ q, asOf }) => guard(async () => jsonResult(await client.get(`${KNOWLEDGE}/search`, { q, as_of: asOf }))));
123
+ }, async ({ q }) => guard(async () => jsonResult(await searchKnowledge(client, q))));
69
124
  server.tool("list_knowledge_topics", "The topics of the knowledge graph, newest first, each with its summary, " +
70
125
  "its label and how many facts it holds. Read-only. A topic is a " +
71
126
  "subject facts are grouped under; list_topic_facts opens one." +
@@ -118,9 +173,76 @@ export function registerKnowledgeGraphTools(server, client) {
118
173
  CLEARANCE_NOTE, { nodeId: z.string().describe("A topic or group id, from the tree or a search.") }, async ({ nodeId }) => guard(async () => jsonResult(await client.get(`${KNOWLEDGE}/tree/${nodeId}/related`))));
119
174
  server.tool("list_archived_facts", "What was archived recently (the platform keeps them visible for a " +
120
175
  "while, thirty days to start with), so a second pair of eyes can look " +
121
- "afterwards. Read-only. Restoring one is a colleague's decision, not " +
122
- "something a token can do: report what you found." +
176
+ "afterwards. Read-only. restore_fact brings one back." +
123
177
  PAGE_NOTE +
124
178
  CLEARANCE_NOTE, { limit: LIMIT, cursor: CURSOR }, async ({ limit, cursor }) => guard(async () => jsonResult(await client.get(`${KNOWLEDGE}/archived`, { limit, cursor }))));
179
+ registerFactMaintenanceTools(server, client);
180
+ }
181
+ /** Said on every maintaining tool: whose rights it acts with, and what a refusal means. */
182
+ const MAINTAIN_NOTE = "\n\nYOU ACT AS THE PERSON WHO MADE THIS TOKEN: the platform lets you do " +
183
+ "this only for a fact whose audience that person maintains (their roles, " +
184
+ "or every audience when they are an administrator), and records it in " +
185
+ "their name. A refusal means that person may not, not that the fact is " +
186
+ "wrong. Returns the fact's card as it is now.";
187
+ const FACT_ID = z.string().describe("The fact's id, from a search, a topic or read_fact.");
188
+ /** Confirm, reject, correct, archive, restore, relabel: one fact, as the token's person. */
189
+ function registerFactMaintenanceTools(server, client) {
190
+ const facts = `${KNOWLEDGE}/facts`;
191
+ server.tool("archive_fact", "Remove a fact from the graph: archived with who, when and why, never " +
192
+ "erased, and restore_fact brings it back. Not a judgement on whether it " +
193
+ "is true — use it for a duplicate, test data or something that does not " +
194
+ "belong. When it was its topic's last open fact, the topic goes with it." +
195
+ MAINTAIN_NOTE, {
196
+ id: FACT_ID,
197
+ reason: z
198
+ .string()
199
+ .min(1)
200
+ .max(2000)
201
+ .describe("Why it is removed, in a sentence; kept with the fact."),
202
+ }, async ({ id, reason }) => guard(async () => jsonResult(await client.post(`${facts}/${id}/archive`, { reason }))));
203
+ server.tool("restore_fact", "Bring back an archived fact, and its topic with it when that went too." + MAINTAIN_NOTE, { id: FACT_ID }, async ({ id }) => guard(async () => jsonResult(await client.post(`${facts}/${id}/restore`))));
204
+ server.tool("confirm_fact", "Say the fact is right, as the group the token's person maintains it " +
205
+ "under: its sources get '+1 right' and its certainty is recomputed. " +
206
+ "Only for a fact that is still open (draft, not confirmed, active)." +
207
+ MAINTAIN_NOTE, { id: FACT_ID }, async ({ id }) => guard(async () => jsonResult(await client.post(`${facts}/${id}/confirm`))));
208
+ server.tool("reject_fact", "Say the fact is wrong: it becomes incorrect and its sources get '+1 " +
209
+ "wrong', which lowers their score. To take a fact out without judging " +
210
+ "it, use archive_fact instead." +
211
+ MAINTAIN_NOTE, {
212
+ id: FACT_ID,
213
+ reason: z.string().max(2000).optional().describe("Why it is wrong; kept with the rejection."),
214
+ }, async ({ id, reason }) => guard(async () => jsonResult(await client.post(`${facts}/${id}/reject`, { reason: reason ?? "" }))));
215
+ server.tool("correct_fact", "Correct a fact. `changed`: it held, and from `since` it is `value` — " +
216
+ "the old fact is superseded and nobody's source is charged. `wrong`: " +
217
+ "it never held — with `value` the right version takes its place, " +
218
+ "without it the question stays open (give_right_version answers it)." +
219
+ MAINTAIN_NOTE, {
220
+ id: FACT_ID,
221
+ kind: z.enum(["changed", "wrong"]).describe("Changed since a date, or wrong from the start."),
222
+ value: z.string().max(2000).optional().describe("The right value; required for `changed`."),
223
+ since: z
224
+ .string()
225
+ .optional()
226
+ .describe("For `changed`: the day the new value holds from (YYYY-MM-DD)."),
227
+ }, async ({ id, kind, value, since }) => guard(async () => jsonResult(await client.post(`${facts}/${id}/correct`, { kind, value, since }))));
228
+ server.tool("relabel_fact", "Give a fact a new label: up to which level and for which audiences it " +
229
+ "may be read. Narrowing is always allowed; widening only to audiences " +
230
+ "the token's person maintains. Audience ids come from list_audiences." +
231
+ MAINTAIN_NOTE, {
232
+ id: FACT_ID,
233
+ level: z.enum(["public", "internal", "confidential"]).describe("The new level."),
234
+ audienceIds: z
235
+ .array(z.string())
236
+ .min(1)
237
+ .max(50)
238
+ .describe("The audiences it is meant for, from list_audiences."),
239
+ }, async ({ id, level, audienceIds }) => guard(async () => jsonResult(await client.post(`${facts}/${id}/relabel`, { level, audienceIds }))));
240
+ server.tool("give_right_version", "Answer a fact that was corrected as wrong without the right value: the " +
241
+ "right version becomes a new fact and the question closes. Returns the " +
242
+ "new fact's card." +
243
+ MAINTAIN_NOTE, {
244
+ id: FACT_ID,
245
+ value: z.string().min(1).max(2000).describe("The right value."),
246
+ }, async ({ id, value }) => guard(async () => jsonResult(await client.post(`${facts}/${id}/right-version`, { value }))));
125
247
  }
126
248
  //# sourceMappingURL=knowledgeGraph.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"knowledgeGraph.js","sourceRoot":"","sources":["../../src/tools/knowledgeGraph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"knowledgeGraph.js","sourceRoot":"","sources":["../../src/tools/knowledgeGraph.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@axonity-ai/mcp",
3
- "version": "0.20.1",
3
+ "version": "0.21.1",
4
4
  "description": "Model Context Protocol server for Axonity Flow — lets an external agent (e.g. Claude Code) read, draft, and update workflows, agents and tools in an Axonity tenant.",
5
5
  "license": "MIT",
6
6
  "repository": {