Skip to main content
Glama

Backlog MCP Server

toolRegistrar.test.ts2.18 kB
import { describe, expect, it, jest } from '@jest/globals'; import { MCPOptions } from '../types/mcp'; import { ToolsetGroup } from '../types/toolsets'; import { createToolRegistrar } from '../utils/toolRegistrar'; import { BacklogMCPServer } from './wrapServerWithToolRegistry'; jest.mock('../registerTools', () => ({ registerTools: jest.fn(), })); const mockSendToolListChanged = jest.fn(); const serverMock = { server: { sendToolListChanged: mockSendToolListChanged, }, tool: jest.fn(), __registeredToolNames: new Set<string>(), registerOnce: () => {}, } as unknown as BacklogMCPServer; const options: MCPOptions = { useFields: true, maxTokens: 5000, prefix: '', }; describe('createToolRegistrar', () => { it('enables a toolset and refreshes tool list', async () => { const toolsetGroup: ToolsetGroup = { toolsets: [ { name: 'issue', description: 'Issue toolset', enabled: false, tools: [], }, ], }; const registrar = createToolRegistrar(serverMock, toolsetGroup, options); const msg = await registrar.enableToolsetAndRefresh('issue'); expect(msg).toBe('Toolset issue enabled'); expect(toolsetGroup.toolsets[0].enabled).toBe(true); expect(mockSendToolListChanged).toHaveBeenCalled(); }); it('returns already enabled message if toolset is already enabled', async () => { const toolsetGroup: ToolsetGroup = { toolsets: [ { name: 'project', description: 'Project toolset', enabled: true, tools: [], }, ], }; const registrar = createToolRegistrar(serverMock, toolsetGroup, options); const msg = await registrar.enableToolsetAndRefresh('project'); expect(msg).toBe('Toolset project is already enabled'); }); it('returns not found message if toolset does not exist', async () => { const toolsetGroup: ToolsetGroup = { toolsets: [], }; const registrar = createToolRegistrar(serverMock, toolsetGroup, options); const msg = await registrar.enableToolsetAndRefresh('unknown'); expect(msg).toBe('Toolset unknown not found'); }); });

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/nulab/backlog-mcp-server'

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