Tideways

Official registry Other

Read-only access to Tideways PHP performance monitoring: performance, issues, traces, history.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

NPM package tideways-mcp-server
Claude Code
claude mcp add tideways -e 'TIDEWAYS_TOKEN=<your tideways_token>' -e 'TIDEWAYS_ORG=<TIDEWAYS_ORG>' -e 'TIDEWAYS_PROJECT=<TIDEWAYS_PROJECT>' -e 'TIDEWAYS_ENV=<TIDEWAYS_ENV>' -e 'TIDEWAYS_SERVICE=<TIDEWAYS_SERVICE>' -- npx -y tideways-mcp-server@2.1.1
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "tideways": {
            "command": "npx",
            "args": [
                "-y",
                "tideways-mcp-server@2.1.1"
            ],
            "env": {
                "TIDEWAYS_TOKEN": "<your tideways_token>",
                "TIDEWAYS_ORG": "<TIDEWAYS_ORG>",
                "TIDEWAYS_PROJECT": "<TIDEWAYS_PROJECT>",
                "TIDEWAYS_ENV": "<TIDEWAYS_ENV>",
                "TIDEWAYS_SERVICE": "<TIDEWAYS_SERVICE>"
            }
        }
    }
}

Environment variables

  • TIDEWAYS_TOKEN required secret Tideways API token (Organization settings → API Access; scopes metrics, traces, errors).
  • TIDEWAYS_ORG Tideways organization (optional; derived from the token).
  • TIDEWAYS_PROJECT Default project, "project" or "organization/project" (optional if the token reaches one project).
  • TIDEWAYS_ENV Default environment, e.g. production (optional).
  • TIDEWAYS_SERVICE Default service, e.g. web (optional; API default is the project's default service).
OCI package ghcr.io/abuhamza/tideways-mcp-server:2.1.1
Claude Code
claude mcp add tideways -e 'TIDEWAYS_TOKEN=<your tideways_token>' -e 'TIDEWAYS_ORG=<TIDEWAYS_ORG>' -e 'TIDEWAYS_PROJECT=<TIDEWAYS_PROJECT>' -e 'TIDEWAYS_ENV=<TIDEWAYS_ENV>' -e 'TIDEWAYS_SERVICE=<TIDEWAYS_SERVICE>' -- docker run -i --rm ghcr.io/abuhamza/tideways-mcp-server:2.1.1
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "tideways": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "ghcr.io/abuhamza/tideways-mcp-server:2.1.1"
            ],
            "env": {
                "TIDEWAYS_TOKEN": "<your tideways_token>",
                "TIDEWAYS_ORG": "<TIDEWAYS_ORG>",
                "TIDEWAYS_PROJECT": "<TIDEWAYS_PROJECT>",
                "TIDEWAYS_ENV": "<TIDEWAYS_ENV>",
                "TIDEWAYS_SERVICE": "<TIDEWAYS_SERVICE>"
            }
        }
    }
}

Environment variables

  • TIDEWAYS_TOKEN required secret Tideways API token (Organization settings → API Access; scopes metrics, traces, errors).
  • TIDEWAYS_ORG Tideways organization (optional; derived from the token).
  • TIDEWAYS_PROJECT Default project, "project" or "organization/project" (optional if the token reaches one project).
  • TIDEWAYS_ENV Default environment, e.g. production (optional).
  • TIDEWAYS_SERVICE Default service, e.g. web (optional; API default is the project's default service).
MCPB package https://github.com/abuhamza/tideways-mcp-server/releases/download/v2.1.1/tideways-mcp-server-2.1.1.mcpb

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. Tideways MCP Server
  2. Install
  3. Tools
  4. Configuration
  5. Good to know
  6. Security
  7. Development
  8. License

Tideways MCP Server

An unofficial, community-maintained server, not affiliated with or supported by Tideways. For Tideways' own tooling, see the official Tideways CLI.

A read-only Model Context Protocol server for Tideways. It lets an AI assistant answer questions such as "why was checkout slow yesterday?" from your performance data, issues and traces. It only calls GET endpoints of the Tideways REST API.

Install

You need a Tideways API token with the scopes metrics, traces and errors (Organization settings → API Access), and Node.js 22+ or Docker. Coming from 1.x? See UPGRADING.md.

Claude Code

claude mcp add tideways -e TIDEWAYS_TOKEN=your-token -- npx -y tideways-mcp-server

Add -s user to use it in every project.

Claude Desktop

Open the .mcpb bundle from the latest release. It asks for the token and keeps it in the OS keychain.

Codex

codex mcp add tideways --env TIDEWAYS_TOKEN=your-token -- npx -y tideways-mcp-server

The Codex CLI, IDE extension and app share this entry in ~/.codex/config.toml.

Cursor, Gemini CLI and other clients

Add to the client's MCP configuration (Cursor: ~/.cursor/mcp.json; Gemini CLI: ~/.gemini/settings.json; either also per project):

{
  "mcpServers": {
    "tideways": {
      "command": "npx",
      "args": ["-y", "tideways-mcp-server"],
      "env": { "TIDEWAYS_TOKEN": "your-token" }
    }
  }
}

OpenCode

Add to opencode.json in the project, or to ~/.config/opencode/opencode.json for all projects. {env:TIDEWAYS_TOKEN} reads the token from your shell's environment.

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "tideways": {
      "type": "local",
      "command": ["npx", "-y", "tideways-mcp-server"],
      "environment": { "TIDEWAYS_TOKEN": "{env:TIDEWAYS_TOKEN}" }
    }
  }
}

VS Code

Add to .vscode/mcp.json, or run MCP: Open User Configuration for all workspaces. VS Code asks for the token on first start and stores it.

{
  "inputs": [
    { "type": "promptString", "id": "tideways-token", "description": "Tideways API token", "password": true }
  ],
  "servers": {
    "tideways": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "tideways-mcp-server"],
      "env": { "TIDEWAYS_TOKEN": "${input:tideways-token}" }
    }
  }
}

Docker

In any setup above, replace npx -y tideways-mcp-server with docker run -i --rm -e TIDEWAYS_TOKEN ghcr.io/abuhamza/tideways-mcp-server (pin a version with :2.0.0). For example:

claude mcp add tideways -e TIDEWAYS_TOKEN=your-token -- docker run -i --rm -e TIDEWAYS_TOKEN ghcr.io/abuhamza/tideways-mcp-server
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "TIDEWAYS_TOKEN", "ghcr.io/abuhamza/tideways-mcp-server"],
"env": { "TIDEWAYS_TOKEN": "your-token" }

Tools

ToolAnswers
tideways_list_projectsWhich projects and scopes does my token have, and how much of the hourly rate limit is left?
tideways_list_servicesWhich services does a project have, and which of them serve "voucher"?
tideways_get_performanceHow is the app doing in any window of up to 24 h within the last ~30 days? Totals, layers, top transactions
tideways_get_transactionWhen did one transaction get slow, and in which layer? Per-minute timeline and response-time histogram
tideways_get_performance_summaryRequests, errors and p95 in 15-minute buckets over up to 30 days
tideways_list_issuesWhich errors, slow SQL queries, deprecations, warnings or notices are open, resolved or ignored, in any service or transaction?
tideways_get_issueWhere in the code does an issue fail, which transactions does it hit, and when did it start or stop?
tideways_search_tracesWhich individual requests were slow, in any transaction, and where did the time go?
tideways_get_historyDay, week or month report for a past date
tideways_get_observationsConfiguration problems and code bottlenecks Tideways detected (e.g. N+1 queries)

All tools except tideways_list_projects take an optional project (name or organization/name).

Configuration

Environment variables; empty values count as unset. The server does not load .env files.

VariableDefaultMeaning
TIDEWAYS_TOKENrequiredAPI token
TIDEWAYS_PROJECTthe token's only projectDefault project; with several projects and no default, pass project per call
TIDEWAYS_ORGfrom the token's projectsOrganization, to match a plain project name
TIDEWAYS_ENVAPI defaultDefault environment
TIDEWAYS_SERVICEthe project's default serviceDefault service
TIDEWAYS_BASE_URLhttps://app.tideways.io/apps/apiAPI base URL, https only
TIDEWAYS_REQUEST_TIMEOUT30000Request timeout in ms, a positive integer up to 600000
LOG_LEVELinfodebug, info, warn or error, case-insensitive; logs go to stderr

Good to know

  • All times are UTC, YYYY-MM-DD HH:mm. The API rate limit is per Tideways organization and clock hour; its size depends on the plan, and all tokens and projects of the organization share it.
  • Tools read the project's default service unless you name one; tideways_list_issues reads all services. The API cannot list services; tideways_list_services finds them through the issues of all services, and its search costs one request per service.
  • tideways_search_traces returns 30 traces per call, or up to 100 with limit.
  • Limits of the Tideways API: history for production and the default service only, issues 10 per page, and no trace filter by bottleneck (an N+1 observation's link opens the affected traces in Tideways).

Security

The token is read from the environment and never logged, and trace URLs are returned without query strings. Report vulnerabilities privately as described in SECURITY.md.

Development

npm ci
npm run check                      # the gate: typecheck, lint, format, tests, commit messages
npm run build && npm run inspect   # try the tools in the MCP Inspector

Architecture, invariants and how to add a tool: CLAUDE.md. Commits follow Conventional Commits.

License

MIT

Frequently asked questions

What is Tideways?

Read-only access to Tideways PHP performance monitoring: performance, issues, traces, history.

How do I install Tideways?

It runs on your machine. In Claude Code: claude mcp add tideways -e 'TIDEWAYS_TOKEN=<your tideways_token>' -e 'TIDEWAYS_ORG=<TIDEWAYS_ORG>' -e 'TIDEWAYS_PROJECT=<TIDEWAYS_PROJECT>' -e 'TIDEWAYS_ENV=<TIDEWAYS_ENV>' -e 'TIDEWAYS_SERVICE=<TIDEWAYS_SERVICE>' -- npx -y tideways-mcp-server@2.1.1. For other clients, paste the JSON configuration from this page into their MCP settings.

Does Tideways need an API key?

Yes. It expects TIDEWAYS_TOKEN, which you set in its configuration.

Is Tideways open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains Tideways?

It is published by abuhamza. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.