Skip to main content
Glama

New Relic MCP Server

by cloudbring
nerdgraph-execution.test.ts1.7 kB
import { beforeEach, describe, expect, it, vi } from 'vitest'; import type { NewRelicClient } from '../../../src/client/newrelic-client'; import { NewRelicMCPServer } from '../../../src/server'; describe('Server Edge Cases: NerdGraph query execution', () => { let _server: NewRelicMCPServer; let mockClient: NewRelicClient; beforeEach(() => { mockClient = { validateCredentials: vi.fn().mockResolvedValue(true), getAccountDetails: vi.fn().mockResolvedValue({ accountId: '123456', name: 'Test Account' }), executeNerdGraphQuery: vi.fn(), } as unknown as NewRelicClient; process.env.NEW_RELIC_API_KEY = 'test-api-key'; process.env.NEW_RELIC_ACCOUNT_ID = '123456'; _server = new NewRelicMCPServer(mockClient); }); it('handles complex GraphQL queries', async () => { mockClient.executeNerdGraphQuery = vi.fn().mockResolvedValue({ data: { actor: { accounts: [ { id: '123', name: 'Account 1' }, { id: '456', name: 'Account 2' }, ], }, }, }) as any; const result = await mockClient.executeNerdGraphQuery('{ actor { accounts { id name } } }'); expect(result.data.actor.accounts).toHaveLength(2); }); it('handles GraphQL errors', async () => { mockClient.executeNerdGraphQuery = vi.fn().mockResolvedValue({ errors: [ { message: 'Field does not exist', extensions: { code: 'GRAPHQL_VALIDATION_FAILED' } }, ], }) as any; const result = await mockClient.executeNerdGraphQuery('{ actor { invalidField } }'); expect(result.errors).toBeDefined(); expect(result.errors[0].message).toContain('Field does not exist'); }); });

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/cloudbring/newrelic-mcp'

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