NewRelic MCP Server
The NewRelic MCP Server provides 25 tools for querying, monitoring, and analyzing NewRelic observability data across NRQL, entities, alerts, dashboards, logs, and more.
Data Access & Queries
Execute arbitrary NRQL queries for custom analytics and data exploration
Convert natural language descriptions into NRQL query suggestions
Convert human-readable time periods (e.g., "last 6 hours") to epoch milliseconds
Logs
List recent logs with filtering by level, time range, and custom conditions
Analyze logs for a specific entity by GUID
Search logs by field/value with wildcard/pattern support
Entity Management
Get detailed information about any entity by GUID (APM, Browser, Infra, etc.)
Find related entities (dependencies, infrastructure relationships)
Search entities by tags (environment, team, service name, etc.)
List all available entity types and accessible NewRelic accounts
Alerts & Incidents
List alert policies, NRQL conditions, and recent AI-detected issues
Search incidents by time range, state, priority, and entity
Analyze deployment impact on error rates and throughput
Generate comprehensive alert insights reports with actionable recommendations
Get error groups for an entity and list change tracking/deployment events
Dashboards & Synthetics
Retrieve full dashboard details including pages, widgets, and embedded NRQL queries
List all dashboards with pagination support
List synthetic monitors with status and success rate information
Performance Analysis
Analyze golden metrics (throughput, errors, latency) for any entity
Analyze transaction performance with grouping, filtering, and slowest breakdowns
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@NewRelic MCP ServerShow me the error rate for the production-api over the last hour"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
newrelic-mcp-server
A comprehensive MCP server for NewRelic with 25 tools for querying, monitoring, and analyzing your observability data — NRQL, entities, alerts, dashboards, logs, and more.
Quick Start
Using npx
Add to your .mcp.json:
{
"mcpServers": {
"newrelic": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@ruminaider/newrelic-mcp-server"],
"env": {
"NEW_RELIC_API_KEY": "NRAK-XXXXXXXXXXXX",
"NEW_RELIC_ACCOUNT_ID": "1234567"
}
}
}
}Using Docker
docker build -t newrelic-mcp-server .{
"mcpServers": {
"newrelic": {
"type": "stdio",
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "NEW_RELIC_API_KEY", "-e", "NEW_RELIC_ACCOUNT_ID", "-e", "NEW_RELIC_REGION", "newrelic-mcp-server"],
"env": {
"NEW_RELIC_API_KEY": "NRAK-XXXXXXXXXXXX",
"NEW_RELIC_ACCOUNT_ID": "1234567",
"NEW_RELIC_REGION": "US"
}
}
}
}Related MCP server: nr-mcp
Authentication
The server authenticates via a NewRelic User API key (recommended over license keys):
Variable | Required | Default | Description |
| Yes | - | User API key (format: |
| Yes | - | NewRelic Account ID |
| No |
| API region ( |
| No |
| Log level ( |
API keys are automatically redacted in log output.
Performance
Response Optimization
All tool responses use compact JSON (no whitespace) to reduce token usage. Tools that build structured response objects include only essential fields — verbose NerdGraph metadata like __typename, permalink, and rawConfiguration is stripped when raw API data is returned.
Rate Limiting
The server enforces NewRelic's API limits:
25 concurrent requests with semaphore-based backpressure
Exponential backoff on 429 responses (base 1s, max 30s, with jitter)
Automatic retry for rate limit and network errors (3 attempts)
Tools
Data Access — 5 tools
Tool | Description |
| Execute arbitrary NRQL queries with full result parsing |
| List recent logs with filtering by time range and entity |
| Analyze logs for a specific entity with pattern detection |
| Search logs by field/value with configurable limits |
| Get NRQL query suggestions from natural language descriptions |
Entity Management — 5 tools
Tool | Description |
| Get entity details by GUID including summary metrics |
| Find entities related to a given entity |
| Search entities by tag key/value pairs |
| List all available entity types and domains |
| List accessible NewRelic accounts |
Alerts & Incidents — 8 tools
Tool | Description |
| List alert policies with condition counts |
| List NRQL alert conditions for a policy |
| List recent AI-detected issues (experimental) |
| Search incidents by time range and entity |
| Analyze deployment effects on error rates and throughput |
| Generate comprehensive alert analysis reports |
| Get error groups for an entity with occurrence counts |
| List deployment and change tracking events |
Dashboards & Synthetics — 3 tools
Tool | Description |
| Get dashboard details including widgets and NRQL queries |
| List all dashboards with pagination |
| List synthetic monitors with status and locations |
Performance Analysis — 3 tools
Tool | Description |
| Analyze entity golden metrics (throughput, errors, latency) |
| Analyze transaction performance with slowest breakdown |
| Convert human-readable time periods to epoch milliseconds |
Utility — 1 tool
Tool | Description |
| Convert time descriptions like "last 6 hours" to epoch timestamps |
Example Usage
Query Error Rates
execute_nrql_query with:
query: "SELECT percentage(count(*), WHERE error IS true) FROM Transaction SINCE 1 hour ago"Find Slow Transactions
analyze_transactions with:
entityGuid: "YOUR_APM_ENTITY_GUID"
sinceMinutesAgo: 60Search Logs for Errors
query_logs with:
field: "level"
value: "ERROR"
limit: 100Get Help Writing NRQL
natural_language_to_nrql_query with:
description: "Show me error rates by service over the last 6 hours"Development
pnpm install # install dependencies
pnpm build # compile TypeScript
pnpm test # run tests
pnpm dev # run with tsx (no build needed)
pnpm watch # recompile on change
pnpm lint # lint with Biome
pnpm format # format with BiomeProject Structure
src/
index.ts # Entry point (stdio transport)
server.ts # MCP server creation and tool registration
config.ts # Environment variable parsing and validation
services/
nerdgraph-client.ts # Core GraphQL client with rate limiting and retry
nrql-service.ts # NRQL query execution
log-service.ts # Log querying and analysis
entity-service.ts # Entity retrieval and relationships
alert-service.ts # Alert policies, conditions, and incidents
dashboard-service.ts # Dashboard retrieval and listing
synthetic-service.ts # Synthetic monitor management
performance-service.ts # Transaction and golden metrics analysis
tools/
nrql-tools.ts # NRQL query tools
entity-tools.ts # Entity management tools
alert-tools.ts # Alert and incident tools
incident-tools.ts # Incident search and analysis tools
dashboard-tools.ts # Dashboard tools
log-tools.ts # Log query tools
performance-tools.ts # Performance analysis tools
synthetic-tools.ts # Synthetic monitor tools
account-tools.ts # Account listing tools
utility-tools.ts # Time conversion utilities
types/
newrelic.ts # NewRelic API type definitions
utils/
errors.ts # Custom error types (AuthenticationError, RateLimitError, etc.)
logger.ts # Structured stderr logging with API key redaction
response.ts # Response optimization (field stripping, compact JSON)
retry.ts # Exponential backoff retry with jitterDocker Development
docker compose build # build image
docker compose run --rm newrelic-mcp # run server
docker compose --profile dev up newrelic-mcp-dev # dev mode with hot reloadTroubleshooting
"Missing required environment variables"
Ensure NEW_RELIC_API_KEY and NEW_RELIC_ACCOUNT_ID are set and passed to Docker.
"Authentication failed"
Verify your API key has appropriate permissions. User API keys (NRAK-...) are recommended.
"Rate limit exceeded"
The server automatically retries with backoff. If persistent, reduce query frequency.
aiIssues endpoints failing
These use experimental NerdGraph headers. The server handles this automatically for list_recent_issues and search_incident.
License
MIT
Available Tools
24 toolsanalyze_deployment_impactB
Analyze the impact of a deployment by comparing metrics (error rate, throughput, response time) before and after the deployment. Helps identify if a deployment caused performance degradation.
| Name | Required | Description | Default |
|---|---|---|---|
| entityGuid | Yes | Entity GUID to analyze deployment impact for | |
| deploymentTimestamp | No | Unix timestamp (ms) of the deployment to analyze. If not provided, uses the most recent deployment. | |
| beforeMinutes | No | Minutes before deployment to analyze (default: 30) | |
| afterMinutes | No | Minutes after deployment to analyze (default: 30) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the tool analyzes impact by comparing metrics before and after deployment, but does not disclose behavioral traits such as whether it requires specific permissions, how it handles missing data, rate limits, or what the output format looks like. This is a significant gap for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with two sentences that are front-loaded with the main purpose. Every sentence earns its place by stating the action and the benefit, though it could be slightly more structured by explicitly listing parameters or usage scenarios.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of deployment impact analysis, no annotations, and no output schema, the description is incomplete. It adequately explains the purpose but lacks details on behavioral aspects, output format, and error handling. It meets minimum viability but has clear gaps in providing a full context for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 all parameters thoroughly. The description does not add any meaning beyond what the schema provides, such as explaining the significance of entityGuid or deploymentTimestamp in the context of impact analysis. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('analyze', 'compare') and resources ('deployment', 'metrics'), and distinguishes it from siblings by focusing on deployment impact analysis rather than logs, metrics, or queries. It specifies the metrics involved: error rate, throughput, and response time.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for identifying performance degradation after deployments, but does not explicitly state when to use this tool versus alternatives like analyze_entity_logs or analyze_golden_metrics. It provides some context ('Helps identify if a deployment caused performance degradation') but lacks clear exclusions or named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_entity_logsB
Analyze logs for a specific NewRelic entity by GUID. Use this to investigate issues with a particular service, application, or infrastructure component.
| Name | Required | Description | Default |
|---|---|---|---|
| entityGuid | Yes | The entity GUID to filter logs by | |
| limit | No | Number of logs to retrieve (default: 100, max: 2000) | |
| sinceMinutesAgo | No | Time range in minutes to look back (default: 60) | |
| level | No | Log level filter (e.g., 'ERROR', 'WARN', 'INFO') | |
| additionalFields | No | Additional fields to select, comma-separated. Example: 'trace.id,span.id' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the tool is for 'investigating issues' which implies a read-only analysis function, but doesn't specify whether this is a safe read operation, what permissions might be required, whether there are rate limits, or what format/logic the analysis follows. The description is too vague about 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise with two sentences that each serve a clear purpose: the first states what the tool does, the second provides usage context. There's no wasted language, though it could be slightly more structured by explicitly separating purpose from usage guidelines.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter tool with no annotations and no output schema, the description is minimally adequate. It covers the basic purpose and usage context but lacks details about behavioral characteristics, output format, error conditions, or how this tool differs from similar siblings like 'query_logs'. Given the complexity of log analysis, more completeness would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 all 5 parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema - it doesn't explain parameter interactions, provide examples beyond what's in the schema, or clarify semantic relationships between parameters like 'sinceMinutesAgo' and 'limit'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Analyze logs for a specific NewRelic entity by GUID' with the specific verb 'analyze' and resource 'logs'. It distinguishes the tool by specifying it's for a 'specific entity' rather than general log analysis, though it doesn't explicitly differentiate from sibling tools like 'query_logs' or 'list_recent_logs'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implied usage context: 'Use this to investigate issues with a particular service, application, or infrastructure component.' This suggests when the tool is appropriate, but it doesn't explicitly state when NOT to use it or mention alternatives like 'query_logs' or 'list_recent_logs' that might serve similar purposes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_golden_metricsB
Get the golden metrics defined for a NewRelic entity. Golden metrics are the key performance indicators that NewRelic recommends monitoring for each entity type (APM applications, hosts, etc.). Returns metric names, titles, and the NRQL queries used to calculate them. Use these queries to understand what metrics are important for an entity.
| Name | Required | Description | Default |
|---|---|---|---|
| guid | Yes | The entity GUID to analyze golden metrics for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool returns metric names, titles, and NRQL queries, which covers output behavior. However, it doesn't mention whether this is a read-only operation, potential rate limits, authentication requirements, error conditions, or if the data is cached/live. For a tool with zero annotation coverage, this leaves 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with three sentences that each add value: defining golden metrics, specifying the return data, and providing usage context. It's front-loaded with the core purpose and avoids redundancy. While efficient, it could be slightly more structured by separating definition from usage guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has one parameter with full schema coverage but no annotations and no output schema, the description provides adequate context for a read operation by explaining what golden metrics are and what data is returned. However, it lacks details on output format (e.g., structure of returned data), error handling, or dependencies, making it minimally complete but with room for improvement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the 'guid' parameter fully documented in the schema. The description doesn't add any parameter-specific information beyond what the schema provides, such as explaining entity GUID format or where to obtain it. With high schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate but doesn't need to heavily.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves golden metrics for a NewRelic entity, specifying what golden metrics are and what information is returned (metric names, titles, NRQL queries). It distinguishes from siblings by focusing on recommended key performance indicators rather than logs, transactions, dashboards, or other entity data. However, it doesn't explicitly contrast with tools like 'get_entity' which might provide broader entity information.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you need to understand important metrics for an entity, as indicated by 'Use these queries to understand what metrics are important for an entity.' It doesn't provide explicit when-not-to-use guidance or name specific alternatives among siblings like 'get_entity' or 'list_entity_types', leaving usage context somewhat inferred rather than clearly defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_transactionsA
Analyze transaction performance using NRQL with FACET grouping. Query the Transaction event type to analyze web requests, API calls, and background jobs. Group by transaction name, host, or other attributes. Calculate metrics like count, average duration, error rate, and throughput. Useful for identifying slow transactions, high-error endpoints, or traffic patterns.
| Name | Required | Description | Default |
|---|---|---|---|
| since | No | Time range start (NRQL SINCE clause). Examples: '1 hour ago', '24 hours ago', '7 days ago', '2024-01-01' | 1 hour ago |
| until | No | Time range end (NRQL UNTIL clause). Examples: 'now', '1 hour ago', '2024-01-02' | |
| facets | No | Fields to group results by. Default: ['name']. Common: 'name', 'host', 'request.uri' | |
| appName | No | Filter by application name | |
| where | No | Additional WHERE clause conditions. Example: "duration > 1" or "error IS true" | |
| metrics | No | Metrics to calculate. Options: count, averageDuration, totalTime, errorRate, throughput | |
| limit | No | Maximum number of results (1-1000, default: 100) | |
| accountId | No | NewRelic account ID (defaults to configured account) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It describes what the tool does (analyzes transactions with specific metrics and grouping) and hints at its read-only nature through terms like 'analyze' and 'query,' but doesn't explicitly state whether it's a read operation, its performance characteristics, rate limits, or authentication requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and concise. It starts with the core purpose, explains the methodology, lists key parameters implicitly, and ends with use cases. Every sentence adds value without redundancy, making it easy to scan and understand quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 8 parameters, 100% schema coverage, and no output schema, the description is reasonably complete. It covers the tool's purpose, methodology, and use cases. However, without annotations or output schema, it could benefit from more behavioral details (e.g., read-only confirmation, response format) to fully compensate for the lack of structured metadata.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 all 8 parameters thoroughly. The description adds minimal value beyond the schema by mentioning 'NRQL with FACET grouping' and listing example metrics and grouping attributes, but doesn't provide additional syntax, format details, or constraints not already in the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Analyze transaction performance using NRQL with FACET grouping.' It specifies the exact event type ('Transaction'), the analysis method (NRQL with FACET), and distinguishes it from siblings like 'execute_nrql_query' (general query) or 'analyze_golden_metrics' (predefined metrics).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool: 'Useful for identifying slow transactions, high-error endpoints, or traffic patterns.' It mentions specific use cases but doesn't explicitly state when NOT to use it or name alternatives like 'execute_nrql_query' for custom queries or 'analyze_golden_metrics' for standard metrics.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_time_period_to_epoch_msA
Convert human-readable time strings to epoch milliseconds. Supports relative times like '1 hour ago', '30 minutes ago', '7 days ago' and absolute times like ISO 8601 dates. Useful for constructing NRQL time ranges or comparing timestamps. This is a local utility that does not make API calls.
| Name | Required | Description | Default |
|---|---|---|---|
| timeString | Yes | Human-readable time string to convert. Examples: '1 hour ago', '30 minutes ago', '7 days ago', '2024-01-15', '2024-01-15T10:30:00Z' | |
| timezone | No | Timezone for interpreting relative times. Default: UTC. Examples: 'America/Los_Angeles', 'America/New_York', 'Europe/London' | UTC |
| referenceTime | No | Reference timestamp in milliseconds for relative calculations. Defaults to current time. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behavioral traits: the tool is a 'local utility that does not make API calls' (clarifying it's not a network operation), supports specific time formats (relative and absolute), and mentions use cases. However, it doesn't cover potential error conditions or performance characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded, with the core purpose stated first, followed by format support, use cases, and behavioral clarification. Every sentence adds value with zero waste, making it easy for an agent to quickly understand the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (3 parameters, no output schema, no annotations), the description is mostly complete. It covers purpose, supported formats, use cases, and behavioral characteristics. However, it doesn't describe the return format (epoch milliseconds) or potential error scenarios, which would be helpful for a conversion utility.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents all three parameters. The description doesn't add any parameter-specific information beyond what's in the schema descriptions. It mentions supported time formats generally but doesn't provide additional syntax or format details for the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('convert human-readable time strings to epoch milliseconds') and resources (time strings). It distinguishes itself from sibling tools by being a local utility for time conversion rather than an API-based analysis or query tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool ('useful for constructing NRQL time ranges or comparing timestamps'), but doesn't explicitly state when not to use it or name specific alternatives among the sibling tools. The guidance is helpful but lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execute_nrql_queryB
Execute an arbitrary NRQL query against NewRelic. Returns raw query results with metadata. Use this for custom analytics, metrics, and data exploration.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The NRQL query to execute. Example: SELECT count(*) FROM Transaction SINCE 1 hour ago | |
| timeout | No | Query timeout in seconds (default: 30, max: 120) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions 'Returns raw query results with metadata', which adds some behavioral context about output. However, it doesn't disclose critical traits like whether this is a read-only operation (implied but not stated), potential rate limits, authentication requirements, error handling, or data scope limitations. For a tool executing arbitrary queries with no annotation coverage, this 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with zero waste. The first sentence states the purpose and output, and the second provides usage guidance. It's appropriately sized and front-loaded, with every sentence earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (executing arbitrary queries), no annotations, and no output schema, the description is moderately complete. It covers purpose and usage but lacks behavioral details like safety, limits, or error handling. The schema handles parameters well, but the description doesn't compensate for missing annotations or output schema, leaving gaps for an agent to understand full behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 both parameters ('query' and 'timeout') thoroughly with examples and constraints. The description adds no additional parameter semantics beyond what's in the schema. According to the rules, when schema coverage is high (>80%), the baseline is 3 even with no param info in the description, which applies here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Execute an arbitrary NRQL query against NewRelic' with the verb 'execute' and resource 'NRQL query'. It distinguishes from siblings by specifying it's for 'custom analytics, metrics, and data exploration', though it doesn't explicitly name alternatives. The purpose is specific but could be more differentiated from other query-related tools like 'query_logs' or 'natural_language_to_nrql_query'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some usage context with 'Use this for custom analytics, metrics, and data exploration', which implies when to use it. However, it doesn't explicitly state when NOT to use it or name specific alternatives among the sibling tools (e.g., 'query_logs' for logs, 'analyze_golden_metrics' for predefined metrics). The guidance is implied but lacks explicit exclusions or comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_alert_insights_reportC
Generate a comprehensive alert insights report combining AI issues, error groups, and recent deployments. Provides actionable recommendations based on the current state of alerts and incidents.
| Name | Required | Description | Default |
|---|---|---|---|
| entityGuid | No | Optional entity GUID to focus the report on | |
| sinceDays | No | Number of days to include in the report (default: 7, max: 30) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral insight. It mentions the report provides 'actionable recommendations' but doesn't disclose whether this is a read-only operation, if it requires specific permissions, how long it takes to generate, or what format the output takes. For a tool that presumably analyzes and synthesizes data, this is inadequate behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured in two sentences that convey the core functionality and value proposition. The first sentence explains what the tool does, and the second explains the output's purpose. There's no unnecessary verbiage, though it could be slightly more specific about the report's format or delivery method.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool that generates a comprehensive report with actionable recommendations, the description is insufficient given the lack of annotations and output schema. It doesn't explain what format the report takes (text, structured data, file), how recommendations are presented, or what 'comprehensive' entails. With no output schema and behavioral gaps, users can't understand what to expect from this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents both parameters. The description adds no parameter-specific information beyond what's in the schema, maintaining the baseline score of 3. It doesn't explain how 'entityGuid' affects report focus or how 'sinceDays' integrates with the 'recent deployments' mentioned.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates a 'comprehensive alert insights report' that combines AI issues, error groups, and recent deployments, with actionable recommendations. It specifies the verb ('generate') and resource ('alert insights report'), but doesn't explicitly differentiate from sibling tools like 'list_recent_issues' or 'get_entity_error_groups' that might provide similar data components.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It mentions what the report includes but doesn't specify scenarios where this comprehensive report is preferable to using individual sibling tools like 'list_recent_issues', 'get_entity_error_groups', or 'list_change_events' separately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dashboardA
Get a NewRelic dashboard with full page and widget details. Returns the dashboard structure including all pages, their widgets, and widget configurations. Use this to understand dashboard layout and widget queries.
| Name | Required | Description | Default |
|---|---|---|---|
| guid | Yes | The entity GUID of the dashboard to retrieve |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It describes the return content ('dashboard structure including all pages, their widgets, and widget configurations'), which adds value beyond the input schema. However, it lacks details on potential errors, rate limits, authentication needs, or whether the operation is read-only (though implied by 'Get'), leaving some behavioral traits unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured in two sentences: the first states the action and return details, and the second provides usage context. Every sentence adds value without redundancy, making it appropriately sized and front-loaded with essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (single parameter, no output schema, no annotations), the description is fairly complete. It explains what the tool does, what it returns, and when to use it. However, without an output schema, it could benefit from more detail on the return structure or potential limitations, though the current level is adequate for basic understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the 'guid' parameter clearly documented. The description does not add any additional meaning or context about the parameter beyond what the schema provides, such as how to obtain the GUID or format specifics. Thus, it meets the baseline for high schema coverage without compensating with extra insights.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Get a NewRelic dashboard') and resource ('with full page and widget details'), distinguishing it from sibling tools like 'list_dashboards' which likely returns a list rather than detailed structure. It explicitly mentions what is returned ('dashboard structure including all pages, their widgets, and widget configurations'), making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use this tool ('to understand dashboard layout and widget queries'), which implies it's for detailed inspection rather than listing or searching. However, it does not explicitly state when not to use it or name specific alternatives like 'list_dashboards' for broader overviews, leaving some guidance implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_entityA
Retrieve detailed information about a NewRelic entity by its GUID. Returns entity metadata, tags, and type-specific metrics (APM throughput/error rate, Browser page views, etc).
| Name | Required | Description | Default |
|---|---|---|---|
| guid | Yes | The entity GUID (e.g., 'MXxBUE18QVBQTElDQVRJT058MTIzNDU2Nzg5') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses the return content (metadata, tags, metrics) and hints at metric variability by entity type, but lacks details on error handling, rate limits, authentication needs, or response format. The description doesn't contradict any annotations (none exist).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the core purpose and efficiently lists return types. Every element (verb, resource, parameter, outputs) earns its place with zero waste or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read operation with 1 parameter (100% schema coverage) and no output schema, the description is reasonably complete: it states purpose, parameter context, and return content. However, without annotations or output schema, it could better address behavioral aspects like error cases or response structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (the 'guid' parameter is fully documented in the schema). The description adds no additional parameter semantics beyond what's in the schema, so it meets the baseline of 3 for high schema coverage without compensating value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Retrieve detailed information'), target resource ('NewRelic entity by its GUID'), and output scope ('entity metadata, tags, and type-specific metrics'). It distinguishes from siblings like 'search_entity_with_tag' (search vs. retrieve by GUID) and 'list_related_entities' (list vs. retrieve single).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you have a specific entity GUID and need detailed metrics, but doesn't explicitly state when to use this vs. alternatives like 'search_entity_with_tag' (for tag-based lookup) or 'list_related_entities' (for relationship exploration). No explicit exclusions or prerequisites are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_entity_error_groupsB
Get error groups from TransactionError events. Groups errors by class and message to identify the most frequent and impactful errors.
| Name | Required | Description | Default |
|---|---|---|---|
| entityGuid | No | Filter errors by entity GUID | |
| transactionName | No | Filter errors by transaction name (partial match) | |
| sinceDays | No | Number of days to look back (default: 7, max: 30) | |
| limit | No | Maximum number of error groups to return (default: 50, max: 100) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions grouping behavior ('Groups errors by class and message') and the goal ('identify the most frequent and impactful errors'), but lacks critical details such as authentication requirements, rate limits, pagination, error handling, or the format of returned data. For a tool with no annotation coverage, this 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose ('Get error groups from TransactionError events') and adds useful context ('Groups errors by class and message to identify the most frequent and impactful errors'). Every part earns its place with no wasted words, making it appropriately sized and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (4 parameters, no output schema, no annotations), the description is partially complete. It explains the purpose and grouping logic but lacks details on behavioral aspects (e.g., data format, limitations) and usage context. Without an output schema, it should ideally hint at return values, but it doesn't, leaving gaps for an AI agent to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, meaning all parameters are documented in the schema. The description adds no specific parameter information beyond what's in the schema (e.g., it doesn't clarify 'entityGuid' or 'transactionName' usage). With high schema coverage, the baseline score is 3, as the description doesn't compensate but also doesn't detract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get error groups from TransactionError events' with specific grouping criteria ('by class and message') and goal ('identify the most frequent and impactful errors'). It uses a specific verb ('Get') and resource ('error groups'), but doesn't explicitly differentiate from sibling tools like 'list_recent_issues' or 'list_recent_logs' that might also handle errors.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It doesn't mention sibling tools like 'list_recent_issues' (which might show errors) or 'analyze_transactions' (which might include error analysis), nor does it specify prerequisites or exclusions. Usage is implied through the description of what it does, but not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_alert_conditionsB
List NewRelic NRQL alert conditions with optional filtering by policy, name, or enabled status. Returns condition details including NRQL query, thresholds, and configuration.
| Name | Required | Description | Default |
|---|---|---|---|
| policyId | No | Filter conditions by policy ID | |
| nameFilter | No | Optional filter to search conditions by name (case-insensitive partial match) | |
| enabledOnly | No | If true, only return enabled conditions | |
| limit | No | Maximum number of conditions to return (default: 100, max: 500) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions the tool 'Returns condition details including NRQL query, thresholds, and configuration,' which adds some behavioral context about output. However, it lacks details on permissions, rate limits, pagination (beyond the 'limit' parameter), or whether it's a read-only operation, which is insufficient for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that efficiently states the purpose, filtering options, and return details. It is front-loaded with the core function and wastes no words, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description partially compensates by specifying return details. However, for a tool with 4 parameters and complex filtering, it lacks information on error handling, authentication needs, or example outputs, leaving gaps in context for safe and effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all parameters. The description adds marginal value by summarizing filtering options ('by policy, name, or enabled status'), but doesn't provide additional semantics beyond what the schema already specifies, such as format details or usage examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('NewRelic NRQL alert conditions') with specific filtering options. It distinguishes from siblings like 'list_alert_policies' by focusing on conditions rather than policies, but doesn't explicitly differentiate from other list tools like 'list_dashboards' or 'list_entity_types' beyond the resource type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through the mention of 'optional filtering by policy, name, or enabled status,' suggesting when to apply filters. However, it lacks explicit guidance on when to use this tool versus alternatives like 'list_alert_policies' or 'execute_nrql_query' for related data, and no exclusions or prerequisites are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_alert_policiesA
List NewRelic alert policies with optional name filtering. Returns policy ID, name, and incident preference settings.
| Name | Required | Description | Default |
|---|---|---|---|
| nameFilter | No | Optional filter to search policies by name (case-insensitive partial match) | |
| limit | No | Maximum number of policies to return (default: 100, max: 500) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool lists policies and returns specific fields (ID, name, incident preference settings), which is helpful. However, it doesn't mention pagination behavior, rate limits, authentication requirements, or whether the operation is read-only (though 'List' implies safe read). The description adds basic context but lacks depth for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that efficiently communicates the tool's purpose, optional filtering, and return values. Every word earns its place with no redundancy or wasted text. It's front-loaded with the core functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only listing tool with 2 parameters and no output schema, the description provides adequate basic information but has gaps. It doesn't explain the return format beyond field names, doesn't mention pagination or ordering, and provides no context about error conditions or performance characteristics. With no annotations and no output schema, more behavioral context would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents both parameters (nameFilter and limit). The description mentions 'optional name filtering' which aligns with the schema but adds no additional semantic context beyond what's in the parameter descriptions. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('NewRelic alert policies') with specific scope ('with optional name filtering'). It distinguishes from siblings like 'list_alert_conditions' by focusing on policies rather than conditions, though it doesn't explicitly name alternatives. The purpose is specific and actionable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving alert policies with optional filtering, but provides no explicit guidance on when to use this tool versus alternatives like 'list_alert_conditions' or 'search_entity_with_tag'. It mentions the optional name filter but doesn't specify scenarios where filtering is necessary or when other tools might be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_available_new_relic_accountsA
List all NewRelic accounts accessible with the current API key. Shows account IDs and names. Also indicates the currently configured account.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the tool lists accounts based on the current API key and indicates the configured account, which is useful behavioral context. However, it does not mention potential limitations like rate limits, pagination, or error handling, leaving gaps for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose in the first sentence, followed by additional details in a second sentence. It is appropriately sized with no wasted words, efficiently conveying necessary information in two concise sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description provides basic purpose and some behavioral context but lacks details on return format, error cases, or dependencies. For a simple list tool with zero parameters, it is adequate but could be more complete by specifying output structure or limitations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters with 100% schema description coverage, so the schema fully documents the inputs. The description does not need to add parameter details, and it appropriately focuses on the tool's purpose and output semantics without redundancy. Baseline is 4 for zero parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('NewRelic accounts accessible with the current API key'), specifying it shows account IDs, names, and the currently configured account. It distinguishes itself from siblings like 'list_entity_types' or 'list_dashboards' by focusing specifically on accounts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when needing to see accessible accounts and the current configuration, but does not explicitly state when to use this tool versus alternatives like 'get_entity' or 'search_entity_with_tag'. It provides some context but lacks explicit guidance on exclusions or comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_change_eventsC
List change events from NrChangeTracking. Includes deployments, configuration changes, and other tracked changes with version and user information.
| Name | Required | Description | Default |
|---|---|---|---|
| entityGuid | No | Filter changes by entity GUID | |
| changeType | No | Filter by change type (e.g., 'DEPLOYMENT') | |
| sinceDays | No | Number of days to look back (default: 7, max: 30) | |
| limit | No | Maximum number of change events to return (default: 50, max: 200) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the source ('NrChangeTracking') and types of events included, but doesn't describe important behavioral aspects like whether this is a read-only operation, pagination behavior, rate limits, authentication requirements, or what the return format looks like. For a list tool with zero annotation coverage, this 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that communicates the core purpose. It's appropriately sized for a list tool, though it could be slightly more structured by separating the purpose from the examples. There's no wasted verbiage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what the tool returns (format, structure, or content), behavioral constraints, or how it differs from similar sibling tools. The description alone is insufficient for an agent to understand the full context of using this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so all parameters are well-documented in the schema itself. The description doesn't add any parameter-specific information beyond what's in the schema, but the schema does the heavy lifting. The baseline of 3 is appropriate when the schema provides complete parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'List change events from NrChangeTracking' with specific examples of what's included ('deployments, configuration changes, and other tracked changes'). It uses a specific verb ('List') and resource ('change events'), though it doesn't explicitly differentiate from sibling tools like 'list_recent_logs' or 'list_recent_issues' which might also list events.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It doesn't mention sibling tools like 'analyze_deployment_impact' or 'list_recent_logs' that might be relevant for similar purposes, nor does it specify prerequisites or exclusions for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_dashboardsA
List NewRelic dashboards with optional account filtering. Returns dashboard names and GUIDs. Use pagination cursor for large result sets. Useful for discovering available dashboards before fetching full details.
| Name | Required | Description | Default |
|---|---|---|---|
| accountId | No | NewRelic account ID to filter by (defaults to configured account) | |
| cursor | No | Pagination cursor for fetching next page of results | |
| limit | No | Maximum number of dashboards to return (1-200, default: 50) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and discloses key behavioral traits: it returns specific data ('dashboard names and GUIDs'), mentions pagination behavior ('Use pagination cursor for large result sets'), and implies it's a read-only operation (consistent with 'list' functionality). It doesn't cover rate limits or authentication needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly front-loaded with the core purpose in the first sentence, followed by important behavioral details. Every sentence earns its place with no wasted words, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list tool with no annotations and no output schema, the description provides good coverage of purpose, usage context, and key behavioral aspects. It could be more complete by explicitly stating it's a read-only operation or mentioning authentication requirements, but it's largely adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 all three parameters thoroughly. The description adds minimal value beyond the schema by mentioning 'optional account filtering' which aligns with the accountId parameter, but doesn't provide additional semantic context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('List NewRelic dashboards'), resource ('dashboards'), and scope ('with optional account filtering'). It distinguishes from sibling tools like 'get_dashboard' by emphasizing discovery of available dashboards before fetching full details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool ('Useful for discovering available dashboards before fetching full details'), providing clear context for its purpose versus alternatives like 'get_dashboard' for detailed information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_entity_typesA
List all available entity types in NewRelic. Returns domain/type combinations like APM/APPLICATION, INFRA/HOST, BROWSER/APPLICATION, etc.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions the return format ('domain/type combinations') but lacks details on pagination, rate limits, authentication needs, or error handling. For a tool with zero annotation coverage, this is a significant gap in behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the purpose and includes helpful examples. Every word earns its place, with no wasted text or unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema), the description is adequate but incomplete. It covers the purpose and return examples but lacks behavioral context (e.g., performance, limitations) that would be helpful for an AI agent, especially with no annotations to supplement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0 parameters and 100% schema description coverage, the baseline is 4. The description adds no parameter information, which is appropriate since there are no parameters to document, maintaining clarity without redundancy.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('all available entity types in NewRelic'), with specific examples of return values like 'APM/APPLICATION, INFRA/HOST, BROWSER/APPLICATION'. It distinguishes from siblings by focusing on entity type enumeration rather than analysis, querying, or listing specific resources like dashboards or alerts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for discovering entity types, but provides no explicit guidance on when to use this tool versus alternatives (e.g., 'get_entity' for details on a specific entity). It lacks context on prerequisites or exclusions, leaving usage inferred rather than clearly defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_recent_issuesB
List recent AI-detected issues from NewRelic. Uses the experimental aiIssues API to fetch active and recent incidents with priority and state information.
| Name | Required | Description | Default |
|---|---|---|---|
| states | No | Filter by issue states (default: ACTIVATED, CREATED) | |
| priorities | No | Filter by issue priorities | |
| entityGuids | No | Filter by entity GUIDs | |
| limit | No | Maximum number of issues to return (default: 50, max: 200) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the API is 'experimental' and that it fetches 'active and recent incidents', but does not disclose critical traits like whether this is a read-only operation, potential rate limits, authentication needs, error handling, or what the return format looks like (e.g., pagination, structure). For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose and method, and includes no wasted words. Every phrase ('List recent AI-detected issues', 'Uses the experimental aiIssues API', 'fetch active and recent incidents with priority and state information') directly contributes to understanding the tool's function and scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a tool with 4 parameters, no annotations, and no output schema, the description is incomplete. It lacks details on behavioral traits (e.g., read-only status, rate limits), does not explain the return values or format, and provides minimal guidance on usage versus siblings. For a tool interacting with an experimental API and filtering issues, more context is needed to ensure the agent can use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter well-documented in the schema (e.g., 'states' with enum values, 'limit' with default and max). The description adds no additional parameter semantics beyond what the schema provides, such as explaining how filters interact or providing examples. With high schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate but also doesn't detract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('List recent AI-detected issues'), the resource source ('from NewRelic'), and the method ('Uses the experimental aiIssues API'). It distinguishes itself from siblings like 'list_alert_conditions' or 'search_incident' by focusing on AI-detected issues with priority and state information, not general alerts or incidents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for fetching active and recent incidents with priority and state, but does not explicitly state when to use this tool versus alternatives like 'list_alert_conditions' or 'search_incident'. It provides context ('experimental aiIssues API') but lacks clear exclusions or named alternatives, leaving the agent to infer based on the tool's focus.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_recent_logsB
List recent logs from NewRelic. Useful for getting an overview of recent log activity, filtering by level, or searching with custom conditions.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of logs to retrieve (default: 100, max: 2000) | |
| sinceMinutesAgo | No | Time range in minutes to look back (default: 60) | |
| level | No | Log level filter (e.g., 'ERROR', 'WARN', 'INFO', 'DEBUG') | |
| whereClause | No | Additional NRQL WHERE clause conditions. Example: service.name = 'my-service' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions filtering and searching capabilities but fails to describe critical behaviors such as pagination, rate limits, authentication requirements, response format, or whether this is a read-only operation. For a log retrieval tool with zero annotation coverage, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with two concise sentences that front-load the core purpose. Every sentence adds value by specifying the resource and use cases, with no redundant or wasted information. It could be slightly more structured by separating use cases, but it's efficient overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 parameters, no output schema, and no annotations), the description is incomplete. It lacks details on behavioral traits like response format, pagination, or error handling, and doesn't compensate for the absence of annotations. For a log retrieval tool in a server with many siblings, more contextual guidance is needed to ensure proper agent usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 all four parameters thoroughly. The description adds marginal value by hinting at filtering by level and custom conditions, but doesn't provide additional syntax, examples, or meaning beyond what's in the schema. This meets the baseline score when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('List') and resource ('recent logs from NewRelic'), and mentions filtering capabilities. It distinguishes itself from siblings like 'query_logs' by emphasizing 'recent' activity and 'overview' rather than complex querying. However, it doesn't explicitly contrast with 'analyze_entity_logs' or other log-related tools, preventing a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context ('useful for getting an overview of recent log activity, filtering by level, or searching with custom conditions'), suggesting it's for quick, filtered log retrieval. However, it lacks explicit guidance on when to use this tool versus alternatives like 'query_logs' or 'analyze_entity_logs', and doesn't mention prerequisites or exclusions, leaving some ambiguity for the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_synthetic_monitorsA
List NewRelic synthetic monitors with status and success rate information. Synthetic monitors are automated tests that check endpoint availability and performance. Filter by account or status. Returns monitor GUIDs, names, current status, and success rates.
| Name | Required | Description | Default |
|---|---|---|---|
| accountId | No | NewRelic account ID to filter by (defaults to configured account) | |
| status | No | Filter monitors by status (ENABLED or DISABLED) | |
| cursor | No | Pagination cursor for fetching next page of results | |
| limit | No | Maximum number of monitors to return (1-200, default: 50) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses the tool's purpose and what information is returned ('monitor GUIDs, names, current status, and success rates'), but lacks details about behavioral traits like pagination behavior (though cursor parameter hints at it), rate limits, authentication requirements, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with three sentences that each add value: purpose definition, resource explanation, and return information. It's front-loaded with the core functionality, though the middle sentence about synthetic monitors could be considered slightly explanatory rather than strictly necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only listing tool with 4 parameters and no output schema, the description provides adequate context about what's returned but lacks details about response format, pagination behavior, or error handling. The absence of annotations means the description should ideally cover more behavioral aspects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents all 4 parameters. The description adds minimal value beyond the schema by mentioning filtering capabilities generally, but doesn't provide additional semantic context about parameter usage or interactions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('NewRelic synthetic monitors') with specific scope ('with status and success rate information'). It distinguishes from siblings by focusing on synthetic monitors specifically, unlike other tools that handle alerts, dashboards, entities, or logs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by mentioning filtering capabilities ('Filter by account or status'), but doesn't explicitly state when to use this tool versus alternatives like 'list_alert_conditions' or 'list_dashboards'. No explicit exclusions or sibling comparisons are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
natural_language_to_nrql_queryB
Convert a natural language description into NRQL query suggestions. Returns matching query patterns, templates, and NRQL syntax guidance. Use this when you need help constructing NRQL queries for NewRelic.
| Name | Required | Description | Default |
|---|---|---|---|
| description | Yes | Natural language description of what you want to query. Example: 'Show me error rates for the checkout service in the last hour' | |
| eventType | No | Specific event type to query. Common types: Transaction, Log, Metric, Span, BrowserInteraction, PageView, SyntheticCheck | |
| includeExamples | No | Include example queries for the identified pattern (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions the tool returns 'matching query patterns, templates, and NRQL syntax guidance' but doesn't disclose behavioral traits like whether this is a read-only operation, if it makes external API calls, rate limits, authentication requirements, or error handling. For a tool with no annotation coverage, this leaves 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise with two sentences that efficiently convey purpose and usage. The first sentence states what the tool does, and the second provides usage guidance. No wasted words or redundant information. Could be slightly improved with more behavioral context but maintains good structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 3 parameters with 100% schema coverage but no annotations and no output schema, the description provides adequate purpose and usage context but lacks behavioral transparency. For a query construction tool that likely involves complex pattern matching and returns guidance rather than data, more detail about output format or limitations would improve completeness. The current description is minimally viable but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 all three parameters thoroughly. The description doesn't add any parameter-specific semantics beyond what's in the schema. It mentions 'natural language description' generally but doesn't provide additional context about parameter interactions or usage patterns. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: converting natural language descriptions into NRQL query suggestions, including patterns, templates, and syntax guidance. It specifies the target system (NewRelic) and distinguishes from siblings like execute_nrql_query by focusing on query construction rather than execution. However, it doesn't explicitly differentiate from all potential query-related tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: 'Use this when you need help constructing NRQL queries for NewRelic.' This gives explicit guidance on when to use it (query construction assistance) and implies alternatives like execute_nrql_query for actual query execution. It doesn't explicitly list when-not-to-use scenarios or all alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_logsA
Search logs by field and value with optional time range. Supports wildcards (%) for pattern matching. Use this for targeted log searches based on specific criteria.
| Name | Required | Description | Default |
|---|---|---|---|
| field | Yes | Field name to search on. Example: 'message', 'service.name', 'error.class' | |
| value | Yes | Value to search for. Use % for wildcards. Example: '%timeout%' or 'my-service' | |
| limit | No | Number of logs to retrieve (default: 100, max: 2000) | |
| startTime | No | Start time in epoch milliseconds. Defaults to 1 hour ago if not specified. | |
| endTime | No | End time in epoch milliseconds. Defaults to now if not specified. | |
| additionalFields | No | Additional fields to select, comma-separated |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does reveal some behavioral traits: it mentions wildcard support with %, optional time range, and that it's for 'targeted log searches'. However, it doesn't disclose important behavioral aspects like whether this is a read-only operation, potential performance implications, rate limits, authentication requirements, or what format/logs are returned. The description adds some value but leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly concise and well-structured. It uses just two sentences: the first states the core functionality with key features, and the second provides usage guidance. Every word earns its place with no redundancy or fluff. The information is front-loaded with the most important details first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter search tool with no annotations and no output schema, the description is somewhat incomplete. While it covers the basic purpose and some behavioral aspects, it doesn't address what the tool returns (log format, structure, or content), error conditions, or important constraints beyond the basic parameter descriptions. The description is adequate for understanding what the tool does but insufficient for fully understanding how to interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds minimal parameter semantics beyond what the schema already provides. It mentions 'field and value' and 'optional time range', which the schema already documents thoroughly with 100% coverage. The description does add the wildcard pattern matching detail for the value parameter, which provides some additional context. Given the high schema coverage, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as 'Search logs by field and value with optional time range', which is a specific verb+resource combination. It distinguishes itself from siblings like 'list_recent_logs' by emphasizing targeted searches based on specific criteria rather than just listing recent logs. However, it doesn't explicitly differentiate from 'analyze_entity_logs' or 'execute_nrql_query', which might offer overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some usage guidance with 'Use this for targeted log searches based on specific criteria', which implies this tool is for specific queries rather than general listing. However, it doesn't explicitly state when NOT to use this tool or name specific alternatives among the many sibling tools. The guidance is helpful but incomplete for proper tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_entity_with_tagB
Search for NewRelic entities using tags and NerdGraph query syntax. Use this to find entities by environment, team, service name, or any custom tag.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Full NerdGraph entity search query (e.g., "domain = 'APM' AND type = 'APPLICATION'"). If provided, tagKey/tagValue are ignored. | |
| tagKey | No | Tag key to search for (e.g., 'environment', 'team'). Used when query is not provided. | |
| tagValue | No | Tag value to match (e.g., 'production'). If omitted, matches any value for tagKey. | |
| additionalFilters | No | Additional query filters to combine with tag search (e.g., "domain = 'APM'") | |
| maxResults | No | Maximum number of results to return (default: 100, max: 500) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions the search functionality but doesn't disclose behavioral traits like whether this is a read-only operation, potential rate limits, authentication requirements, or what the output format looks like. For a search tool with no annotation coverage, this leaves significant gaps in understanding how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the core purpose in the first sentence. The second sentence adds useful context about common use cases. Both sentences earn their place without redundancy, making it efficient for an AI agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a search tool with 5 parameters and no output schema, the description is incomplete. It lacks details on behavioral aspects (e.g., read-only nature, error handling), output format, and doesn't fully compensate for the absence of annotations. For a tool that interacts with a query system like NerdGraph, more context is needed to use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 5 parameters. The description adds minimal value beyond the schema by mentioning examples like 'environment, team, service name' for tag usage, but doesn't provide additional syntax or format details. With high schema coverage, the baseline score of 3 is appropriate as the description doesn't significantly enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Search for NewRelic entities using tags and NerdGraph query syntax.' It specifies the resource (NewRelic entities) and method (search using tags/NerdGraph). However, it doesn't explicitly differentiate from sibling tools like 'get_entity' or 'list_entity_types' beyond mentioning tag-based search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implied usage guidance: 'Use this to find entities by environment, team, service name, or any custom tag.' This suggests when to use it (for tag-based entity searches) but doesn't explicitly state when not to use it or name alternatives like 'get_entity' for direct entity lookup or 'execute_nrql_query' for other query types. The guidance is helpful but not comprehensive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_incidentC
Search NewRelic incidents with filtering by state, priority, and entity. Uses NRQL to query the NrAiIncident event type.
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | Filter by incident state (e.g., 'open', 'closed') | |
| priority | No | Filter by incident priority (e.g., 'CRITICAL', 'HIGH', 'MEDIUM', 'LOW') | |
| entityGuid | No | Filter by entity GUID | |
| sinceDays | No | Number of days to look back (default: 7, max: 30) | |
| limit | No | Maximum number of incidents to return (default: 50, max: 200) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the tool 'uses NRQL to query the NrAiIncident event type,' which adds some technical context about the underlying mechanism. However, it doesn't describe important behavioral traits like whether this is a read-only operation, what authentication is needed, rate limits, pagination behavior, or what the return format looks like. For a search tool with zero annotation coverage, this 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose and method. It's appropriately sized and front-loaded with the core functionality. There's no wasted verbiage, though it could potentially be more structured with usage guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (5 parameters, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose and technical approach but lacks behavioral context, usage guidelines, and details about return values. Without annotations or output schema, the agent has incomplete information about what to expect from this tool's operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, meaning all parameters are well-documented in the input schema itself. The description adds marginal value by listing the filtering criteria (state, priority, entity) and mentioning NRQL usage, but it doesn't provide additional semantic context beyond what the schema already specifies (e.g., parameter interactions or query syntax details). With high schema coverage, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches NewRelic incidents with specific filtering capabilities (state, priority, entity) and mentions it uses NRQL to query the NrAiIncident event type. This provides a specific verb ('search') and resource ('NewRelic incidents'), though it doesn't explicitly differentiate from sibling tools like 'list_recent_issues' or 'execute_nrql_query' which might have overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It doesn't mention sibling tools like 'list_recent_issues' or 'execute_nrql_query' that might serve similar purposes, nor does it specify prerequisites or exclusions for usage. The agent must infer usage context from the tool name and parameters alone.
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.
24 tool updates
v1.0.0- First observed
analyze_deployment_impact - First observed
analyze_entity_logs - First observed
analyze_golden_metrics - First observed
analyze_transactions - First observed
convert_time_period_to_epoch_ms - First observed
execute_nrql_query - First observed
generate_alert_insights_report - First observed
get_dashboard - First observed
get_entity - First observed
get_entity_error_groups - First observed
list_alert_conditions - First observed
list_alert_policies - First observed
list_available_new_relic_accounts - First observed
list_change_events - First observed
list_dashboards - First observed
list_entity_types - First observed
list_recent_issues - First observed
list_recent_logs - First observed
list_related_entities - First observed
list_synthetic_monitors - First observed
natural_language_to_nrql_query - First observed
query_logs - First observed
search_entity_with_tag - First observed
search_incident
TDQS
Scored across 24 tools
Most tools have distinct purposes, such as analyze_deployment_impact for deployment analysis and get_entity for entity retrieval. However, some overlap exists between analyze_entity_logs and query_logs, which both handle logs but with different scopes, potentially causing minor confusion. Overall, descriptions help clarify boundaries, but a few tools like list_recent_logs and query_logs might be ambiguous without careful reading.
Tool names follow a highly consistent verb_noun pattern throughout, such as analyze_deployment_impact, list_alert_conditions, and get_dashboard. All tools use snake_case without deviation, making them predictable and easy to parse. This consistency aids in agent selection and understanding of the toolset's structure.
With 24 tools, the count is slightly high but reasonable for a comprehensive NewRelic monitoring and analytics server. It covers various aspects like alerts, dashboards, entities, logs, and queries, which justifies the breadth. However, it borders on feeling heavy, as some tools might be consolidated or specialized, but it remains well-scoped for the domain.
The toolset provides complete coverage for NewRelic's domain, including CRUD-like operations for entities, dashboards, alerts, and logs, along with advanced analytics and query capabilities. Tools like execute_nrql_query and natural_language_to_nrql_query support custom exploration, while list_related_entities and analyze_golden_metrics offer lifecycle insights. No obvious gaps are present, enabling agents to handle typical workflows without dead ends.
Maintenance
Related MCP Connectors
Access New Relic observability data through MCP - query metrics, logs, traces, entities, and more
Analytics for MCP servers. Query your tool calls, first-call success, retries and schema cost.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
Related MCP Servers
- AlicenseBqualityBmaintenanceRun NRQL, NerdGraph, and REST v2 operations to query data, manage incidents, create synthetics, and annotate deployments — all from your MCP client.1873415MIT
- FlicenseCqualityDmaintenanceMCP server allowing AI agents to query New Relic for debugging incidents.2-
- AlicenseNot gradedqualityCmaintenanceMCP server for New Relic workflows, enabling NRQL queries, NerdGraph access, entity lookup, logs, alerts, dashboards, and service levels.7344MIT
- AlicenseBqualityDmaintenanceA comprehensive Model Context Protocol (MCP) server for New Relic monitoring, observability, and management operations.45MIT