@robota-sdk/agent-transport-mcp 3.0.0-beta.46 → 3.0.0-beta.48
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 +20 -0
- package/dist/node/index.cjs +30 -2
- package/dist/node/index.d.cts +21 -2
- package/dist/node/index.d.ts +21 -2
- package/dist/node/index.js +28 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -42,6 +42,26 @@ Each tool maps directly to an `InteractiveSession` operation or a system command
|
|
|
42
42
|
|
|
43
43
|
The `submit` tool waits for the session to reach `complete` or `interrupted` state before returning, so MCP clients receive a single text response rather than a stream.
|
|
44
44
|
|
|
45
|
+
## ITransportAdapter
|
|
46
|
+
|
|
47
|
+
The MCP transport implements the `ITransportAdapter` interface from `@robota-sdk/agent-sdk`:
|
|
48
|
+
|
|
49
|
+
```typescript
|
|
50
|
+
import { createMcpTransport } from '@robota-sdk/agent-transport-mcp';
|
|
51
|
+
import type { ITransportAdapter } from '@robota-sdk/agent-sdk';
|
|
52
|
+
|
|
53
|
+
const transport: ITransportAdapter = createMcpTransport({
|
|
54
|
+
name: 'robota-agent',
|
|
55
|
+
version: '1.0.0',
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
transport.attach(interactiveSession);
|
|
59
|
+
await transport.start();
|
|
60
|
+
|
|
61
|
+
// Access the underlying MCP server
|
|
62
|
+
const server = transport.getServer();
|
|
63
|
+
```
|
|
64
|
+
|
|
45
65
|
## Dependencies
|
|
46
66
|
|
|
47
67
|
- `@robota-sdk/agent-sdk` — `InteractiveSession`
|
package/dist/node/index.cjs
CHANGED
|
@@ -20,7 +20,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// src/index.ts
|
|
21
21
|
var index_exports = {};
|
|
22
22
|
__export(index_exports, {
|
|
23
|
-
createAgentMcpServer: () => createAgentMcpServer
|
|
23
|
+
createAgentMcpServer: () => createAgentMcpServer,
|
|
24
|
+
createMcpTransport: () => createMcpTransport
|
|
24
25
|
});
|
|
25
26
|
module.exports = __toCommonJS(index_exports);
|
|
26
27
|
|
|
@@ -124,7 +125,34 @@ function waitForCompletion(session, prompt) {
|
|
|
124
125
|
});
|
|
125
126
|
});
|
|
126
127
|
}
|
|
128
|
+
|
|
129
|
+
// src/mcp-transport.ts
|
|
130
|
+
function createMcpTransport(options) {
|
|
131
|
+
let session = null;
|
|
132
|
+
let server = null;
|
|
133
|
+
return {
|
|
134
|
+
name: "mcp",
|
|
135
|
+
attach(s) {
|
|
136
|
+
session = s;
|
|
137
|
+
},
|
|
138
|
+
async start() {
|
|
139
|
+
if (!session) throw new Error("No session attached. Call attach() first.");
|
|
140
|
+
server = createAgentMcpServer({ ...options, session });
|
|
141
|
+
},
|
|
142
|
+
async stop() {
|
|
143
|
+
if (server) {
|
|
144
|
+
await server.close();
|
|
145
|
+
server = null;
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
getServer() {
|
|
149
|
+
if (!server) throw new Error("Transport not started. Call start() first.");
|
|
150
|
+
return server;
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
}
|
|
127
154
|
// Annotate the CommonJS export names for ESM import in node:
|
|
128
155
|
0 && (module.exports = {
|
|
129
|
-
createAgentMcpServer
|
|
156
|
+
createAgentMcpServer,
|
|
157
|
+
createMcpTransport
|
|
130
158
|
});
|
package/dist/node/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
2
|
-
import { InteractiveSession } from '@robota-sdk/agent-sdk';
|
|
2
|
+
import { InteractiveSession, ITransportAdapter } from '@robota-sdk/agent-sdk';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* MCP transport adapter — exposes InteractiveSession as an MCP server.
|
|
@@ -36,4 +36,23 @@ interface IAgentMcpOptions {
|
|
|
36
36
|
*/
|
|
37
37
|
declare function createAgentMcpServer(options: IAgentMcpOptions): Server;
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
/**
|
|
40
|
+
* ITransportAdapter implementation for MCP transport.
|
|
41
|
+
*
|
|
42
|
+
* Wraps createAgentMcpServer into the unified ITransportAdapter interface
|
|
43
|
+
* while exposing the underlying MCP Server via getServer().
|
|
44
|
+
*/
|
|
45
|
+
|
|
46
|
+
interface IMcpTransportOptions {
|
|
47
|
+
/** Name for the MCP server. */
|
|
48
|
+
name: string;
|
|
49
|
+
/** Version string. */
|
|
50
|
+
version: string;
|
|
51
|
+
/** If true, register each system command as a separate MCP tool. Default: true. */
|
|
52
|
+
exposeCommands?: boolean;
|
|
53
|
+
}
|
|
54
|
+
declare function createMcpTransport(options: IMcpTransportOptions): ITransportAdapter & {
|
|
55
|
+
getServer(): Server;
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
export { type IAgentMcpOptions, type IMcpTransportOptions, createAgentMcpServer, createMcpTransport };
|
package/dist/node/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
2
|
-
import { InteractiveSession } from '@robota-sdk/agent-sdk';
|
|
2
|
+
import { InteractiveSession, ITransportAdapter } from '@robota-sdk/agent-sdk';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* MCP transport adapter — exposes InteractiveSession as an MCP server.
|
|
@@ -36,4 +36,23 @@ interface IAgentMcpOptions {
|
|
|
36
36
|
*/
|
|
37
37
|
declare function createAgentMcpServer(options: IAgentMcpOptions): Server;
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
/**
|
|
40
|
+
* ITransportAdapter implementation for MCP transport.
|
|
41
|
+
*
|
|
42
|
+
* Wraps createAgentMcpServer into the unified ITransportAdapter interface
|
|
43
|
+
* while exposing the underlying MCP Server via getServer().
|
|
44
|
+
*/
|
|
45
|
+
|
|
46
|
+
interface IMcpTransportOptions {
|
|
47
|
+
/** Name for the MCP server. */
|
|
48
|
+
name: string;
|
|
49
|
+
/** Version string. */
|
|
50
|
+
version: string;
|
|
51
|
+
/** If true, register each system command as a separate MCP tool. Default: true. */
|
|
52
|
+
exposeCommands?: boolean;
|
|
53
|
+
}
|
|
54
|
+
declare function createMcpTransport(options: IMcpTransportOptions): ITransportAdapter & {
|
|
55
|
+
getServer(): Server;
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
export { type IAgentMcpOptions, type IMcpTransportOptions, createAgentMcpServer, createMcpTransport };
|
package/dist/node/index.js
CHANGED
|
@@ -98,6 +98,33 @@ function waitForCompletion(session, prompt) {
|
|
|
98
98
|
});
|
|
99
99
|
});
|
|
100
100
|
}
|
|
101
|
+
|
|
102
|
+
// src/mcp-transport.ts
|
|
103
|
+
function createMcpTransport(options) {
|
|
104
|
+
let session = null;
|
|
105
|
+
let server = null;
|
|
106
|
+
return {
|
|
107
|
+
name: "mcp",
|
|
108
|
+
attach(s) {
|
|
109
|
+
session = s;
|
|
110
|
+
},
|
|
111
|
+
async start() {
|
|
112
|
+
if (!session) throw new Error("No session attached. Call attach() first.");
|
|
113
|
+
server = createAgentMcpServer({ ...options, session });
|
|
114
|
+
},
|
|
115
|
+
async stop() {
|
|
116
|
+
if (server) {
|
|
117
|
+
await server.close();
|
|
118
|
+
server = null;
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
getServer() {
|
|
122
|
+
if (!server) throw new Error("Transport not started. Call start() first.");
|
|
123
|
+
return server;
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
}
|
|
101
127
|
export {
|
|
102
|
-
createAgentMcpServer
|
|
128
|
+
createAgentMcpServer,
|
|
129
|
+
createMcpTransport
|
|
103
130
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@robota-sdk/agent-transport-mcp",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.48",
|
|
4
4
|
"description": "MCP transport adapter for exposing InteractiveSession as an MCP server",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/node/index.js",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"@modelcontextprotocol/sdk": "^1.28.0",
|
|
26
26
|
"zod": "^3.24.4",
|
|
27
|
-
"@robota-sdk/agent-sdk": "3.0.0-beta.
|
|
27
|
+
"@robota-sdk/agent-sdk": "3.0.0-beta.48"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"rimraf": "^5.0.5",
|