Skip to main content
Glama

WASM MCP Server

by beekmarks
test-helpers.ts2.21 kB
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; // Helper to access private properties for testing export function getPrivateProperty(obj: any, prop: string) { return obj[prop]; } // Helper to get registered tools export function getRegisteredTools(server: McpServer) { return getPrivateProperty(server, '_registeredTools'); } // Helper to get registered resources export function getRegisteredResources(server: McpServer) { return getPrivateProperty(server, '_registeredResources'); } // Helper to get tool handler export function getToolHandler(server: McpServer, toolName: string) { const tools = getRegisteredTools(server); return tools[toolName]; } // Helper to get resource handler export function getResourceHandler(server: McpServer, resourcePath: string) { const resources = getRegisteredResources(server); return resources[resourcePath]; } // Tests for test helpers describe('Test Helpers', () => { const mockServer = { _registeredTools: { test: { callback: () => {} } }, _registeredResources: { 'test://{param}': { readCallback: () => {} } } }; test('getPrivateProperty should access private properties', () => { const tools = getPrivateProperty(mockServer, '_registeredTools'); expect(tools).toBeDefined(); expect(tools.test).toBeDefined(); }); test('getRegisteredTools should return tools', () => { const tools = getRegisteredTools(mockServer as any); expect(tools).toBeDefined(); expect(tools.test).toBeDefined(); }); test('getRegisteredResources should return resources', () => { const resources = getRegisteredResources(mockServer as any); expect(resources).toBeDefined(); expect(resources['test://{param}']).toBeDefined(); }); test('getToolHandler should return specific tool', () => { const tool = getToolHandler(mockServer as any, 'test'); expect(tool).toBeDefined(); expect(tool.callback).toBeDefined(); }); test('getResourceHandler should return specific resource', () => { const resource = getResourceHandler(mockServer as any, 'test://{param}'); expect(resource).toBeDefined(); expect(resource.readCallback).toBeDefined(); }); });

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/beekmarks/mcp-wasm'

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