Skip to main content
Glama
cfocoder

Financial Modeling Prep MCP Server

registerPrompts.test.ts1.87 kB
import { describe, it, expect, vi } from 'vitest'; import { registerPrompts } from './index.js'; describe('registerPrompts', () => { function createMockServer(hasPrompt = true) { const calls: any = {}; const server: any = {}; if (hasPrompt) { server.prompt = vi.fn((_name: string, _title: string, _schema: any, handler: any) => { calls.prompt = { handler }; }); } // ensure no accidental tool alias usage server.tool = vi.fn(); return { server, calls }; } const baseCtx = { mode: 'ALL_TOOLS' as const, version: '1.0.0', listChanged: false, }; it('registers native prompt when supported', async () => { const { server, calls } = createMockServer(true); registerPrompts(server, baseCtx); expect(server.prompt).toHaveBeenCalled(); expect(server.tool).not.toHaveBeenCalled(); // Execute handlers to ensure they return structured content const promptResult = await calls.prompt.handler(); expect(promptResult.messages[0].content[0].text).toContain('# Server Capabilities'); }); it('does nothing when prompt API is not available (no alias)', async () => { const { server } = createMockServer(false); registerPrompts(server, { ...baseCtx, mode: 'STATIC_TOOL_SETS', staticToolSets: ['search'] as any }); expect(server.prompt).toBeUndefined(); expect(server.tool).not.toHaveBeenCalled(); }); it('renders dynamic mode content with meta-tools note', async () => { const { server, calls } = createMockServer(true); registerPrompts(server, { ...baseCtx, mode: 'DYNAMIC_TOOL_DISCOVERY', listChanged: true }); const promptResult = await calls.prompt.handler(); expect(promptResult.messages[0].content[0].text).toContain('enable_toolset'); expect(promptResult.messages[0].content[0].text).toContain('get_toolset_status'); }); });

Latest Blog Posts

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/cfocoder/Financial-Modeling-Prep-MCP-Server'

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