@axtary/mcp 0.0.1 → 0.1.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/dist/server.js ADDED
@@ -0,0 +1,289 @@
1
+ import { spawn } from "node:child_process";
2
+ import { createMcpAction, createMcpToolDefinition, createMcpToolHandler, parseMcpActionCall, } from "./core.js";
3
+ export const MCP_PROTOCOL_VERSION = "2025-06-18";
4
+ export const MCP_WRAPPER_SERVER_NAME = "axtary-mcp-wrapper";
5
+ export function createMcpWrapperTool(input) {
6
+ return {
7
+ definition: createMcpToolDefinition(input.definition),
8
+ invoke: input.invoke,
9
+ };
10
+ }
11
+ export function createMcpToolRouter(tools) {
12
+ const handlers = new Map(tools.map((tool) => [
13
+ tool.definition.name,
14
+ createMcpToolHandler({ definition: tool.definition, invoke: tool.invoke }),
15
+ ]));
16
+ return (request) => {
17
+ const call = parseMcpActionCall(request.action);
18
+ const handler = handlers.get(call.toolName);
19
+ if (!handler) {
20
+ throw new Error(`mcp_tool_not_wrapped:${call.toolName}`);
21
+ }
22
+ return handler(request);
23
+ };
24
+ }
25
+ export class McpWrapperServer {
26
+ config;
27
+ toolsByName;
28
+ constructor(config) {
29
+ this.config = config;
30
+ this.toolsByName = new Map(config.tools.map((tool) => [tool.definition.name, tool]));
31
+ }
32
+ listToolDefinitions() {
33
+ return [...this.toolsByName.values()].map((tool) => tool.definition);
34
+ }
35
+ async handleMessage(raw) {
36
+ if (!raw || typeof raw !== "object" || Array.isArray(raw)) {
37
+ return errorResponse(null, -32600, "invalid_request");
38
+ }
39
+ const message = raw;
40
+ const id = isJsonRpcId(message.id) ? message.id : null;
41
+ const method = typeof message.method === "string" ? message.method : null;
42
+ const params = message.params && typeof message.params === "object" && !Array.isArray(message.params)
43
+ ? message.params
44
+ : {};
45
+ const isNotification = !("id" in message);
46
+ if (!method) {
47
+ return isNotification ? null : errorResponse(id, -32600, "method_required");
48
+ }
49
+ if (isNotification) {
50
+ return null;
51
+ }
52
+ if (method === "initialize") {
53
+ const requestedVersion = typeof params.protocolVersion === "string"
54
+ ? params.protocolVersion
55
+ : MCP_PROTOCOL_VERSION;
56
+ return resultResponse(id, {
57
+ protocolVersion: requestedVersion,
58
+ capabilities: { tools: { listChanged: false } },
59
+ serverInfo: {
60
+ name: this.config.name ?? MCP_WRAPPER_SERVER_NAME,
61
+ version: this.config.version ?? "0.0.1",
62
+ },
63
+ });
64
+ }
65
+ if (method === "ping") {
66
+ return resultResponse(id, {});
67
+ }
68
+ if (method === "tools/list") {
69
+ return resultResponse(id, {
70
+ tools: this.listToolDefinitions().map((definition) => ({
71
+ name: definition.name,
72
+ description: definition.description ??
73
+ `Axtary-wrapped MCP tool from ${definition.serverIdentity}`,
74
+ inputSchema: definition.inputSchema,
75
+ })),
76
+ });
77
+ }
78
+ if (method === "tools/call") {
79
+ return this.handleToolCall(id, params);
80
+ }
81
+ return errorResponse(id, -32601, `method_not_found:${method}`);
82
+ }
83
+ async handleToolCall(id, params) {
84
+ const toolName = typeof params.name === "string" ? params.name : null;
85
+ if (!toolName) {
86
+ return errorResponse(id, -32602, "tool_name_required");
87
+ }
88
+ const tool = this.toolsByName.get(toolName);
89
+ if (!tool) {
90
+ return errorResponse(id, -32602, `unknown_tool:${toolName}`);
91
+ }
92
+ const callArguments = params.arguments && typeof params.arguments === "object" && !Array.isArray(params.arguments)
93
+ ? params.arguments
94
+ : {};
95
+ const action = createMcpAction({
96
+ definition: tool.definition,
97
+ actor: this.config.actor,
98
+ intent: this.config.intent ?? {
99
+ taskId: "mcp-wrapper:session",
100
+ declaredGoal: `MCP tool call ${toolName} through the Axtary wrapper`,
101
+ },
102
+ call: { toolName, arguments: callArguments },
103
+ });
104
+ const result = await this.config.runtime.handle(action);
105
+ if (result.status === "executed") {
106
+ return resultResponse(id, {
107
+ content: [{ type: "text", text: stringifyResult(result.result) }],
108
+ isError: false,
109
+ });
110
+ }
111
+ if (result.status === "blocked") {
112
+ return resultResponse(id, {
113
+ content: [
114
+ {
115
+ type: "text",
116
+ text: `axtary_blocked: ${result.decision.reasons.join(", ")}`,
117
+ },
118
+ ],
119
+ isError: true,
120
+ });
121
+ }
122
+ if (result.status === "failed") {
123
+ return resultResponse(id, {
124
+ content: [
125
+ { type: "text", text: `axtary_execution_failed: ${result.error.reason}` },
126
+ ],
127
+ isError: true,
128
+ });
129
+ }
130
+ return errorResponse(id, -32602, `malformed_action:${result.error.reason}`);
131
+ }
132
+ }
133
+ export function createMcpWrapperServer(config) {
134
+ return new McpWrapperServer(config);
135
+ }
136
+ export class McpStdioClient {
137
+ child;
138
+ timeoutMs;
139
+ pending = new Map();
140
+ buffer = "";
141
+ nextId = 1;
142
+ closed = false;
143
+ serverInfo = null;
144
+ constructor(config) {
145
+ this.timeoutMs = config.timeoutMs ?? 15_000;
146
+ this.child = spawn(config.command, config.args ?? [], {
147
+ cwd: config.cwd,
148
+ env: { ...process.env, ...config.env },
149
+ stdio: ["pipe", "pipe", "pipe"],
150
+ });
151
+ this.child.stdout?.setEncoding("utf8");
152
+ this.child.stdout?.on("data", (chunk) => this.onData(chunk));
153
+ this.child.on("error", (error) => this.rejectAll(error));
154
+ this.child.on("close", () => this.rejectAll(new Error("mcp_upstream_closed")));
155
+ }
156
+ static async start(config) {
157
+ const client = new McpStdioClient(config);
158
+ const initialized = (await client.request("initialize", {
159
+ protocolVersion: MCP_PROTOCOL_VERSION,
160
+ capabilities: {},
161
+ clientInfo: {
162
+ name: config.clientName ?? "axtary-mcp-wrapper",
163
+ version: config.clientVersion ?? "0.0.1",
164
+ },
165
+ }));
166
+ const serverInfo = initialized.serverInfo && typeof initialized.serverInfo === "object" && !Array.isArray(initialized.serverInfo)
167
+ ? initialized.serverInfo
168
+ : {};
169
+ client.serverInfo = {
170
+ name: typeof serverInfo.name === "string" ? serverInfo.name : "upstream",
171
+ version: typeof serverInfo.version === "string" ? serverInfo.version : "unknown",
172
+ protocolVersion: typeof initialized.protocolVersion === "string"
173
+ ? initialized.protocolVersion
174
+ : MCP_PROTOCOL_VERSION,
175
+ };
176
+ client.notify("notifications/initialized", {});
177
+ return client;
178
+ }
179
+ request(method, params) {
180
+ if (this.closed) {
181
+ return Promise.reject(new Error("mcp_upstream_closed"));
182
+ }
183
+ const id = this.nextId;
184
+ this.nextId += 1;
185
+ return new Promise((resolve, reject) => {
186
+ const timer = setTimeout(() => {
187
+ this.pending.delete(id);
188
+ reject(new Error(`mcp_upstream_timeout:${method}`));
189
+ }, this.timeoutMs);
190
+ this.pending.set(id, { resolve, reject, timer });
191
+ this.child.stdin?.write(`${JSON.stringify({ jsonrpc: "2.0", id, method, params })}\n`);
192
+ });
193
+ }
194
+ notify(method, params) {
195
+ this.child.stdin?.write(`${JSON.stringify({ jsonrpc: "2.0", method, params })}\n`);
196
+ }
197
+ async listTools() {
198
+ const result = (await this.request("tools/list", {}));
199
+ const tools = Array.isArray(result.tools) ? result.tools : [];
200
+ return tools.flatMap((tool) => {
201
+ if (!tool || typeof tool !== "object" || Array.isArray(tool)) {
202
+ return [];
203
+ }
204
+ const record = tool;
205
+ if (typeof record.name !== "string" || record.name.length === 0) {
206
+ return [];
207
+ }
208
+ return [
209
+ {
210
+ name: record.name,
211
+ description: typeof record.description === "string" ? record.description : undefined,
212
+ inputSchema: record.inputSchema && typeof record.inputSchema === "object" && !Array.isArray(record.inputSchema)
213
+ ? record.inputSchema
214
+ : {},
215
+ },
216
+ ];
217
+ });
218
+ }
219
+ callTool(name, callArguments) {
220
+ return this.request("tools/call", { name, arguments: callArguments });
221
+ }
222
+ close() {
223
+ this.closed = true;
224
+ this.child.kill("SIGTERM");
225
+ this.rejectAll(new Error("mcp_upstream_closed"));
226
+ }
227
+ onData(chunk) {
228
+ this.buffer += chunk;
229
+ let newlineIndex = this.buffer.indexOf("\n");
230
+ while (newlineIndex !== -1) {
231
+ const line = this.buffer.slice(0, newlineIndex).trim();
232
+ this.buffer = this.buffer.slice(newlineIndex + 1);
233
+ if (line.length > 0) {
234
+ this.onLine(line);
235
+ }
236
+ newlineIndex = this.buffer.indexOf("\n");
237
+ }
238
+ }
239
+ onLine(line) {
240
+ let message;
241
+ try {
242
+ const parsed = JSON.parse(line);
243
+ if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
244
+ return;
245
+ }
246
+ message = parsed;
247
+ }
248
+ catch {
249
+ return;
250
+ }
251
+ const id = typeof message.id === "number" ? message.id : null;
252
+ if (id === null) {
253
+ return;
254
+ }
255
+ const pending = this.pending.get(id);
256
+ if (!pending) {
257
+ return;
258
+ }
259
+ this.pending.delete(id);
260
+ clearTimeout(pending.timer);
261
+ if (message.error && typeof message.error === "object" && !Array.isArray(message.error)) {
262
+ const error = message.error;
263
+ pending.reject(new Error(`mcp_upstream_error:${typeof error.code === "number" ? error.code : "unknown"}:${typeof error.message === "string" ? error.message : "unknown"}`));
264
+ return;
265
+ }
266
+ pending.resolve(message.result ?? null);
267
+ }
268
+ rejectAll(error) {
269
+ this.closed = true;
270
+ for (const [id, pending] of this.pending) {
271
+ this.pending.delete(id);
272
+ clearTimeout(pending.timer);
273
+ pending.reject(error);
274
+ }
275
+ }
276
+ }
277
+ function resultResponse(id, result) {
278
+ return { jsonrpc: "2.0", id, result };
279
+ }
280
+ function errorResponse(id, code, message) {
281
+ return { jsonrpc: "2.0", id, error: { code, message } };
282
+ }
283
+ function isJsonRpcId(value) {
284
+ return typeof value === "string" || typeof value === "number";
285
+ }
286
+ function stringifyResult(result) {
287
+ return typeof result === "string" ? result : JSON.stringify(result);
288
+ }
289
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@axtary/mcp",
3
- "version": "0.0.1",
3
+ "version": "0.1.0",
4
4
  "private": false,
5
5
  "description": "MCP tool provenance helpers and fail-closed handler wrappers for Axtary.",
6
6
  "type": "module",
7
- "license": "UNLICENSED",
7
+ "license": "Apache-2.0",
8
8
  "repository": {
9
9
  "type": "git",
10
10
  "url": "git+https://github.com/axtary/axtary.git",
@@ -26,12 +26,10 @@
26
26
  "prepack": "npm run build"
27
27
  },
28
28
  "files": [
29
+ "LICENSE",
29
30
  "README.md",
30
31
  "dist"
31
32
  ],
32
- "publishConfig": {
33
- "access": "public"
34
- },
35
33
  "main": "./dist/index.js",
36
34
  "exports": {
37
35
  ".": {
@@ -41,8 +39,8 @@
41
39
  },
42
40
  "types": "./dist/index.d.ts",
43
41
  "dependencies": {
44
- "@axtary/actionpass": "0.0.1",
45
- "@axtary/proxy": "0.0.1",
42
+ "@axtary/actionpass": "^0.1.0",
43
+ "@axtary/proxy": "^0.1.0",
46
44
  "zod": "^4.4.3"
47
45
  }
48
46
  }