Skip to main content
Glama

MCPMan

by semistrict
invoke-before-eval.test.ts2.32 kB
import { test, expect, describe } from "./test-fixtures.js"; describe("Invoke Before Eval Test", () => { test("should handle invoke call before any eval calls", async ({ client }) => { // Call invoke before any eval - this should initialize the VM context const invokeResult = await client.callTool({ name: "invoke", arguments: { calls: [ { server: "filesystem", tool: "list_allowed_directories", parameters: {}, }, ], parallel: false, }, }); expect(invokeResult.isError).toBeFalsy(); expect(invokeResult.content).toBeDefined(); expect(Array.isArray(invokeResult.content)).toBe(true); // Now call eval to access $results const evalResult = await client.callTool({ name: "eval", arguments: { function: "() => $results.length", }, }); expect(evalResult.isError).toBeFalsy(); expect(evalResult.content).toBeDefined(); const content = evalResult.content as Array<{ type: string; text: string }>; const textContent = content.find((c) => c.type === "text"); expect(textContent).toBeDefined(); expect(textContent?.text).toBe("$results[1] = // eval\n1"); }); test("should store invoke results in $results array accessible from eval", async ({ client }) => { // Call invoke to store a result const invokeResult = await client.callTool({ name: "invoke", arguments: { calls: [ { server: "filesystem", tool: "list_allowed_directories", parameters: {}, }, ], parallel: false, }, }); expect(invokeResult.isError).toBeFalsy(); // Access the stored result from eval - check it's a string (unwrapped) const evalResult = await client.callTool({ name: "eval", arguments: { function: "() => typeof $results[$results.length - 1]", }, }); expect(evalResult.isError).toBeFalsy(); expect(evalResult.content).toBeDefined(); const content = evalResult.content as Array<{ type: string; text: string }>; const textContent = content.find((c) => c.type === "text"); expect(textContent).toBeDefined(); expect(textContent?.text).toBe("$results[1] = // eval\nstring"); }); });

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/semistrict/mcpman'

If you have feedback or need assistance with the MCP directory API, please join our Discord server