Incident Triage MCP
Provides integration with Datadog to fetch alerts, metrics, logs, and traces as evidence for incident triage.
Provides integration with Jira (Cloud) to create tickets as part of incident triage workflow, with safety gates.
Provides integration with Opsgenie to retrieve alerts as evidence for incident triage.
Provides integration with PagerDuty to retrieve alerts as evidence for incident triage.
Provides integration with Prometheus to retrieve alerts and metrics as evidence for incident triage.
Provides integration with Slack to send notifications during incident triage.
Click on "Install 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., "@Incident Triage MCPtriage incident INC-123"
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.
Incident Triage MCP
Incident Triage MCP is a Model Context Protocol (MCP) server for incident triage. It provides safe, auditable tools for evidence retrieval, deterministic summaries, ticket workflows, and notifications.
What This Project Is
MCP control plane for incident triage tools.
Compatible with local (
stdio) and networked (streamable-http) MCP clients.Designed for standalone mode, Docker Compose, and Kubernetes.
Related MCP server: mcp-incident-responder
What This Project Is Not
Not a standalone LLM agent platform.
Not a provider credentials vault.
Not a replacement for your evidence pipeline; it consumes normalized evidence bundles.
Architecture Snapshot
MCP server stays thin and policy-focused.
Evidence collection runs in Airflow (optional) and writes EvidenceBundle artifacts.
Agents call MCP tools only.
Contract stability is defined under
spec/.
For full details, see docs/ARCHITECTURE.md.
Core Tools
Tool | Purpose | Mutating |
| Fetch normalized EvidenceBundle for an incident | No |
| Poll until bundle is available | No |
| Build deterministic triage summary from bundle | No |
| Build non-mutating ticket draft | No |
| Create ticket with safety gates | Yes |
Mutating actions are guarded by RBAC, dry_run, confirm_token, audit logging, and idempotency.
Provider Matrix
Area | Supported providers |
Alerts |
|
Metrics |
|
Logs |
|
Traces |
|
Ticketing ( |
|
Notify ( |
|
Quick Start
Local (stdio)
python -m venv .venv
source .venv/bin/activate
pip install -e .
MCP_TRANSPORT=stdio \
WORKFLOW_BACKEND=none \
EVIDENCE_BACKEND=fs \
EVIDENCE_DIR=./evidence \
incident-triage-mcpLocal agent run (single incident)
incident-triage-agent \
--incident-id INC-123 \
--service payments-api \
--artifact-store fs \
--artifact-dir ./evidence \
--compactDocker (streamable-http)
docker run --rm -p 3333:3333 \
-e MCP_TRANSPORT=streamable-http \
-e WORKFLOW_BACKEND=none \
-e EVIDENCE_BACKEND=fs \
ghcr.io/felixkwasisarpong/incident-triage-mcp:latestOptional local stack (Airflow + Postgres + MinIO + MCP):
docker compose up --buildKubernetes: One Agent Job Per Trigger
This is the recommended runtime pattern:
Incoming trigger (webhook/manual) arrives.
Dispatcher (or operator) creates one Kubernetes
Jobper incident.Job runs
incident-triage-agentonce and exits.Agent calls MCP tools over HTTP.
MCP optionally triggers Airflow DAG (
incident_evidence_v1) and consumes bundle fromfs/s3.
Deploy MCP server (Helm)
helm upgrade --install incident-triage-mcp ./charts/incident-triage-mcp \
--namespace incident-triage --create-namespace \
--set image.repository=ghcr.io/felixkwasisarpong/incident-triage-mcp \
--set image.tag=0.2.8 \
--set env.MCP_TRANSPORT=streamable-http \
--set env.MCP_HTTP_AUTH_MODE=api_key \
--set secretEnv.MCP_HTTP_API_KEY=change-meTrigger one incident with a single-run agent Job
kubectl -n incident-triage create job triage-inc-123 \
--image=ghcr.io/felixkwasisarpong/incident-triage-mcp:0.2.8 \
-- incident-triage-agent \
--incident-id INC-123 \
--service payments-api \
--mcp-url http://incident-triage-mcp/mcp \
--mcp-api-key change-me \
--compactEnsure single-run behavior
Use deterministic job names per incident (
triage-inc-<incident_id>).Reject duplicates at dispatcher level if job already exists.
Keep ticket creates idempotent with
idempotency_key.Configure Job lifecycle controls (
backoffLimit,activeDeadlineSeconds,ttlSecondsAfterFinished).
Configuration Essentials
Variable | Meaning |
|
|
|
|
|
|
| Local bundle directory when using |
| Required for Airflow trigger/read tools |
|
|
|
|
|
|
Profile templates live in deploy/profiles/:
local.env.examplestaging.env.exampleprod.env.example
Testing
Run full tests:
pytest -qRun contract checks only:
pytest -q tests/test_contract_evidence_bundle.py tests/test_contract_mcp_tools.py
python scripts/validate_contrib.pyReleases
Install from PyPI
pip install incident-triage-mcp==X.Y.ZPull container image
docker pull ghcr.io/felixkwasisarpong/incident-triage-mcp:X.Y.ZSupported image tags:
X.Y.Z(exact)X.Y(minor stream)latest
For release workflow details, see docs/RELEASING.md.
Project Layout
incident-triage-mcp/
src/incident_triage_mcp/ # MCP server + tools + adapters
spec/ # versioned contracts
airflow/dags/ # evidence pipeline
charts/incident-triage-mcp/ # Helm chart
k8s/ # Kubernetes manifests
contrib/ # polyglot contribution area
docs/ # architecture, release, governance docsSupport And Triage
Discussions: https://github.com/felixkwasisarpong/incident-triage-mcp/discussions
Issues: https://github.com/felixkwasisarpong/incident-triage-mcp/issues
Security reports: SECURITY.md
Documentation Index
Contributing
Read CONTRIBUTING.md before opening a PR.
License
MIT
Available Tools
28 toolsalerts_fetch_activeD
| Name | Required | Description | Default |
|---|---|---|---|
| services | No | ||
| since_minutes | No | ||
| max_alerts | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
evidence_get_bundleD
| Name | Required | Description | Default |
|---|---|---|---|
| incident_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
evidence_seed_sampleC
Offline helper: writes a deterministic Evidence Bundle v1 JSON to EVIDENCE_DIR.
| Name | Required | Description | Default |
|---|---|---|---|
| incident_id | Yes | ||
| service | Yes | ||
| window_minutes | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description only mentions 'writes' and 'deterministic', but lacks details on side effects (e.g., overwrite behavior), required permissions, or error states. The behavior is minimally disclosed.
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 8-word sentence, very concise. However, it omits crucial details, making it too terse for a tool with no schema descriptions. The structure front-loads 'Offline helper' but lacks necessary depth.
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 output schema, no annotations, and 0% schema coverage, the description fails to provide sufficient context about return values, interaction with evidence_get_bundle/evidence_wait_for_bundle, or the nature of the seed 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?
Input schema has 0% description coverage, and the tool description does not explain the meaning or usage of any parameter (incident_id, service, window_minutes). The agent must rely solely on parameter names for 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 action 'writes' and the specific resource 'deterministic Evidence Bundle v1 JSON' to 'EVIDENCE_DIR'. It effectively differentiates from siblings like evidence_get_bundle (read) and evidence_wait_for_bundle (wait).
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 phrase 'Offline helper' implies a background or seeding use case, but there is no explicit guidance on when to use this tool versus alternatives like evidence_get_bundle. No when-not-to-use conditions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
evidence_wait_for_bundleD
| Name | Required | Description | Default |
|---|---|---|---|
| incident_id | Yes | ||
| timeout_seconds | No | ||
| poll_seconds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
incident_triage_runC
One-call triage orchestration. Airflow trigger is optional and backend-dependent.
| Name | Required | Description | Default |
|---|---|---|---|
| incident_id | Yes | ||
| service | Yes | ||
| include_ticket | No | ||
| project_key | No | ||
| notify_slack | No | ||
| notify_provider | No | ||
| slack_channel | No | ||
| slack_dry_run | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It only mentions 'Airflow trigger is optional and backend-dependent,' which hints at behavior but does not disclose side effects, modifications to incidents, or output format.
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 very short, which is concise, but it is under-specified. It lacks important details that would justify its length.
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 (8 parameters, no output schema, no annotations), the description is severely incomplete. It does not explain return values, prerequisites, or the orchestration process.
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 0% for 8 parameters. The description provides no explanation of parameter semantics, failing to compensate for the schema's lack of 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 'One-call triage orchestration' gives a general verb-resource but lacks specifics on what the orchestration entails. It is somewhat vague, not clearly distinguishing from sibling tools like incident_triage_summary.
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?
No guidance on when to use this tool versus alternatives. Sibling tools include specific alert actions and log fetch, but the description does not explain when triage orchestration is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
incident_triage_summaryB
Deterministic (non-LLM) summary of an incident from the Evidence Bundle.
| Name | Required | Description | Default |
|---|---|---|---|
| incident_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses determinism (non-LLM) but does not state whether the tool is read-only, side effects, error conditions, or what the summary contains. Lack of annotation context 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 a single efficient sentence that front-loads the key behavioral trait (deterministic). It is concise but could be slightly expanded without waste.
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 output schema, the description should explain the summary's content or structure. It does not. Also lacks behavioral context like data source dependencies (Evidence Bundle). Incomplete for a tool with only one param and no annotations.
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 only parameter 'incident_id' has no description in the schema (0% coverage), and the tool description provides no additional meaning about its format, source, or constraints. This is severely insufficient for correct invocation.
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 it provides a deterministic (non-LLM) summary of an incident from the Evidence Bundle, distinguishing it from the sibling 'incident_triage_run' which is likely LLM-based.
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 it should be used when a deterministic summary is needed, but does not explicitly state when to use vs alternatives, prerequisites (e.g., existing evidence bundle), or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_add_commentA
Add a comment to an existing Jira/ServiceNow ticket. Safe-by-default: dry_run=True returns the comment body without posting.
| Name | Required | Description | Default |
|---|---|---|---|
| issue_key | Yes | ||
| body_md | Yes | ||
| dry_run | No | ||
| reason | No | ||
| confirm_token | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the safe-by-default dry_run behavior, which is a key behavioral trait. However, it does not mention that it is a write operation, permissions, rate limits, or error handling. Without annotations, the description partially informs the agent.
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 short sentences, front-loading the primary purpose and key safe-behavior detail. Every sentence adds value with no 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?
Given no output schema and 0% parameter descriptions, the tool description fails to explain important aspects like return values, error handling, or the format/structure of the comment body. The agent lacks sufficient context to use the tool reliably without additional knowledge.
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% schema description coverage, the description only explains the dry_run parameter. It does not clarify the purpose of issue_key, body_md, reason, or confirm_token, leaving the agent to infer from names and types.
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 action: adding a comment to an existing Jira/ServiceNow ticket. This distinguishes it from sibling tools like jira_create_ticket (new ticket) and jira_draft_ticket (draft).
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 alludes to usage by mentioning dry_run=True for safe preview, but does not explicitly state when to use this tool versus alternatives like jira_create_ticket or slack_post_update. The context is somewhat implied by the tool name and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_create_ticketB
Safe action:
dry_run=True by default (no mutation)
dry_run=False requires reason + confirm_token + idempotency_key + RBAC allow
| Name | Required | Description | Default |
|---|---|---|---|
| incident_id | Yes | ||
| project_key | No | ||
| dry_run | No | ||
| reason | No | ||
| confirm_token | No | ||
| idempotency_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the critical safety mechanism (dry_run default) and requirements for actual mutation, which is valuable. However, it omits other behavioral details like what happens on ticket creation (e.g., returns ticket ID?), error scenarios, or permissions beyond RBAC mention.
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 extremely concise, using bullet points to front-load the most critical safety information. Every sentence is essential, with no wasted words.
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 6 parameters, no output schema, and no annotations, the description is insufficient. It lacks details on return values, error handling, and explanations for incident_id and project_key, limiting an agent's ability to use the tool correctly.
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% schema coverage, the description adds context for dry_run, reason, confirm_token, and idempotency_key, explaining their roles. But incident_id and project_key are left undocumented, leaving significant gaps.
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 tool name 'jira_create_ticket' clearly indicates creation of a Jira ticket. The description reinforces this by discussing parameters like dry_run that control actual creation, though it doesn't explicitly state 'creates a Jira ticket'.
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 creating Jira tickets with a safety dry_run mode, but lacks explicit guidance on when to use this versus sibling tools like jira_draft_ticket or jira_add_comment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_draft_ticketD
| Name | Required | Description | Default |
|---|---|---|---|
| incident_id | Yes | ||
| project_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_list_issue_typesD
| Name | Required | Description | Default |
|---|---|---|---|
| project_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_list_projectsD
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_transition_issueA
Transition an existing Jira/ServiceNow ticket to a new workflow state. Safe-by-default: dry_run=True returns the intended transition without applying it. Common transition_name values: 'In Progress', 'Resolved', 'Done', 'Closed'.
| Name | Required | Description | Default |
|---|---|---|---|
| issue_key | Yes | ||
| transition_name | Yes | ||
| dry_run | No | ||
| reason | No | ||
| confirm_token | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses the safe-by-default dry_run behavior, which is critical for a mutation tool. However, without annotations, the description does not cover effects, idempotency, authorization needs, or error handling. Provides common transition_name values as a bonus.
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?
Three sentences: purpose, safety feature, examples. Front-loaded with the core action, no fluff. Every word earns 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?
Adequate for a simple transition tool with dry run safety. However, lacks details on optional parameters (confirm_token, reason) and return value. Without output schema, more completeness would help.
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 0%, so the description must compensate. It adds value by listing common values for transition_name, but does not explain other params like issue_key, reason, or confirm_token. Partial compensation for one key parameter.
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?
Clearly states the tool transitions a Jira/ServiceNow ticket to a new workflow state. Uses specific verb 'transition' and identifies the resource. Distinguishes from sibling tools like jira_create_ticket and jira_add_comment.
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?
Implied usage for changing workflow states, but no explicit guidance on when to use vs alternatives like jira_create_ticket for new tickets or jira_add_comment for comments. No when-not-to-use or alternative tool references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_validate_credentialsD
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logs_fetch_recentD
| Name | Required | Description | Default |
|---|---|---|---|
| service | Yes | ||
| start_iso | Yes | ||
| end_iso | Yes | ||
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_healthD
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_metricsD
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_traces_recentD
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
notify_post_updateC
Provider-agnostic notification entrypoint. Routes to Slack or Teams based on provider/env defaults.
| Name | Required | Description | Default |
|---|---|---|---|
| incident_id | Yes | ||
| service | No | ||
| summary | No | ||
| ticket | No | ||
| provider | No | ||
| channel | No | ||
| dry_run | No | ||
| text | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It mentions routing based on provider/env defaults but does not explain what happens if no provider is set, the effect of the dry_run parameter (default true means no actual send?), or error behavior. Key behavioral traits are missing.
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 extremely concise (two sentences, 15 words) but at the cost of omitting critical details such as parameter semantics, behavior, and routing logic. It is not front-loaded with the most important information for an agent to decide whether to invoke the tool.
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 (8 parameters, no output schema, no annotations), the description is woefully incomplete. The agent lacks understanding of expected input format, return values, routing logic, and failure modes. The context signals indicate a coverage gap that the description does not address.
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 8 parameters, but the schema description coverage is 0% and the tool description provides no explanations for any parameter. The required 'incident_id' is not defined, nor are the optional parameters like 'service', 'summary', 'text', etc. This leaves the agent with no semantic guidance.
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 identifies the tool as a provider-agnostic notification entrypoint that routes to Slack or Teams. It distinguishes from sibling tools like slack_post_update and teams_post_update by emphasizing the automatic routing based on provider/env defaults, though it doesn't specify what 'post_update' refers to exactly.
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 the tool is used when a provider-agnostic notification is needed, leaving routing decisions to defaults. However, it does not explicitly state when to use this tool versus the specific Slack or Teams tools, nor does it mention any prerequisites or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
opsgenie_acknowledge_alertA
Acknowledge an OpsGenie alert via the OpsGenie REST API. Safe-by-default: dry_run=True returns the intended action without sending. Requires OPSGENIE_API_KEY env var.
| Name | Required | Description | Default |
|---|---|---|---|
| alert_id | Yes | ||
| dry_run | No | ||
| reason | No | ||
| confirm_token | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the dry_run safety mechanism and the API key dependency, but does not explain the actual effect of acknowledging an alert (e.g., permanent acknowledgment, notification implications) or failure scenarios.
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 very concise: three sentences that state purpose, key behavioral note, and a prerequisite. No redundant information, and it is front-loaded with the primary action.
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, no output schema, and 4 parameters with zero schema coverage, the description is too minimal. It lacks details on return values, error handling, and the meaning of parameters like reason and confirm_token, making it incomplete for an agent to use correctly.
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 coverage is 0%, so the description should explain parameters. It only addresses dry_run with 'Safe-by-default: dry_run=True returns the intended action without sending.' It does not clarify the purpose or format of alert_id, reason, or confirm_token, leaving significant gaps.
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 action ('Acknowledge') and the resource ('OpsGenie alert'), using the API. It distinguishes itself from siblings like opsgenie_close_alert, which handles a different action.
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?
Mentions the safe-by-default dry_run behavior and the required environment variable, but does not provide guidance on when to use this tool versus alternatives like pd_acknowledge_alert or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
opsgenie_close_alertA
Close an OpsGenie alert via the OpsGenie REST API. Safe-by-default: dry_run=True returns the intended action without sending. Requires OPSGENIE_API_KEY env var.
| Name | Required | Description | Default |
|---|---|---|---|
| alert_id | Yes | ||
| note | No | ||
| dry_run | No | ||
| reason | No | ||
| confirm_token | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must cover behavioral traits. It mentions the safe default and env var requirement, but lacks details on side effects, idempotency, error handling, or authorization beyond the env var.
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?
Two concise sentences that front-load the tool's purpose and key trait (safe default), with no wasted words.
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 mutation tool with 5 parameters and no output schema or annotations, the description is too sparse; it omits return values, error cases, and parameter details beyond dry_run.
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% schema coverage, the description should explain all parameters. It only clarifies the dry_run parameter, leaving alert_id, note, reason, and confirm_token unexplained.
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 'Close' and the resource 'OpsGenie alert', distinguishing it from sibling tools like opsgenie_acknowledge_alert and pd_resolve_alert.
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?
It provides context by noting the safe default (dry_run=True) and the required environment variable, but does not explicitly state when not to use the tool or name alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pd_acknowledge_alertA
Acknowledge a PagerDuty incident via the PagerDuty REST API. Safe-by-default: dry_run=True returns the intended action without sending. Requires PAGERDUTY_API_TOKEN and PAGERDUTY_FROM_EMAIL env vars.
| Name | Required | Description | Default |
|---|---|---|---|
| incident_id | Yes | ||
| dry_run | No | ||
| reason | No | ||
| confirm_token | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the safe-by-default behavior with dry_run, which mitigates accidental actions. It also specifies required env vars. However, it does not describe side effects of actual acknowledge (state change) or idempotency.
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 three sentences, each adding value: purpose, safe-by-default, environment requirements. It is concise and front-loaded with no extraneous 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 has 4 parameters and no output schema, the description is incomplete. It lacks details on the purpose of reason and confirm_token, the format of incident_id, and what the tool returns upon success or failure.
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 0%, so the description must compensate. It only adds meaning for the dry_run parameter, noting it controls safety. For incident_id, reason, and confirm_token, no additional meaning is provided beyond the schema.
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 explicitly states 'Acknowledge a PagerDuty incident via the PagerDuty REST API', which clearly identifies the verb (acknowledge) and resource (PagerDuty incident). It distinguishes from sibling tools like pd_resolve_alert and opsgenie_acknowledge_alert.
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 a clear usage guideline with 'Safe-by-default: dry_run=True returns the intended action without sending', indicating when to use dry_run. It also mentions required environment variables. However, it does not explicitly compare with alternatives like pd_resolve_alert or state when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pd_resolve_alertB
Resolve a PagerDuty incident via the PagerDuty REST API. Safe-by-default: dry_run=True returns the intended action without sending. Requires PAGERDUTY_API_TOKEN and PAGERDUTY_FROM_EMAIL env vars.
| Name | Required | Description | Default |
|---|---|---|---|
| incident_id | Yes | ||
| dry_run | No | ||
| reason | No | ||
| confirm_token | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses safe-by-default behavior with dry_run and the requirement for env vars, but does not discuss idempotency, error states, rate limits, or consequences of resolution. Some behavioral context is provided, but key aspects are omitted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences: purpose, dry_run safety, and env var requirements. It is front-loaded, concise, and contains no superfluous 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 four parameters, no output schema, and no annotations, the description is incomplete. It fails to explain what reason and confirm_token are for, does not specify return values or behaviors (especially for a non-dry-run call), and omits error handling or success criteria.
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 0%, so the description must compensate. It explains the dry_run parameter's safety behavior, but provides no meaning for incident_id, reason, or confirm_token. Only one of four parameters gains additional clarity, leaving significant gaps.
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 resolves a PagerDuty incident via the REST API. The verb 'resolve' and resource 'PagerDuty incident' are specific, and the tool is distinct from sibling tools like pd_acknowledge_alert which acknowledges rather than resolves.
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 mentions required environment variables but provides no explicit guidance on when to use this tool versus alternatives like pd_acknowledge_alert. There is no indication of prerequisites or conditions that would make this tool more appropriate than others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pingD
| Name | Required | Description | Default |
|---|---|---|---|
| message | No | hello |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
runbooks_searchD
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
service_health_snapshotD
| Name | Required | Description | Default |
|---|---|---|---|
| service | Yes | ||
| start_iso | Yes | ||
| end_iso | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
slack_post_updateB
Post an incident update to Slack via Incoming Webhook. Safe-by-default: dry_run=True returns payload without sending.
| Name | Required | Description | Default |
|---|---|---|---|
| incident_id | Yes | ||
| service | No | ||
| summary | No | ||
| ticket | No | ||
| channel | No | ||
| dry_run | No | ||
| text | No | ||
| thread_ts | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden; it only discloses the dry_run safety behavior but omits other traits like idempotency, error handling, or rate limits.
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?
Two concise sentences, front-loaded with purpose then safe mode, no wasted text.
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?
No output schema, no annotations, and only minimal behavioral disclosure; fails to cover typical usage scenarios, error conditions, or parameter interactions for an 8-parameter 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 coverage is 0%; the description adds no meaning to any parameter beyond the schema's field names. Only dry_run is implicitly mentioned, but no format or constraints are explained.
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 'Post an incident update to Slack via Incoming Webhook', using a specific verb and resource, and the tool name distinguishes it from siblings like teams_post_update.
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?
It mentions the safe default (dry_run=True), providing clear context for safe testing, but does not explicitly compare to alternatives or state when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teams_post_updateC
Post an incident update to Microsoft Teams via Incoming Webhook. Safe-by-default: dry_run=True returns payload without sending.
| Name | Required | Description | Default |
|---|---|---|---|
| incident_id | Yes | ||
| service | No | ||
| summary | No | ||
| ticket | No | ||
| channel | No | ||
| dry_run | No | ||
| text | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It mentions dry_run behavior, which is good, but lacks details on idempotency, permissions, rate limits, or whether the tool modifies incident state.
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 extremely concise: two sentences, no fluff, front-loaded with the action and a key behavioral note.
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 7 parameters, no annotations, and no output schema, the description is insufficient. It omits parameter details, return value, error conditions, and authentication requirements.
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 coverage is 0%, so the description must explain parameters. It only mentions dry_run indirectly (dry_run=True default) but does not describe incident_id, service, summary, ticket, channel, or text in any meaningful way.
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 action (post an incident update) and the target (Microsoft Teams via Incoming Webhook). It distinguishes from siblings like slack_post_update by specifying Teams, but does not explicitly differentiate from notify_post_update.
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 a usage hint for dry_run mode ('Safe-by-default: dry_run=True returns payload without sending') but no guidance on when to use this tool versus alternatives like slack_post_update or notify_post_update.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
traces_fetch_recentD
| Name | Required | Description | Default |
|---|---|---|---|
| service | Yes | ||
| start_iso | Yes | ||
| end_iso | Yes | ||
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
28 tool updates
v0.2.9- First observed
alerts_fetch_active - First observed
evidence_get_bundle - First observed
evidence_seed_sample - First observed
evidence_wait_for_bundle - First observed
incident_triage_run - First observed
incident_triage_summary - First observed
jira_add_comment - First observed
jira_create_ticket - First observed
jira_draft_ticket - First observed
jira_list_issue_types - First observed
jira_list_projects - First observed
jira_transition_issue - First observed
jira_validate_credentials - First observed
logs_fetch_recent - First observed
mcp_health - First observed
mcp_metrics - First observed
mcp_traces_recent - First observed
notify_post_update - First observed
opsgenie_acknowledge_alert - First observed
opsgenie_close_alert - First observed
pd_acknowledge_alert - First observed
pd_resolve_alert - First observed
ping - First observed
runbooks_search - First observed
service_health_snapshot - First observed
slack_post_update - First observed
teams_post_update - First observed
traces_fetch_recent
TDQS
Most tools target distinct services (Jira, PagerDuty, OpsGenie, Slack, Teams, etc.) and actions. However, notify_post_update abstracts Slack/Teams and may overlap with the specific slack_post_update and teams_post_update, causing potential confusion.
Naming is generally noun_verb-based but inconsistent: 'alerts_fetch_active' (noun_verb_adj), 'incident_triage_run' (noun_noun_verb), 'mcp_health' (noun_noun), and 'ping' (single word) break the pattern. Variations in verb placement and mix of nouns reduce consistency.
28 tools is high but reasonable for an incident triage system covering alerts, evidence, Jira, notifications, monitoring integrations, and health checks. Each tool serves a distinct function, though a few could be consolidated (e.g., notify_post_update vs. slack/teams).
The tool set covers core incident triage workflows: alert fetching, evidence management, triage orchestration, Jira integration, notifications, and alert acknowledgment. Missing are incident listing/updating and more advanced alert lifecycle operations (e.g., list alerts, create/acknowledge beyond existing).
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
- mttrlyOAuthcom.mttrly
AI-powered incident management and server monitoring via MCP.
MCP server for mandates, delegation, policy-gated execution, credential grants, and audit.
A paid remote MCP for Context7 MCP docs, built to return verdicts, receipts, usage logs, and audit-r
A Model Context Protocol (MCP) application for automated GitHub PR analysis and issue management.…
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server that transforms raw log query results into structured incident reports (Markdown, JSON, HTML) with correlation to git commits and tickets.5101MIT
- FlicenseNot gradedqualityCmaintenanceAn AI-native incident response server that exposes diagnostic tools (system status, error logs, ticket creation) via MCP, enabling LLM agents to autonomously assess and respond to incidents.-
- AlicenseNot gradedqualityCmaintenanceMCP server for investigating cloud incidents and managing approvals. Provides read-only tools to list incidents, investigate incidents, and list approvals, keeping remediation behind human approval.MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for enterprise operations, enabling Sentry error triage, Linear issue sync, and Slack incident response with tools for parsing stacktraces, dispatching alerts, and generating postmortems.MIT
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/felixkwasisarpong/incident-triage-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server