Skip to main content
Glama
abuhamza

Tideways MCP Server

by abuhamza

Get performance metrics

tideways_get_performance
Read-onlyIdempotent

Fetch Tideways performance totals, error rates, response times, top transactions, and a timeline for a 1-1440 minute window ending at a chosen time within the last 30 days.

Instructions

Performance of any window of 1-1440 minutes ending at "end" (default now) within the last ~30 days: totals (requests, error rate, p95/median/average response time, time per layer), the top 20 transactions by impact, and a timeline. Older windows return zeros; use tideways_get_history for them. For 15-minute trends over 30 days use tideways_get_performance_summary.

Input Schema

NameRequiredDescriptionDefault
endNoLast minute included, "YYYY-MM-DD HH:mm" in UTC. Defaults to now.
detailNo"concise" (default) returns a trimmed summary. "full" also includes the unmodified API response under "raw"; it can be very large.concise
minutesNoWindow length in minutes (max 1440 = 24h). Above 60 the timeline is downsampled to at most 60 points.
projectNoTideways project as "project" or "organization/project". Defaults to the defaultProject that tideways_list_projects reports; call it for valid names.
serviceNoService, e.g. "web" or "worker". Defaults to the configured service, else the project's default service. A project can have several services; tideways_list_services lists them. When results come back, an unknown name fails with an error.
environmentNoEnvironment, e.g. "production" or "staging". Defaults to the configured environment, else production; criteria.environment (traces: each trace's environment) shows which was used. When results come back, an unknown name fails with an error.

Output Schema

NameRequiredDescriptionDefault
rawNoUnmodified Tideways API response; present only when detail is "full".
totalsYes
projectYes
criteriaYesWhat Tideways actually queried. Times are UTC "YYYY-MM-DD HH:mm".
timelineYes
transactionsYesTop transactions by impact; the API returns at most 20

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changedv2.1.1
    • addedOutput schema / properties / criteria / properties / end / anyOf
      Added value: +[
      +  {
      +    "description": "\"YYYY-MM-DD HH:mm\"",
      +    "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}$",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / criteria / properties / end / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedOutput schema / properties / criteria / properties / start / anyOf
      Added value: +[
      +  {
      +    "description": "\"YYYY-MM-DD HH:mm\"",
      +    "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}$",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / criteria / properties / start / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedOutput schema / properties / timeline / items / properties / time / description
      Added value: +"\"YYYY-MM-DD HH:mm\""
    • addedOutput schema / properties / timeline / items / properties / time / pattern
      Added value: +"^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}$"
    • addedOutput schema / properties / transactions / items / properties / id
      Added value: +{
      +  "description": "Transaction ID: pass it as \"transactionId\" of tideways_get_transaction or in \"transactionIds\" of tideways_list_issues or tideways_search_traces",
      +  "type": [
      +    "number",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / transactions / items / required
      Previous value: -[
      -  "name",
      -  "requests",
      -  "averageMs",
      -  "p95Ms",
      -  "maxMs",
      -  "memory",
      -  "impactPercent"
      -]New value: +[
      +  "id",
      +  "name",
      +  "requests",
      +  "averageMs",
      +  "p95Ms",
      +  "maxMs",
      +  "memory",
      +  "impactPercent"
      +]
  2. First observedv2.0.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare the read-only/idempotent/non-destructive safety profile, but the description adds real behavioral context beyond them: zero-filled results for windows older than ~30 days, downsampled timelines above 60 minutes, and a warning that detail=full 'can be very large'. It omits any note on permissions or response size limits, but the data-behavior disclosures are substantive.

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

Conciseness4/5

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

Three sentences with no filler, and the window definition plus payload contents lead the description. The first sentence is long and clause-heavy, but each clause carries routing or content information rather than padding.

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

Completeness5/5

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

An output schema exists, so return values need not be spelled out, yet the description still summarizes the shape (totals, top transactions, timeline). Combined with the sibling routing and data-horizon caveats, nothing an agent needs to call this correctly is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so both the schema and the description document every parameter; the description largely restates the minute range and default end time. It adds the ~30-day data horizon, which the schema lacks, but otherwise defers to the schema. Baseline 3 applies 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.

Purpose5/5

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

The description names a specific verb+resource (performance metrics for a window) and enumerates the exact payload: totals, top 20 transactions by impact, and a timeline. It explicitly differentiates itself from siblings tideways_get_history and tideways_get_performance_summary.

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

Usage Guidelines5/5

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

It states when results degrade ('Older windows return zeros') and routes to the correct alternative ('use tideways_get_history for them'), plus a second routing rule for 15-minute trends ('use tideways_get_performance_summary'). Both when-to-use and when-to-use-something-else are explicit.

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