Skip to main content
Glama
cloudbring

New Relic MCP Server

by cloudbring

New Relic MCP Server

A Model Context Protocol (MCP) server that provides seamless integration with New Relic's observability platform. Query metrics, manage alerts, monitor applications, and interact with your entire observability stack through a simple, unified interface.

Disclaimer: This is an unofficial community project and is not affiliated with, endorsed by, or supported by New Relic, Inc. All trademarks are the property of their respective owners.

Features

  • 📊 NRQL Queries - Execute powerful queries to analyze your data

  • 🚀 APM Integration - Monitor application performance and health

  • 🔔 Alert Management - View and acknowledge alerts and incidents

  • 🔍 Entity Search - Discover and inspect entities across your infrastructure

  • 📈 Synthetics Monitoring - Manage synthetic monitors and checks

  • 🔧 NerdGraph API - Direct access to New Relic's GraphQL API

  • 🌐 REST v2 Tools (2.0+) - High‑value REST endpoints for deployments, APM apps, metrics, and alerts

Related MCP server: New Relic NerdGraph MCP Server

Installation

Quick Install with Smithery

To install or deploy via Smithery, see the official docs: Deployments, Project Configuration, and smithery.yaml Reference.

To install New Relic MCP for Claude Desktop automatically via Smithery:

npx @smithery/cli install @cloudbring/newrelic-mcp --client claude

We recommend the Smithery CLI for local development, inspection, and deployment flows. Benefits:

  • Unified dev/build/deploy workflow, client‑agnostic

  • Dev server with hot‑reload and playground (optional tunnel)

  • Build bundles for stdio or shttp transports

  • Inspect a server interactively; run with supplied config

  • Simple install per client

Examples:

# Hot‑reload dev server
npx @smithery/cli dev src/server.ts --port 8181 --no-open

# Build production bundle (shttp transport)
npx @smithery/cli build src/server.ts --out .smithery/index.cjs --transport shttp

# Inspect a published server
npx @smithery/cli inspect @cloudbring/newrelic-mcp

# Run with config (env via JSON)
npx @smithery/cli run @cloudbring/newrelic-mcp --config '{"NEW_RELIC_API_KEY":"...","NEW_RELIC_ACCOUNT_ID":"...","NEW_RELIC_REGION":"US"}'

# Install into a specific client
npx @smithery/cli install newrelic-mcp --client claude

# Open playground
npx @smithery/cli playground --port 3001

Notes:

  • This repo includes a minimal smithery.yaml with runtime: "typescript" to align with TypeScript‑first deployments.

  • See the CLI reference for all commands and flags: smithery-ai/cli.

Manual Installation

Add to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "newrelic": {
      "command": "npx",
      "args": [
        "-y",
        "newrelic-mcp"
      ],
      "env": {
        "NEW_RELIC_API_KEY": "your-api-key-here",
        "NEW_RELIC_ACCOUNT_ID": "your-account-id",
        "NEW_RELIC_REGION": "US"
      }
    }
  }
}

Add to your Cline settings in VS Code:

{
  "cline.mcpServers": [
    {
      "name": "newrelic",
      "command": "npx",
      "args": ["-y", "newrelic-mcp"],
      "env": {
        "NEW_RELIC_API_KEY": "your-api-key-here",
        "NEW_RELIC_ACCOUNT_ID": "your-account-id",
        "NEW_RELIC_REGION": "US"
      }
    }
  ]
}

Add to your Zed configuration file at ~/.config/zed/settings.json:

{
  "language_models": {
    "mcp": {
      "servers": {
        "newrelic": {
          "command": "npx",
          "args": ["-y", "newrelic-mcp"],
          "env": {
            "NEW_RELIC_API_KEY": "your-api-key-here",
            "NEW_RELIC_ACCOUNT_ID": "your-account-id"
          }
        }
      }
    }
  }
}

Add to your Windsurf Cascade configuration:

{
  "mcpServers": {
    "newrelic": {
      "command": "npx",
      "args": ["-y", "newrelic-mcp"],
      "env": {
        "NEW_RELIC_API_KEY": "your-api-key-here",
        "NEW_RELIC_ACCOUNT_ID": "your-account-id",
        "NEW_RELIC_REGION": "US"
      }
    }
  }
}
  1. Clone the repository:

git clone https://github.com/cloudbring/newrelic-mcp.git
cd newrelic-mcp
  1. Install dependencies and build:

npm install
npm run build
  1. Add to your MCP client configuration:

{
  "mcpServers": {
    "newrelic": {
      "command": "node",
      "args": ["/path/to/newrelic-mcp/dist/server.js"],
      "env": {
        "NEW_RELIC_API_KEY": "your-api-key-here",
        "NEW_RELIC_ACCOUNT_ID": "your-account-id",
        "NEW_RELIC_REGION": "US"
      }
    }
  }
}

Configuration

Required Environment Variables

  • NEW_RELIC_API_KEY - Your New Relic User API Key (required)

  • NEW_RELIC_ACCOUNT_ID - Your New Relic Account ID (optional, can be provided per tool call)

  • NEW_RELIC_REGION - New Relic data center region: US (default) or EU (optional)

Getting Your New Relic Credentials

  1. API Key:

    • Log in to New Relic

    • Navigate to API Keys in the left sidebar

    • Create a new User API Key with appropriate permissions

  2. Account ID:

    • Find your Account ID in the URL when logged into New Relic

    • Or navigate to AdministrationAccess managementAccounts

  3. Region:

    • Set NEW_RELIC_REGION=US for US data center (default)

    • Set NEW_RELIC_REGION=EU for EU data center

    • If not specified, defaults to US

For detailed setup instructions, see docs/new-relic-setup.md.

Usage Examples

Once configured, you can interact with New Relic through your MCP client:

Query Your Data

"Show me the average response time for my web application over the last hour"
"What are the top 10 slowest database queries today?"
"Display error rate trends for the production environment"

Monitor Applications

"List all my APM applications and their current status"
"Show me the health of my Node.js services"
"Which applications have active alerts?"

Manage Alerts

"Show me all open incidents"
"What critical alerts fired in the last 24 hours?"
"Acknowledge incident #12345"

Search Infrastructure

"Find all Redis databases in production"
"Show me entities with high CPU usage"
"List all synthetic monitors and their success rates"

Tool Reference

Below is a concise catalog of all MCP tools exposed by this server. See the docs folder for detailed stories/specs.

NerdGraph/GraphQL tools

Tool

Summary

run_nrql_query

Execute NRQL queries (requires target_account_id)

run_nerdgraph_query

Execute raw NerdGraph GraphQL queries

list_apm_applications

List APM applications via NerdGraph

search_entities

Search entities (name, type, tags)

get_entity_details

Fetch details for a GUID

list_alert_policies

List alert policies via NerdGraph

list_open_incidents

List open incidents via NerdGraph

acknowledge_incident

Acknowledge an incident (NerdGraph only)

list_synthetics_monitors

List Synthetics monitors

create_browser_monitor

Create a browser monitor

get_account_details

Fetch account metadata

REST v2 tools (added in v2.0)

Tool

Summary

Notes

create_deployment

Create deployment marker for an APM application

Inputs: application_id, revision; optional changelog, description, user; supports region

list_deployments_rest

List deployments for an app

Supports page, auto_paginate, region

delete_deployment

Delete deployment marker

Requires confirm: true; User API key must have admin role permissions

list_apm_applications_rest

List APM apps via REST

Filters: filter[name], filter[host], filter[ids], filter[language]; auto‑paginate

list_metric_names_for_host

List metric names/values for host

Inputs: application_id, host_id, optional name; auto‑paginate

get_metric_data_for_host

Get timeslice metric data for host

Inputs: application_id, host_id, names[]; optional values[], from, to, period, summarize; auto‑paginate

list_application_hosts

List hosts for an APM app

Filters: filter[hostname], filter[ids]; auto‑paginate

list_alert_policies_rest

List alert policies via REST

Optional filter_name; supports pagination

list_open_incidents_rest

List incidents via REST

Server has no only_open/priority filters; these are applied client‑side; auto‑paginate

References:

  • Detailed specs and schemas: docs/REST_ENDPOINT_TOOL.md and docs/rest-tools-stories/*

Troubleshooting

If you're having trouble connecting:

  1. Verify your API key is valid:

    For US region:

    curl -X POST https://api.newrelic.com/graphql \
      -H 'Content-Type: application/json' \
      -H 'API-Key: YOUR_API_KEY' \
      -d '{"query":"{ actor { user { email } } }"}'

    For EU region:

    curl -X POST https://api.eu.newrelic.com/graphql \
      -H 'Content-Type: application/json' \
      -H 'API-Key: YOUR_API_KEY' \
      -d '{"query":"{ actor { user { email } } }"}'
  2. Check that your Account ID is correct

  3. Ensure your API key has the necessary permissions

  4. Check the MCP client logs for detailed error messages

If you receive permission errors:

  1. Verify your API key has the required permissions:

    • For NRQL queries: NRQL query permission

    • For APM data: APM read permissions

    • For alerts: Alerts read/write permissions

  2. Create a new API key with broader permissions if needed

Development

Project Structure

src/
├── server.ts           # Main MCP server implementation
├── client/
│   └── newrelic-client.ts  # New Relic API client
└── tools/
    ├── nrql.ts         # NRQL query tool
    ├── apm.ts          # APM applications tool
    ├── entity.ts       # Entity management tools
    ├── alert.ts        # Alert and incident tools
    ├── synthetics.ts   # Synthetics monitoring tools
    └── nerdgraph.ts    # NerdGraph query tool

Setup Development Environment

  1. Clone the repository:

git clone https://github.com/cloudbring/newrelic-mcp.git
cd newrelic-mcp
  1. Install dependencies:

npm install
  1. Create a .env file:

NEW_RELIC_API_KEY=your-api-key-here
NEW_RELIC_ACCOUNT_ID=your-account-id
NEW_RELIC_REGION=US
  1. Build the project:

npm run build

Development Commands

# Start development server with hot reload
npm run dev

# Build for production
npm run build

# Run tests
npm test

# Run tests with coverage
npm run test:coverage

# Run linting
npm run lint

# Format code
npm run format

# Test server startup
npm run test:server

Testing

The project uses Test-Driven Development (TDD) with:

  • Vitest for unit testing

  • Gherkin for BDD testing

  • Evalite for LLM response validation

# Run all tests
npm test

# Run with coverage
npm run test:coverage

# Run BDD tests only
npm run test:bdd

# Run integration tests with real API
USE_REAL_ENV=true npm test

Debugging

Use the MCP Inspector to test and debug the server:

# Run with MCP Inspector
npm run inspect

# Run with development server
npm run inspect:dev

# Run with environment variables
npm run inspect:env

See docs/mcp-inspector-setup.md for detailed instructions.

Architecture

The server follows a modular architecture with:

  • Client Layer: Handles New Relic API communication

  • Tools Layer: Implements MCP tool specifications

  • Server Layer: Manages MCP protocol and tool routing

Each tool:

  • Has a single, focused purpose

  • Validates inputs using Zod schemas

  • Returns structured, typed responses

  • Includes comprehensive error handling

Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

Development Workflow

  1. Fork the repository

  2. Create a feature branch (git checkout -b feature/amazing-feature)

  3. Write tests first (TDD approach)

  4. Implement your feature

  5. Ensure all tests pass (npm test)

  6. Maintain >90% code coverage

  7. Run linting (npm run lint)

  8. Commit your changes (commits will be auto-formatted)

  9. Push to your branch

  10. Open a Pull Request

Code Style

This project uses:

  • Biome for linting and formatting

  • TypeScript with strict mode

  • 2 spaces for indentation

  • Single quotes for strings

  • Semicolons always

Documentation

Comparisons

We researched other public New Relic MCP servers and did not find any actively maintained, feature‑complete alternatives at the time of writing. If you know of one, please open an issue to add it here.

Project

Status

Transport(s)

Deployments

APM Apps

Metrics

Alerts

Synthetics

Notes

This project (newrelic-mcp)

Active

NerdGraph + REST v2

Create/List/Delete

List (NerdGraph + REST)

Host names + timeslices (REST)

Policies + Incidents (NG + REST)

List/Create (browser)

Comprehensive tests and docs

Planned enhancements (based on REST v2 catalog and user demand):

  • Alerts: violations and conditions management via REST where available

  • Metrics: broader app‑level metrics endpoints (names/data) beyond per‑host

  • Additional REST coverage: labels, key transactions, mobile apps (prioritized by feedback)

Support

License

This project is licensed under the MIT License - see the LICENSE file for details.

Disclaimer

This project is not affiliated with, endorsed by, or supported by New Relic, Inc. It is an independent open-source project that uses New Relic's public APIs.

Acknowledgments


Made with ❤️ by @cloudbring using Cursor and Claude Code

Available Tools

18 tools
acknowledge_incidentB

Acknowledge an open incident

ParametersJSON Schema
NameRequiredDescriptionDefault
incident_idYesThe ID of the incident to acknowledge

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral transparency. It only states 'acknowledge' without detailing side effects (e.g., state changes, notifications) or permissions needed. This is insufficient for an action that likely modifies state.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single efficient sentence with no wasted words. However, it could incorporate additional useful context without becoming verbose. Still, it is appropriately sized for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and lack of behavioral details, the description is incomplete. It does not explain return values (e.g., success confirmation, error messages) or authentication/authorization prerequisites, leaving the agent underinformed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers 100% of parameters with descriptions, so baseline is 3. The description adds no additional meaning beyond what the schema already provides for 'incident_id'. It merely restates the tool's purpose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Acknowledge an open incident' clearly specifies the action (acknowledge) on a resource (incident), distinguishing it from sibling tools like list_open_incidents which list incidents. It is concise and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, such as when to acknowledge vs. close an incident, or any prerequisites. The agent receives no context for decision-making.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_browser_monitorB

Create a new browser-based Synthetics monitor

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName of the monitor
urlYesURL to monitor
frequencyYesCheck frequency in minutes
locationsYesLocation codes for monitoring
target_account_idNoOptional New Relic account ID

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fails to disclose behavioral traits like side effects, idempotency, or authentication requirements. Simply stating it creates a monitor is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no wasted words. It is front-loaded with the verb and object.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description omits important details like return values, prerequisites, or error conditions. For a creation tool with no output schema, more context is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the description adds no extra meaning beyond the parameter descriptions. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Create') and the specific resource ('browser-based Synthetics monitor'), distinguishing it from sibling tools like list_synthetics_monitors.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, such as other monitor creation tools or modification tools. The description lacks context for appropriate usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_deploymentC

Create a deployment marker for an APM application (REST v2).

ParametersJSON Schema
NameRequiredDescriptionDefault
application_idYes
revisionYes
changelogNo
descriptionNo
userNo
regionNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must reveal behavioral traits. It only indicates creation, omitting side effects, idempotency, authorization needs, or output details. The lack of disclosure is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise, but it omits critical information about parameters and usage. It is not front-loaded effectively, and the brevity comes at the cost of informativeness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (6 parameters, no output schema, no annotations), the description is severely incomplete. It fails to cover parameter meanings, expected behavior, or any operational context necessary for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, and the description does not explain any of the six parameters (application_id, revision, changelog, description, user, region). The region enum is present in schema but unmentioned. The description adds no semantic value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates a deployment marker for an APM application, specifying the REST API version. This verb+resource construction differentiates it from sibling tools like delete_deployment or list_deployments_rest.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, such as delete_deployment or list_deployments_rest. No context about prerequisites, limitations, or typical use cases is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_deploymentA

Delete a deployment record (REST v2). Requires admin role permissions.

ParametersJSON Schema
NameRequiredDescriptionDefault
application_idYes
idYes
confirmYes
regionNo

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Clearly indicates destructive nature ('Delete') and permission requirement. Without annotations, description is transparent about core behavior, though lacks details on reversibility or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with essential information front-loaded; no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 4 parameters, a required boolean 'confirm', and no output schema, description lacks sufficient detail for an agent to confidently invoke the tool without additional info.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the tool description provides no explanation of parameters (application_id, id, confirm, region). Agents cannot infer parameter meaning from description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action ('Delete') and resource ('deployment record'), with API version noted. Distinguishes from siblings like create_deployment and list_deployments_rest.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Mentions required admin role permissions but does not provide guidance on when to use this tool versus alternatives, nor exclusions or prerequisites beyond role.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_account_detailsC

Get New Relic account details

ParametersJSON Schema
NameRequiredDescriptionDefault
target_account_idNoOptional account ID to get details for

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must carry the full burden of explaining behavior. It only states 'Get' without indicating read-only nature, error handling, or permission requirements, which is insufficient for a tool that may have side effects or access controls.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no extraneous content. It is appropriately concise for a simple tool, though it could benefit from slightly more detail without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has one optional parameter and no output schema, the description is minimally adequate. It does not cover expected return values or error conditions, but the overall simplicity makes it sufficient for a basic get operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents the optional target_account_id. The description adds no extra meaning beyond what the schema provides, earning a baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'New Relic account details', making the purpose understandable. It is distinct from siblings like get_entity_details, which targets different data. However, it could be more specific about what details are included.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as get_entity_details. The description does not include any context about prerequisites or typical use cases, leaving the agent to infer usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_entity_detailsB

Get detailed information about a specific entity

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_guidYesThe GUID of the entity

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description must disclose behavior. It only says 'detailed information' without specifying what that includes, or any traits like read-only, idempotency, or performance. For a simple get operation, more detail would help.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is elegantly short—one sentence of six words. Every word contributes meaning with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool (one required parameter, no output schema, no annotations), the description is minimally adequate. It lacks details about return values or error conditions, but for a basic read operation, it may suffice.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage for the single parameter (entity_guid). The description adds 'detailed information' but not much beyond the schema's own description. Baseline 3 applies since schema covers the parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get detailed information about a specific entity' clearly states the verb (Get) and resource (entity details). It distinguishes from sibling tools like list_open_incidents or search_entities by implying retrieval of a single entity's full detail. However, 'entity' is broad and could be more specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like get_account_details or search_entities. The description lacks context for choosing among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_metric_data_for_hostC

Get metric timeslices for metrics on a host (REST v2).

ParametersJSON Schema
NameRequiredDescriptionDefault
application_idYes
host_idYes
namesYes
valuesNo
fromNo
toNo
periodNo
summarizeNo
pageNo
auto_paginateNo
regionNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are absent; the description only mentions 'REST v2' but doesn't disclose pagination, rate limits, or data format, leaving significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence is concise but too brief for a tool with many parameters; it could include more detail without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 11 parameters, no annotations, and no output schema, the description fails to provide essential context like return format, pagination behavior, or interpretation of results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description provides no explanation for any of the 11 parameters, forcing the agent to rely solely on parameter names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves metric timeslices for a host, distinguishing it from sibling tools like list_metric_names_for_host and run_nrql_query.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, such as run_nrql_query for custom queries or listing metrics first.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_alert_policiesB

List all alert policies in your New Relic account

ParametersJSON Schema
NameRequiredDescriptionDefault
target_account_idNoOptional New Relic account ID

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description indicates a read operation but does not mention pagination, rate limits, or any other behaviors beyond listing. Insufficient for a non-annotated tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no unnecessary words, front-loaded key information. Efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with one optional parameter and no output schema, the description is minimally adequate. Could mention if results are paginated or the default account context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers the only parameter with a description. Description adds no additional meaning beyond the schema, meeting the baseline for high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the action (list) and resource (alert policies) with scope (in your New Relic account). Distinguished from siblings like list_apm_applications or list_synthetics_monitors.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like search_entities or list_open_incidents. Implicitly clear from the resource name, but no explicit context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_apm_applicationsC

List all APM applications in your New Relic account

ParametersJSON Schema
NameRequiredDescriptionDefault
target_account_idNoOptional New Relic account ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description must disclose behavior. It only states it lists applications, with no mention of side effects, authentication, rate limits, or pagination. For a read-only list, minimal transparency is provided.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence (10 words) with no unnecessary details, front-loading the core purpose efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description should explain what the list includes (e.g., IDs, names, metadata). It lacks these details, making the tool's output unclear to the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single optional parameter is documented in the schema with a description. The tool description adds no further meaning, so with 100% schema coverage, baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List all APM applications in your New Relic account', specifying the verb (list), resource (APM applications), and scope (account). However, it does not differentiate from the sibling tool 'list_apm_applications_rest', which may cause confusion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'list_apm_applications_rest' or other listing tools. The description lacks explicit context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_apm_applications_restC

List APM applications via REST v2.

ParametersJSON Schema
NameRequiredDescriptionDefault
filter_nameNo
filter_hostNo
filter_idsNo
filter_languageNo
pageNo
auto_paginateNo
regionNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist. Description only states it lists applications via REST v2, omitting behavioral details like pagination (via page/auto_paginate parameters), filtering capabilities, or response structure. Minimal transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise (one sentence) but underspecified. It lacks any structure like parameter descriptions or examples, making it too terse for a tool with 7 parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, no annotations, and 7 parameters, the description is far from complete. It does not explain return values, pagination behavior, or how filters interact. Inadequate for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, yet the description adds no information about the 7 parameters (e.g., filter_name, page, region). The tool relies entirely on the schema field names for meaning, which is insufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states verb 'List' and resource 'APM applications' via REST v2, making purpose clear. However, it does not explicitly differentiate from sibling 'list_apm_applications', though the 'REST v2' hint implies a distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like 'list_apm_applications'. No prerequisites, caveats, or exclusions provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_application_hostsC

List hosts for an APM application (REST v2).

ParametersJSON Schema
NameRequiredDescriptionDefault
application_idYes
filter_hostnameNo
filter_idsNo
pageNo
auto_paginateNo
regionNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description does not disclose pagination, rate limits, or read-only nature; only states it's REST v2.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence is efficient but lacks necessary detail; not verbose but insufficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 6 parameters and no output schema, description fails to explain pagination, filtering, or return structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%; description adds no meaning beyond parameter names like 'filter_hostname' or 'auto_paginate'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'List hosts for an APM application' with verb and resource, but doesn't differentiate from sibling tools like list_apm_applications or get_entity_details.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives; only implies usage context via description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_deployments_restC

List deployments for an APM application (REST v2).

ParametersJSON Schema
NameRequiredDescriptionDefault
application_idYes
pageNo
auto_paginateNo
regionNo

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It only states 'List deployments' implying read-only, but fails to mention pagination behavior, error handling, or any side effects. Key details like pagination parameters are omitted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no structure. While concise, it is under-specified and lacks bullet points, examples, or organization. It could be more informative without adding length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 4 parameters, no output schema, and no annotations, the description is severely incomplete. It does not explain output format, pagination, region selection, or error behavior. The agent has insufficient context to use the tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%; the description adds no meaning to any parameter. It does not explain application_id, page, auto_paginate, or region. The agent has no semantic guidance beyond the schema's type/enum constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'list' and resource 'deployments', specifying scope 'for an APM application'. It distinguishes from sibling tools like create_deployment, delete_deployment, and list_apm_applications.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as search_entities or run_nrql_query. No mention of prerequisites or context for use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_metric_names_for_hostC

List metric names and values for a specific application host (REST v2).

ParametersJSON Schema
NameRequiredDescriptionDefault
application_idYes
host_idYes
nameNo
pageNo
auto_paginateNo
regionNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, and the description lacks behavioral details like authentication, rate limits, or pagination behavior. Only states a simple list operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence is concise and front-loaded, but too terse given the tool has 6 parameters. Could be more informative without adding length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Description lacks essential context: no mention of optional pagination, filtering by name, region selection, or output format. Incomplete for a tool with 6 parameters and no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description adds no meaning to parameters. It does not explain the purpose of 'name', 'page', 'auto_paginate', or 'region' beyond their types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action 'List' and resource 'metric names and values for a specific application host'. It distinguishes from siblings like 'list_application_hosts' and 'get_metric_data_for_host', but does not explicitly differentiate. Slight inconsistency: name says 'metric_names' but description adds 'and values'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as 'get_metric_data_for_host'. Does not mention context for pagination or filtering.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_open_incidentsB

List all open incidents in your New Relic account

ParametersJSON Schema
NameRequiredDescriptionDefault
target_account_idNoOptional New Relic account ID
priorityNoFilter by incident priority

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Given no annotations, the description carries the full burden. It does not disclose that the operation is read-only, nor does it mention any authentication requirements, rate limits, or potential side effects. The word 'list' implies read-only but is not explicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the core purpose. However, it could be slightly expanded with minimal context without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema is provided, and the description does not mention return format, pagination, or limits. For a list tool, this is a significant gap. The description is too minimal for complete context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema coverage is 100%, so the schema fully describes both parameters. The description adds no extra meaning or usage context beyond what the schema provides. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (list), the resource (open incidents), and the scope (your New Relic account). It is specific and distinguishes from sibling tools like acknowledge_incident or search_entities, as it focuses on listing open incidents.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, such as when to use acknowledge_incident for acknowledging incidents or search_entities for broader search. No contextual exclusions or recommendations are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_synthetics_monitorsB

List all Synthetics monitors in your New Relic account

ParametersJSON Schema
NameRequiredDescriptionDefault
target_account_idNoOptional New Relic account ID
monitor_typeNoFilter by monitor type

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description should disclose behavioral traits like pagination or rate limits. It only says 'list all', without addressing potential large result sets or limitations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that covers the essential purpose with no extraneous words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description is adequate for a simple list operation but lacks details on return format, pagination, or error handling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema's parameter descriptions, which are already clear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and the resource 'all Synthetics monitors', effectively distinguishing it from sibling tools like list_alert_policies or list_apm_applications.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, nor any exclusions or conditions. It simply states what it does without context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_nerdgraph_queryB

Execute a custom NerdGraph GraphQL query

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe GraphQL query to execute
variablesNoOptional GraphQL variables to supply to the query

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are absent, so description must cover behavior. It only states 'execute' without noting that it supports both queries and mutations, requires authentication, or may have rate limits. Does not disclose potential destructive actions if mutations are allowed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no redundant words. Immediately conveys the core action and target.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite high schema coverage and no output schema, the description lacks critical context: it does not explain that the response is a GraphQL result, mention any error handling, or note that queries/mutations target New Relic data. For a flexible custom query tool, this is insufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with 'query' and 'variables' fields clearly described. The tool description adds no additional meaning beyond what the schema provides, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Execute a custom NerdGraph GraphQL query', providing a specific verb and resource. It distinguishes from siblings like 'run_nrql_query' by naming the query language (NerdGraph vs NRQL).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as 'run_nrql_query' for NRQL queries or other tools. Does not state prerequisites, limitations, or when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_nrql_queryA

Execute NRQL queries against New Relic data to analyze metrics and events

ParametersJSON Schema
NameRequiredDescriptionDefault
nrqlYesThe NRQL query to execute
target_account_idNoOptional New Relic account ID to query

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must convey behavioral traits. It only states the action without disclosing whether it is read-only, destructive, has rate limits, or the nature of the results. This lack of detail makes it insufficient for safe agent decision-making.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of 12 words, highly concise and front-loaded with the action 'Execute NRQL queries'. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has a simple schema with two parameters fully described. However, the description omits details about result format, pagination, query limits, or error handling, which are important for a query tool. The lack of output schema and annotations further reduces completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for both parameters (nrql and target_account_id). The description adds minimal value beyond the schema, only contextualizing the target data. The baseline score of 3 applies as the schema already provides parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool executes NRQL queries against New Relic data for analyzing metrics and events. This distinguishes it from siblings like run_nerdgraph_query (GraphQL) and others for specific operations like alerts, monitors, and deployments.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for querying New Relic data with NRQL but does not provide explicit guidance on when to use this tool versus alternatives, such as run_nerdgraph_query. No 'when not to use' or alternative references are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_entitiesB

Search for entities in New Relic by name, type, or tags

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query for entities
entity_typesNoFilter by entity types (e.g., APPLICATION, HOST)
target_account_idNoOptional New Relic account ID

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavior. It does not mention pagination, rate limits, result limits, or any side effects. The description is too brief to inform the agent about important behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single efficient sentence that front-loads the action and resource. Every word adds value with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description should hint at return format or result structure. It does not. The tool is a search operation with three parameters, but the description lacks details like default behavior, result limits, or error conditions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for all parameters. The description adds modest value by summarizing the filtering dimensions ('by name, type, or tags'), but does not provide additional meaning beyond what the schema already offers.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'Search' and the resource 'entities', with specific filters 'by name, type, or tags'. It distinguishes from sibling tools like 'get_entity_details' which retrieves a single entity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like 'list_apm_applications' or 'get_entity_details'. The description does not provide context or exclusions for its usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 18 tool updates
    • First observedacknowledge_incident
    • First observedcreate_browser_monitor
    • First observedcreate_deployment
    • First observeddelete_deployment
    • First observedget_account_details
    • First observedget_entity_details
    • First observedget_metric_data_for_host
    • First observedlist_alert_policies
    • First observedlist_apm_applications
    • First observedlist_apm_applications_rest
    • First observedlist_application_hosts
    • First observedlist_deployments_rest
    • First observedlist_metric_names_for_host
    • First observedlist_open_incidents
    • First observedlist_synthetics_monitors
    • First observedrun_nerdgraph_query
    • First observedrun_nrql_query
    • First observedsearch_entities

TDQS

B3.2/5.0
Disambiguation4/5

Most tools have distinct purposes, but the presence of both list_apm_applications and list_apm_applications_rest creates ambiguity as they both list APM applications via different APIs. Similarly, get_metric_data_for_host and list_metric_names_for_host are closely related but distinct. Overall, the set is mostly clear with a few overlapping pairs.

Naming Consistency4/5

Tool names generally follow a verb_noun pattern, using verbs like acknowledge, create, delete, get, list, run, search. However, inconsistency arises with the 'rest' suffix on some tools (list_apm_applications_rest, list_deployments_rest) while others lack it, and mixing 'get' and 'list' for similar operations. The pattern is mostly consistent with minor deviations.

Tool Count5/5

With 18 tools, the server covers a broad but focused set of New Relic functionalities including incidents, alerts, APM, synthetics, deployments, entities, and queries. The count is well-scoped for a general-purpose MCP server, providing a comprehensive yet manageable tool surface without being overwhelming.

Completeness3/5

The tool set covers many essential operations but lacks CRUD completeness for several domains. Missing operations include updating alert policies, updating or deleting synthetics monitors, and managing other entity types beyond APM. The powerful query tools (nerdgraph and nrql) can compensate for some gaps, but notable missing CRUD actions will cause agents to reach dead ends.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    A comprehensive MCP server providing over 26 tools for querying, monitoring, and analyzing NewRelic data through NRQL queries and entity management. It enables interaction with NewRelic's NerdGraph API for managing alerts, logs, and incidents directly within Claude Code sessions.
    24
    169
    2
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables users to query and manage New Relic account data and features through natural language or specific commands, including NRQL queries, entity search, APM, Synthetics, and alerts management.
    3
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for New Relic workflows, enabling NRQL queries, NerdGraph access, entity lookup, logs, alerts, dashboards, and service levels.
    1,132
    4
    MIT

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

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