MCPcopy Create free account
hub / github.com/adcontextprotocol/adcp / simulateCallTool

Function simulateCallTool

server/tests/unit/comply-test-controller.test.ts:24–43  ·  view source on GitHub ↗
(
  server: ReturnType<typeof createTrainingAgentServer>,
  toolName: string,
  args: Record<string, unknown>,
)

Source from the content-addressed store, hash-verified

22}
23
24async function simulateCallTool(
25 server: ReturnType<typeof createTrainingAgentServer>,
26 toolName: string,
27 args: Record<string, unknown>,
28): Promise<{ result: Record<string, unknown>; isError?: boolean }> {
29 const requestHandlers = (server as any)._requestHandlers as Map<string, Function>;
30 const handler = requestHandlers.get('tools/call');
31 if (!handler) throw new Error('CallTool handler not found');
32 const response = await handler(
33 { method: 'tools/call', params: { name: toolName, arguments: withIdempotencyKey(toolName, args) } },
34 {},
35 );
36 const text = response.content?.[0]?.text;
37 const parsed: Record<string, unknown> = response.structuredContent
38 ? (response.structuredContent as Record<string, unknown>)
39 : (text ? JSON.parse(text) : {});
40 // Unwrap adcp_error envelope for error responses (L3 compliance format)
41 const result = (parsed.adcp_error as Record<string, unknown> | undefined) ?? parsed;
42 return { result, isError: response.isError };
43}
44
45async function simulateListTools(server: ReturnType<typeof createTrainingAgentServer>) {
46 const requestHandlers = (server as any)._requestHandlers as Map<string, Function>;

Callers 4

createMediaBuyFunction · 0.70
syncCreativeFunction · 0.70

Calls 3

handlerFunction · 0.85
withIdempotencyKeyFunction · 0.70
getMethod · 0.45

Tested by

no test coverage detected