tidewave-ai/tidewave_phoenix
63.3
Adequate · 3 October 2026
2.4k
lines of production code
Elixir
primary language
2
measurements over time
What this system is
Tidewave is a Phoenix-based development tool that integrates with applications via a Plug to provide browser automation and design canvas capabilities. It exposes these features through the Model Context Protocol (MCP) using HTTP and stdio transports, allowing external clients to execute JavaScript, generate design files, and inspect application logs. The system manages browser sessions via WebSockets and simplifies integration through Igniter-based installation tasks and a proxy command for remote Phoenix apps.
Features
Added design document API reference for custom elements
A new HTML file has been added to the pages/assets directory that serves as a comprehensive API reference for a set of custom HTML elements (such as \\<design-document\>\, \\<design-round\>\, and \\<design-option\>\). This documentation details the structure, attributes, and CSS custom properties required to present design options and rounds within the application, including guidance on integrating with Vue for reactive data.
pages/assets · high confidence
New Igniter-based installation task and proxy command
Users can now install Tidewave into their Phoenix projects using the \mix igniter.install tidewave\ command, which automatically adds the \plug Tidewave\ line to the endpoint's code-reloading section in development. Additionally, a new \mix tidewave.proxy\ command is available to proxy MCP requests over stdio to a running Phoenix application, with support for excluding browser tools via the \--no-browser-tools\ flag.
lib/mix · high confidence
New browser automation tools and WebSocket control interface
Tidewave now includes browser automation capabilities, allowing users to run tools against connected browser clients via a new WebSocket control socket (\/ws\) and browser session registry. The router adds endpoints for uploading screenshots and recordings (with specific content type validation), a \/config\ endpoint for discovery, and enforces stricter origin checks for WebSocket and upload routes. Additionally, the MCP transport has shifted from SSE to HTTP for message handling, and the application now validates the presence of Mix and Git at startup to ensure proper tool availability.
lib/tidewave · high confidence
Behavioural changes
MCP transport and protocol overhaul with browser tool support
The Tidewave MCP server has been refactored to support the 2025-03-26 protocol version and introduces a new HTTP transport alongside the existing stdio interface, replacing the previous SSE-based connection management. This change adds a configurable \include\_browser\_tools\ option (defaulting to true) that conditionally exposes browser and design canvas tools, and introduces a proxy mode in the stdio handler to forward requests to running Phoenix applications. Additionally, the \get\_logs\ tool now supports filtering by log level and regex patterns, and a new \Tidewave.clear\_logs/0\ API allows users to reset the log buffer.
lib/tidewave/mcp · high confidence
Redesigned MCP tools with new browser and design canvas capabilities
This update introduces new \browser\_eval\ and \create\_design\_canvas\ tools, allowing users to run JavaScript in a real browser session and generate HTML design exploration files, respectively. Several existing tools have been removed or consolidated: the entire file system toolset (\fs.ex\), Hex package search tools (\hex.ex\), Phoenix LiveView channel listing (\phoenix.ex\), and process tracing (\process.ex\) are no longer available. The \project\_eval\ tool has been significantly enhanced to support structured arguments, timeouts, JSON output, and automatic code reloading, while the \shell\_eval\ tool has been removed. Ecto SQL execution now accepts arguments as a separate parameter and includes better handling for UUIDs, and the \get\_source\_location\ tool now accepts flexible references (including dependency packages) and is paired with a new \get\_docs\ tool for retrieving documentation.
lib/tidewave/mcp/tools · high confidence
Simplified test configuration and removed Hex tool mocking
The test environment configuration for the Tidewave application has been streamlined. The previous setup, which mocked Hex-related HTTP requests via the Req library for the Hex tools, has been removed. In its place, the configuration now explicitly enables debug mode and registers MockRepo for Ecto repositories, reflecting the removal of Hex tools from the CLI as they are no longer needed in this context.
config · high confidence
Tidewave toolbar injection and enhanced CSP support
The Tidewave plug now automatically injects a toolbar script and configuration meta tag into HTML responses when the toolbar is enabled, allowing the Tidewave interface to attach to web pages. To support this injection, the plug rewrites Content-Security-Policy headers to allow the necessary script execution and connections to the Tidewave client URL. Additionally, the plug now silences internal diagnostic requests to prevent them from cluttering the log buffer and raises an error if it detects it is running after the request body has been parsed or if Phoenix Live Reload is active, ensuring correct initialization order.
lib · high confidence
Test coverage
Added comprehensive test coverage for the MCP handler, HTTP transport, and stdio interface; Added test coverage for browser sessions, control socket, and CSP handling; Added tests for the Tidewave Mix tasks; Updated and added tests for MCP tools.
Dependencies
Tidewave Phoenix v0.9.1 release with dependency upgrades and new optional integrations
This release bumps the package version to 0.9.1 and updates core dependencies, including Plug to 1.19.1 and Bandit to 1.10.1. It introduces optional support for Igniter (0.7.2) and Websock Adapter (0.5.8) to facilitate browser control and WebSocket upgrades, while also adding optional dependencies for Phoenix Live Reload (1.6.1) and Plug Cowboy (2.9) to handle live reload detection and socket data access. The ExDoc tooling is upgraded to 0.40.4 with the addition of the Makeup Syntect dev dependency for syntax highlighting, and the documentation structure is reorganized with new guides and redirects.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 67 → 63 (-3.5)
- Rubric changed (rubric-2026.09.15 → rubric-2026.10.1) — scores are not directly comparable.
Lenses
- Code Health 99 → 99 (+0.0)
- Architecture 99 → 99 (+0.2)
- Maturity 59 → 58 (-0.5)
- Readiness 66 → 55 (-10.8)
- Security 85 → 85 (+0.8)
- Accessibility 70 → 70 (+0.0)
Resolved (4)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- Off-boarding risk: anonymized user #1
- Outdated: ex_doc
New (3)
- Documentation: no architecture or design documentation
- Further sole-owners (lower concentration)
- Off-boarding risk: anonymized user #1
Changes since last survey
- 3 commits — 3 feature/other, 0 fixes
By area
- (root) — 1 commit
- lib/tidewave — 1 commit
- pages/ide — 1 commit
Notable commits
- change: Add MCP instructions
- change: Release v0.9.1
- change: Update docs
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
tidewave-ai/tidewave_phoenix was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 3 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit bd113dff75866d8b01d624d063c0fcaf7e225929 — the exact code this score is about.
- Scored under rubric-2026.10.1 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-8fe32cd45d00.