MCPcopy
hub / github.com/callstack/agent-device / runAgentDeviceMcpServer

Function runAgentDeviceMcpServer

src/mcp/server.ts:9–37  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

7type MessageWriter = (message: unknown) => void;
8
9export async function runAgentDeviceMcpServer(): Promise<void> {
10 const payloadQueue = createMcpPayloadQueue();
11 const decoder = new McpMessageDecoder((payload) => {
12 payloadQueue.push(payload);
13 });
14
15 process.stdin.setEncoding('utf8');
16 process.stdin.on('data', (chunk: string) => {
17 try {
18 decoder.push(chunk);
19 } catch (error) {
20 writeMessage({
21 jsonrpc: '2.0',
22 id: null,
23 error: {
24 code: -32700,
25 message: error instanceof Error ? error.message : String(error),
26 },
27 });
28 }
29 });
30
31 await new Promise<void>((resolve) => {
32 process.stdin.on('end', resolve);
33 process.stdin.on('close', resolve);
34 process.stdin.resume();
35 });
36 await payloadQueue.idle();
37}
38
39export function createMcpPayloadQueue(
40 options: {

Callers 1

bin.tsFile · 0.85

Calls 4

pushMethod · 0.95
createMcpPayloadQueueFunction · 0.85
writeMessageFunction · 0.85
resumeMethod · 0.80

Tested by

no test coverage detected