@axonity-ai/mcp 0.28.0 → 0.29.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 +63 -10
- package/dist/client.d.ts +2 -0
- package/dist/client.js +19 -1
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +37 -4
- package/dist/config.js +60 -6
- package/dist/config.js.map +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/errors.js +3 -3
- package/dist/errors.js.map +1 -1
- package/dist/generated/tokenRouteClasses.d.ts +10 -0
- package/dist/generated/tokenRouteClasses.js +812 -0
- package/dist/generated/tokenRouteClasses.js.map +1 -0
- package/dist/http.d.ts +69 -0
- package/dist/http.js +287 -0
- package/dist/http.js.map +1 -0
- package/dist/index.d.ts +23 -2
- package/dist/index.js +41 -6
- package/dist/index.js.map +1 -1
- package/dist/routeClasses.d.ts +89 -0
- package/dist/routeClasses.js +190 -0
- package/dist/routeClasses.js.map +1 -0
- package/dist/tools/conventions.d.ts +1 -1
- package/dist/tools/conventions.js +9 -5
- package/dist/tools/conventions.js.map +1 -1
- package/dist/tools/extras.d.ts +9 -0
- package/dist/tools/extras.js +30 -0
- package/dist/tools/extras.js.map +1 -1
- package/dist/tools/runInputFiles.d.ts +5 -1
- package/dist/tools/runInputFiles.js +46 -17
- package/dist/tools/runInputFiles.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenRouteClasses.js","sourceRoot":"","sources":["../../src/generated/tokenRouteClasses.ts"],"names":[],"mappings":"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"}
|
package/dist/http.d.ts
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The hosted connector: Streamable HTTP on loopback, behind Axonity's `/mcp`.
|
|
3
|
+
*
|
|
4
|
+
* Axonity runs this process next to its API (AXONITY_MCP_TRANSPORT=http). Its
|
|
5
|
+
* `/mcp` route checks the caller's personal token and forwards the request
|
|
6
|
+
* here unchanged; this server answers it with the same tools the local
|
|
7
|
+
* connector has, calling the API with THAT request's token. The API checks the
|
|
8
|
+
* token again and decides, per route, what it may do — this process is not a
|
|
9
|
+
* trust boundary for that.
|
|
10
|
+
*
|
|
11
|
+
* WHY IT IS BUILT THIS WAY (measured before it was built, 473 tools, Node 22):
|
|
12
|
+
*
|
|
13
|
+
* - STATELESS. Every POST is one JSON-RPC message with its own transport and
|
|
14
|
+
* its own MCP server object, and nothing is kept between requests: no
|
|
15
|
+
* session, no stream to resume. A batch (an array of messages, which the
|
|
16
|
+
* protocol dropped in 2025-06-18) is refused: one POST would otherwise run
|
|
17
|
+
* every call in it at once, under one seat. The SDK refuses to reuse a stateless
|
|
18
|
+
* transport, and a server object holds one transport at a time.
|
|
19
|
+
* - THE TOOLS ARE REGISTERED ONCE. Building all of them again for every
|
|
20
|
+
* request cost ~15 MB per request in flight, 839 MB at fifty at once.
|
|
21
|
+
* Instead they are recorded once, against a client whose token is whatever
|
|
22
|
+
* the CURRENT request brought (AsyncLocalStorage), and each request's server
|
|
23
|
+
* only replays the record. The token is bound to the request's async
|
|
24
|
+
* context, so work that outlives its request still carries its own token
|
|
25
|
+
* and never the next caller's.
|
|
26
|
+
* - THE TOOL LIST IS COMPUTED ONCE. It does not depend on who asks, and
|
|
27
|
+
* rendering the schemas of every tool per `tools/list` was the largest cost.
|
|
28
|
+
* - AT MOST `maxInFlight` REQUESTS AT ONCE, the rest wait, and past
|
|
29
|
+
* `maxQueued` waiting a request is answered 503. A seat is given back when
|
|
30
|
+
* the request's work is done, not when its caller hangs up — work that goes
|
|
31
|
+
* on after a disconnect still holds it — and every API call has a time
|
|
32
|
+
* limit (`apiTimeoutMs`), so no seat is held for ever. Memory then has a
|
|
33
|
+
* ceiling that does not depend on how hard anyone pushes (217 MB at fifty
|
|
34
|
+
* at once, with the V8 limits Axonity starts this process with).
|
|
35
|
+
*/
|
|
36
|
+
import { type Server } from "node:http";
|
|
37
|
+
import { AxonityClient } from "./client.js";
|
|
38
|
+
import type { HttpConfig } from "./config.js";
|
|
39
|
+
import type { ProbeServer } from "./contract.js";
|
|
40
|
+
import { type RegisteredTool } from "./routeClasses.js";
|
|
41
|
+
/** The one path this server answers MCP on. */
|
|
42
|
+
export declare const MCP_PATH = "/mcp";
|
|
43
|
+
export interface HostedServerOptions extends HttpConfig {
|
|
44
|
+
/** Name and version the MCP server introduces itself with. */
|
|
45
|
+
serverInfo: {
|
|
46
|
+
name: string;
|
|
47
|
+
version: string;
|
|
48
|
+
};
|
|
49
|
+
/** Register the hosted tool surface onto a server, against a client. */
|
|
50
|
+
register: (server: ProbeServer, client: AxonityClient) => void;
|
|
51
|
+
/** Rewrite the recorded tools before they are served (their texts). */
|
|
52
|
+
prepare?: (tools: RegisteredTool[]) => RegisteredTool[] | Promise<RegisteredTool[]>;
|
|
53
|
+
/** Bind address. Loopback; a test may not change it either. */
|
|
54
|
+
host?: "127.0.0.1";
|
|
55
|
+
/** Where the one startup line goes. Never a token. */
|
|
56
|
+
log?: (message: string) => void;
|
|
57
|
+
}
|
|
58
|
+
export interface HostedServer {
|
|
59
|
+
server: Server;
|
|
60
|
+
port: number;
|
|
61
|
+
close: () => Promise<void>;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Start the hosted connector. Resolves once it listens.
|
|
65
|
+
*
|
|
66
|
+
* Answers `POST /mcp` only: GET and DELETE on it are 405 (no sessions, no
|
|
67
|
+
* server stream — a client falls back to plain requests), anything else 404.
|
|
68
|
+
*/
|
|
69
|
+
export declare function startHostedServer(options: HostedServerOptions): Promise<HostedServer>;
|
package/dist/http.js
ADDED
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The hosted connector: Streamable HTTP on loopback, behind Axonity's `/mcp`.
|
|
3
|
+
*
|
|
4
|
+
* Axonity runs this process next to its API (AXONITY_MCP_TRANSPORT=http). Its
|
|
5
|
+
* `/mcp` route checks the caller's personal token and forwards the request
|
|
6
|
+
* here unchanged; this server answers it with the same tools the local
|
|
7
|
+
* connector has, calling the API with THAT request's token. The API checks the
|
|
8
|
+
* token again and decides, per route, what it may do — this process is not a
|
|
9
|
+
* trust boundary for that.
|
|
10
|
+
*
|
|
11
|
+
* WHY IT IS BUILT THIS WAY (measured before it was built, 473 tools, Node 22):
|
|
12
|
+
*
|
|
13
|
+
* - STATELESS. Every POST is one JSON-RPC message with its own transport and
|
|
14
|
+
* its own MCP server object, and nothing is kept between requests: no
|
|
15
|
+
* session, no stream to resume. A batch (an array of messages, which the
|
|
16
|
+
* protocol dropped in 2025-06-18) is refused: one POST would otherwise run
|
|
17
|
+
* every call in it at once, under one seat. The SDK refuses to reuse a stateless
|
|
18
|
+
* transport, and a server object holds one transport at a time.
|
|
19
|
+
* - THE TOOLS ARE REGISTERED ONCE. Building all of them again for every
|
|
20
|
+
* request cost ~15 MB per request in flight, 839 MB at fifty at once.
|
|
21
|
+
* Instead they are recorded once, against a client whose token is whatever
|
|
22
|
+
* the CURRENT request brought (AsyncLocalStorage), and each request's server
|
|
23
|
+
* only replays the record. The token is bound to the request's async
|
|
24
|
+
* context, so work that outlives its request still carries its own token
|
|
25
|
+
* and never the next caller's.
|
|
26
|
+
* - THE TOOL LIST IS COMPUTED ONCE. It does not depend on who asks, and
|
|
27
|
+
* rendering the schemas of every tool per `tools/list` was the largest cost.
|
|
28
|
+
* - AT MOST `maxInFlight` REQUESTS AT ONCE, the rest wait, and past
|
|
29
|
+
* `maxQueued` waiting a request is answered 503. A seat is given back when
|
|
30
|
+
* the request's work is done, not when its caller hangs up — work that goes
|
|
31
|
+
* on after a disconnect still holds it — and every API call has a time
|
|
32
|
+
* limit (`apiTimeoutMs`), so no seat is held for ever. Memory then has a
|
|
33
|
+
* ceiling that does not depend on how hard anyone pushes (217 MB at fifty
|
|
34
|
+
* at once, with the V8 limits Axonity starts this process with).
|
|
35
|
+
*/
|
|
36
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
37
|
+
import { createServer } from "node:http";
|
|
38
|
+
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
|
|
39
|
+
import { InMemoryTransport } from "@modelcontextprotocol/sdk/inMemory.js";
|
|
40
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
41
|
+
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
|
|
42
|
+
import { ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js";
|
|
43
|
+
import { AxonityClient } from "./client.js";
|
|
44
|
+
import { recordTools } from "./routeClasses.js";
|
|
45
|
+
/** The one path this server answers MCP on. */
|
|
46
|
+
export const MCP_PATH = "/mcp";
|
|
47
|
+
/**
|
|
48
|
+
* A personal token as a bearer. The hosted connector serves personal tokens
|
|
49
|
+
* only: a service token (`axs_…`) keeps the local connector (stdio).
|
|
50
|
+
*/
|
|
51
|
+
const PERSONAL_BEARER = /^Bearer\s+(axp_[A-Za-z0-9_-]+)$/i;
|
|
52
|
+
/** A waiting room with a fixed number of seats. */
|
|
53
|
+
class Gate {
|
|
54
|
+
seats;
|
|
55
|
+
room;
|
|
56
|
+
inFlight = 0;
|
|
57
|
+
waiting = [];
|
|
58
|
+
constructor(seats, room) {
|
|
59
|
+
this.seats = seats;
|
|
60
|
+
this.room = room;
|
|
61
|
+
}
|
|
62
|
+
/** A release function once seated, or `undefined` when the room is full. */
|
|
63
|
+
async enter() {
|
|
64
|
+
if (this.inFlight < this.seats) {
|
|
65
|
+
this.inFlight += 1;
|
|
66
|
+
return this.leaver();
|
|
67
|
+
}
|
|
68
|
+
if (this.waiting.length >= this.room)
|
|
69
|
+
return undefined;
|
|
70
|
+
await new Promise((resolve) => this.waiting.push(resolve));
|
|
71
|
+
// The seat was handed over by the one who left; the count did not drop.
|
|
72
|
+
return this.leaver();
|
|
73
|
+
}
|
|
74
|
+
leaver() {
|
|
75
|
+
let left = false;
|
|
76
|
+
return () => {
|
|
77
|
+
if (left)
|
|
78
|
+
return;
|
|
79
|
+
left = true;
|
|
80
|
+
const next = this.waiting.shift();
|
|
81
|
+
if (next)
|
|
82
|
+
next();
|
|
83
|
+
else
|
|
84
|
+
this.inFlight -= 1;
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
function send(res, status, body, headers = {}) {
|
|
89
|
+
if (res.headersSent)
|
|
90
|
+
return;
|
|
91
|
+
res.writeHead(status, { "Content-Type": "application/json", ...headers });
|
|
92
|
+
res.end(JSON.stringify(body));
|
|
93
|
+
}
|
|
94
|
+
/** A JSON-RPC error with no id: the request never became a message. */
|
|
95
|
+
function rpcError(code, message) {
|
|
96
|
+
return { jsonrpc: "2.0", error: { code, message }, id: null };
|
|
97
|
+
}
|
|
98
|
+
class BodyTooLarge extends Error {
|
|
99
|
+
}
|
|
100
|
+
async function readBody(req, limit) {
|
|
101
|
+
const declared = Number(req.headers["content-length"]);
|
|
102
|
+
if (Number.isFinite(declared) && declared > limit)
|
|
103
|
+
throw new BodyTooLarge();
|
|
104
|
+
const chunks = [];
|
|
105
|
+
let size = 0;
|
|
106
|
+
for await (const chunk of req) {
|
|
107
|
+
size += chunk.length;
|
|
108
|
+
if (size > limit)
|
|
109
|
+
throw new BodyTooLarge();
|
|
110
|
+
chunks.push(chunk);
|
|
111
|
+
}
|
|
112
|
+
return Buffer.concat(chunks);
|
|
113
|
+
}
|
|
114
|
+
/** The tool list, rendered once by the SDK itself from one replayed server. */
|
|
115
|
+
async function listOnce(serverInfo, tools) {
|
|
116
|
+
const server = replay(serverInfo, tools);
|
|
117
|
+
const [clientSide, serverSide] = InMemoryTransport.createLinkedPair();
|
|
118
|
+
await server.connect(serverSide);
|
|
119
|
+
const client = new Client({ name: "axonity-tool-list", version: "0" });
|
|
120
|
+
await client.connect(clientSide);
|
|
121
|
+
try {
|
|
122
|
+
return await client.listTools();
|
|
123
|
+
}
|
|
124
|
+
finally {
|
|
125
|
+
await client.close();
|
|
126
|
+
await server.close();
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
function replay(serverInfo, tools) {
|
|
130
|
+
const server = new McpServer(serverInfo);
|
|
131
|
+
for (const tool of tools) {
|
|
132
|
+
server.tool(tool.name, tool.description, tool.shape, tool.handler);
|
|
133
|
+
}
|
|
134
|
+
return server;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Start the hosted connector. Resolves once it listens.
|
|
138
|
+
*
|
|
139
|
+
* Answers `POST /mcp` only: GET and DELETE on it are 405 (no sessions, no
|
|
140
|
+
* server stream — a client falls back to plain requests), anything else 404.
|
|
141
|
+
*/
|
|
142
|
+
export async function startHostedServer(options) {
|
|
143
|
+
// What belongs to the request being handled: its caller's token, and the
|
|
144
|
+
// tool calls it started (a seat is given back only once they are done).
|
|
145
|
+
const ofRequest = new AsyncLocalStorage();
|
|
146
|
+
const client = new AxonityClient({
|
|
147
|
+
apiUrl: options.apiUrl,
|
|
148
|
+
timeoutMs: options.apiTimeoutMs,
|
|
149
|
+
get token() {
|
|
150
|
+
const token = ofRequest.getStore()?.token;
|
|
151
|
+
// Only reachable by a call made outside any request — a bug, and one
|
|
152
|
+
// that must fail rather than send no token or somebody else's.
|
|
153
|
+
if (!token)
|
|
154
|
+
throw new Error("No request token: the hosted connector calls the API only for a request.");
|
|
155
|
+
return token;
|
|
156
|
+
},
|
|
157
|
+
});
|
|
158
|
+
const recorded = recordTools(options.register, client);
|
|
159
|
+
const prepared = options.prepare ? await options.prepare(recorded) : recorded;
|
|
160
|
+
const toolList = await listOnce(options.serverInfo, prepared);
|
|
161
|
+
// Every tool call is counted with the request that started it.
|
|
162
|
+
const tools = prepared.map((tool) => ({
|
|
163
|
+
...tool,
|
|
164
|
+
handler: ((args, extra) => {
|
|
165
|
+
const work = Promise.resolve(tool.handler(args, extra));
|
|
166
|
+
const mine = ofRequest.getStore()?.work;
|
|
167
|
+
if (mine) {
|
|
168
|
+
mine.add(work);
|
|
169
|
+
const done = () => mine.delete(work);
|
|
170
|
+
work.then(done, done);
|
|
171
|
+
}
|
|
172
|
+
return work;
|
|
173
|
+
}),
|
|
174
|
+
}));
|
|
175
|
+
const gate = new Gate(options.maxInFlight, options.maxQueued);
|
|
176
|
+
const handle = async (req, res) => {
|
|
177
|
+
const path = (req.url ?? "").split("?")[0];
|
|
178
|
+
if (path !== MCP_PATH) {
|
|
179
|
+
send(res, 404, { error: "Not found. The MCP endpoint is /mcp." });
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
if (req.method !== "POST") {
|
|
183
|
+
// No sessions and no standalone stream: a GET or DELETE has nothing to act on.
|
|
184
|
+
send(res, 405, rpcError(-32000, "Method not allowed. Send each message as a POST."), {
|
|
185
|
+
Allow: "POST",
|
|
186
|
+
});
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
const bearer = PERSONAL_BEARER.exec(req.headers.authorization ?? "");
|
|
190
|
+
if (!bearer) {
|
|
191
|
+
send(res, 401, rpcError(-32001, "A personal token (axp_…) is required as a bearer."), {
|
|
192
|
+
"WWW-Authenticate": 'Bearer realm="axonity"',
|
|
193
|
+
});
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
const token = bearer[1];
|
|
197
|
+
// The seat. A caller that hangs up while it waits gives up its place:
|
|
198
|
+
// nobody is left to answer. One that hangs up once seated keeps it until
|
|
199
|
+
// the tool calls it started are done — the SDK does not finish a request
|
|
200
|
+
// whose connection is gone, so waiting for that would hold the seat for
|
|
201
|
+
// ever, and giving it back at once would let work pile up past the
|
|
202
|
+
// ceiling by connecting and hanging up (review of the hosted mode, S-1).
|
|
203
|
+
const context = { token, work: new Set() };
|
|
204
|
+
let gone = false;
|
|
205
|
+
let leave;
|
|
206
|
+
res.once("close", () => {
|
|
207
|
+
gone = true;
|
|
208
|
+
const seated = leave;
|
|
209
|
+
if (seated)
|
|
210
|
+
void Promise.allSettled([...context.work]).then(seated);
|
|
211
|
+
});
|
|
212
|
+
leave = await gate.enter();
|
|
213
|
+
if (!leave) {
|
|
214
|
+
send(res, 503, rpcError(-32000, "The connector is busy. Try again in a moment."), {
|
|
215
|
+
"Retry-After": "1",
|
|
216
|
+
});
|
|
217
|
+
return;
|
|
218
|
+
}
|
|
219
|
+
if (gone) {
|
|
220
|
+
leave();
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
223
|
+
try {
|
|
224
|
+
let body;
|
|
225
|
+
try {
|
|
226
|
+
const raw = await readBody(req, options.maxBodyBytes);
|
|
227
|
+
body = JSON.parse(raw.toString("utf8"));
|
|
228
|
+
if (Array.isArray(body)) {
|
|
229
|
+
send(res, 400, rpcError(-32600, "Invalid Request: send one message per POST, not a batch."));
|
|
230
|
+
return;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
catch (error) {
|
|
234
|
+
if (error instanceof BodyTooLarge) {
|
|
235
|
+
send(res, 413, rpcError(-32000, "Request body too large."));
|
|
236
|
+
}
|
|
237
|
+
else {
|
|
238
|
+
send(res, 400, rpcError(-32700, "Parse error: the body is not JSON."));
|
|
239
|
+
}
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
if (gone)
|
|
243
|
+
return;
|
|
244
|
+
const server = replay(options.serverInfo, tools);
|
|
245
|
+
server.server.setRequestHandler(ListToolsRequestSchema, () => toolList);
|
|
246
|
+
const transport = new StreamableHTTPServerTransport({
|
|
247
|
+
sessionIdGenerator: undefined,
|
|
248
|
+
enableJsonResponse: true,
|
|
249
|
+
});
|
|
250
|
+
res.once("close", () => {
|
|
251
|
+
void transport.close();
|
|
252
|
+
void server.close();
|
|
253
|
+
});
|
|
254
|
+
await server.connect(transport);
|
|
255
|
+
await ofRequest.run(context, () => transport.handleRequest(req, res, body));
|
|
256
|
+
}
|
|
257
|
+
finally {
|
|
258
|
+
// A request that ended without its connection going (an answer, a
|
|
259
|
+
// refusal) gives its seat back here; one whose caller hung up gives it
|
|
260
|
+
// back when its work is done (above). Leaving twice is a no-op.
|
|
261
|
+
if (!gone)
|
|
262
|
+
leave();
|
|
263
|
+
}
|
|
264
|
+
};
|
|
265
|
+
const server = createServer((req, res) => {
|
|
266
|
+
handle(req, res).catch(() => {
|
|
267
|
+
// Never the error itself: it could quote a header.
|
|
268
|
+
send(res, 500, rpcError(-32603, "Internal error in the connector."));
|
|
269
|
+
});
|
|
270
|
+
});
|
|
271
|
+
await new Promise((resolve, reject) => {
|
|
272
|
+
server.once("error", reject);
|
|
273
|
+
server.listen(options.port, options.host ?? "127.0.0.1", () => resolve());
|
|
274
|
+
});
|
|
275
|
+
const port = server.address().port;
|
|
276
|
+
(options.log ?? ((m) => console.error(m)))(`Axonity MCP connector (hosted) ready on 127.0.0.1:${port}${MCP_PATH}, ` +
|
|
277
|
+
`${tools.length} tools, API ${options.apiUrl}.`);
|
|
278
|
+
return {
|
|
279
|
+
server,
|
|
280
|
+
port,
|
|
281
|
+
close: () => new Promise((resolve) => {
|
|
282
|
+
server.close(() => resolve());
|
|
283
|
+
server.closeAllConnections();
|
|
284
|
+
}),
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
//# sourceMappingURL=http.js.map
|
package/dist/http.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -8,15 +8,20 @@
|
|
|
8
8
|
*
|
|
9
9
|
* claude mcp add axonity -- npx -y @axonity-ai/mcp
|
|
10
10
|
*
|
|
11
|
-
* with AXONITY_TOKEN (a
|
|
11
|
+
* with AXONITY_TOKEN (a personal token, or a service token you still have)
|
|
12
12
|
* and, if self-hosting, AXONITY_API_URL in the environment.
|
|
13
13
|
*
|
|
14
14
|
* It talks to Axonity ONLY over the public REST API; the backend re-enforces
|
|
15
15
|
* tenant + scope on every call. Publishing is human-approved and lands in a
|
|
16
16
|
* later slice (C3) — this connector never publishes directly.
|
|
17
|
+
*
|
|
18
|
+
* The same tools also run hosted by Axonity behind its `/mcp`
|
|
19
|
+
* (AXONITY_MCP_TRANSPORT=http, see `http.ts`), for a caller with a personal
|
|
20
|
+
* token. stdio stays the default.
|
|
17
21
|
*/
|
|
18
22
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
19
23
|
import { AxonityClient } from "./client.js";
|
|
24
|
+
import { type ProbeServer } from "./contract.js";
|
|
20
25
|
import { type EntityDef } from "./tools/register.js";
|
|
21
26
|
/**
|
|
22
27
|
* The entities the connector covers. Core entities (C4), memory entities (C5)
|
|
@@ -33,8 +38,24 @@ export declare const ENTITIES: EntityDef[];
|
|
|
33
38
|
* double satisfy.
|
|
34
39
|
*/
|
|
35
40
|
type ServerLike = Pick<McpServer, "tool">;
|
|
36
|
-
|
|
41
|
+
/** Where the tools are served from, where that changes what a tool may do. */
|
|
42
|
+
export interface RegisterOptions {
|
|
43
|
+
/**
|
|
44
|
+
* Served by Axonity itself (`/mcp`, HTTP mode) rather than as a local process
|
|
45
|
+
* beside the MCP client. A tool that reads THIS machine's files must not do
|
|
46
|
+
* so there: this machine is the Axonity server, not the caller's.
|
|
47
|
+
*/
|
|
48
|
+
hosted?: boolean;
|
|
49
|
+
}
|
|
50
|
+
export declare function registerAll(server: ServerLike, client: AxonityClient, options?: RegisterOptions): void;
|
|
51
|
+
/** How the server introduces itself, on either transport. */
|
|
52
|
+
export declare const SERVER_INFO: {
|
|
53
|
+
name: string;
|
|
54
|
+
version: string;
|
|
55
|
+
};
|
|
37
56
|
export declare function buildServer(client: AxonityClient): McpServer;
|
|
57
|
+
/** The hosted surface: the same tools, for a caller elsewhere. */
|
|
58
|
+
export declare const registerHosted: (server: ProbeServer, client: AxonityClient) => void;
|
|
38
59
|
/**
|
|
39
60
|
* True when this module is the process entry point.
|
|
40
61
|
*
|
package/dist/index.js
CHANGED
|
@@ -8,19 +8,26 @@
|
|
|
8
8
|
*
|
|
9
9
|
* claude mcp add axonity -- npx -y @axonity-ai/mcp
|
|
10
10
|
*
|
|
11
|
-
* with AXONITY_TOKEN (a
|
|
11
|
+
* with AXONITY_TOKEN (a personal token, or a service token you still have)
|
|
12
12
|
* and, if self-hosting, AXONITY_API_URL in the environment.
|
|
13
13
|
*
|
|
14
14
|
* It talks to Axonity ONLY over the public REST API; the backend re-enforces
|
|
15
15
|
* tenant + scope on every call. Publishing is human-approved and lands in a
|
|
16
16
|
* later slice (C3) — this connector never publishes directly.
|
|
17
|
+
*
|
|
18
|
+
* The same tools also run hosted by Axonity behind its `/mcp`
|
|
19
|
+
* (AXONITY_MCP_TRANSPORT=http, see `http.ts`), for a caller with a personal
|
|
20
|
+
* token. stdio stays the default.
|
|
17
21
|
*/
|
|
18
22
|
import { realpathSync } from "node:fs";
|
|
19
23
|
import { pathToFileURL } from "node:url";
|
|
20
24
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
21
25
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
22
26
|
import { AxonityClient } from "./client.js";
|
|
23
|
-
import { loadConfig } from "./config.js";
|
|
27
|
+
import { loadConfig, loadHttpConfig, transportOf } from "./config.js";
|
|
28
|
+
import { startHostedServer } from "./http.js";
|
|
29
|
+
import { forPersonalTokens, routesPerTool } from "./routeClasses.js";
|
|
30
|
+
import { TOKEN_ROUTE_CLASSES } from "./generated/tokenRouteClasses.js";
|
|
24
31
|
import { reportContractSkew } from "./contract.js";
|
|
25
32
|
import { registerConventions } from "./tools/conventions.js";
|
|
26
33
|
import { registerEntityContractTools } from "./tools/entityContract.js";
|
|
@@ -28,7 +35,7 @@ import { FULL_MONTH_NOTE, PERIODS, registerDashboardTools, registerDataSourceToo
|
|
|
28
35
|
import { registerDataTableTools } from "./tools/dataTables.js";
|
|
29
36
|
import { assertFormulaShape, registerMeasureFormulaTools } from "./tools/measureFormula.js";
|
|
30
37
|
import { assertPlaceholderCredentials } from "./tools/credentials.js";
|
|
31
|
-
import { registerAttachTools, registerCatalogTools, registerConnectorTools, registerDependencyTools, registerPersonaTools, } from "./tools/extras.js";
|
|
38
|
+
import { registerAttachTools, registerCatalogTools, registerConnectorTools, registerDependencyTools, registerPersonaTools, registerAgentTeamTools, } from "./tools/extras.js";
|
|
32
39
|
import { registerApplicationTools } from "./tools/applications.js";
|
|
33
40
|
import { registerAccessTools } from "./tools/access.js";
|
|
34
41
|
import { registerAuthoringSpecTools } from "./tools/authoringSpec.js";
|
|
@@ -658,7 +665,7 @@ const VERSIONED = [
|
|
|
658
665
|
publishedPath: "versions",
|
|
659
666
|
},
|
|
660
667
|
];
|
|
661
|
-
export function registerAll(server, client) {
|
|
668
|
+
export function registerAll(server, client, options = {}) {
|
|
662
669
|
registerConventions(server, client);
|
|
663
670
|
for (const def of ENTITIES) {
|
|
664
671
|
// Filters are GENERATED from the pinned schema (#48 M4), never declared on
|
|
@@ -680,8 +687,9 @@ export function registerAll(server, client) {
|
|
|
680
687
|
registerApprovalTools(server, client);
|
|
681
688
|
registerTriggerTools(server, client);
|
|
682
689
|
registerRunTools(server, client);
|
|
683
|
-
registerRunInputFileTools(server, client);
|
|
690
|
+
registerRunInputFileTools(server, client, { hosted: options.hosted === true });
|
|
684
691
|
registerPersonaTools(server, client);
|
|
692
|
+
registerAgentTeamTools(server, client);
|
|
685
693
|
registerConnectorTools(server, client);
|
|
686
694
|
registerAttachTools(server, client);
|
|
687
695
|
registerDependencyTools(server, client);
|
|
@@ -705,13 +713,40 @@ export function registerAll(server, client) {
|
|
|
705
713
|
registerAccessTools(server, client);
|
|
706
714
|
registerKnowledgeGraphTools(server, client);
|
|
707
715
|
}
|
|
716
|
+
/** How the server introduces itself, on either transport. */
|
|
717
|
+
export const SERVER_INFO = { name: "axonity", version: "0.1.0" };
|
|
708
718
|
export function buildServer(client) {
|
|
709
|
-
const server = new McpServer(
|
|
719
|
+
const server = new McpServer(SERVER_INFO);
|
|
710
720
|
registerAll(server, client);
|
|
711
721
|
return server;
|
|
712
722
|
}
|
|
723
|
+
/** The hosted surface: the same tools, for a caller elsewhere. */
|
|
724
|
+
export const registerHosted = (server, client) =>
|
|
725
|
+
// The four-argument `.tool()` every registrar uses; the same cast the
|
|
726
|
+
// startup contract check makes.
|
|
727
|
+
registerAll(server, client, { hosted: true });
|
|
728
|
+
/**
|
|
729
|
+
* The hosted connector (AXONITY_MCP_TRANSPORT=http), started by Axonity beside
|
|
730
|
+
* its API. Every caller holds a personal token, so every tool is worded with
|
|
731
|
+
* what such a token may do there (`routeClasses.ts`). No contract check at
|
|
732
|
+
* startup: it ships in the same image as the API it calls.
|
|
733
|
+
*/
|
|
734
|
+
async function mainHttp() {
|
|
735
|
+
const config = loadHttpConfig();
|
|
736
|
+
const routes = await routesPerTool(registerHosted);
|
|
737
|
+
await startHostedServer({
|
|
738
|
+
...config,
|
|
739
|
+
serverInfo: SERVER_INFO,
|
|
740
|
+
register: registerHosted,
|
|
741
|
+
prepare: (tools) => forPersonalTokens(tools, routes, TOKEN_ROUTE_CLASSES),
|
|
742
|
+
});
|
|
743
|
+
}
|
|
713
744
|
async function main() {
|
|
714
745
|
assertNoExtraArguments(process.argv.slice(2));
|
|
746
|
+
if (transportOf() === "http") {
|
|
747
|
+
await mainHttp();
|
|
748
|
+
return;
|
|
749
|
+
}
|
|
715
750
|
const config = loadConfig();
|
|
716
751
|
const client = new AxonityClient(config);
|
|
717
752
|
const server = buildServer(client);
|