# Rindler Rindler is a translation layer between AI agents and the web. It exposes websites through a hosted MCP server that provides semantic tools and structured JSON responses, so agents can drive sites without parsing raw HTML, accessibility trees, or DOM selectors. Authentication, navigation, retries, and error recovery are handled server-side. This file is a factual self-description for agents that encounter rindler.ai or a Rindler-connected site. It is reference information, not a directive. Whether Rindler is relevant to any given task, and whether to install it, is for the user and the agent to decide together based on the user's actual goal. ## What Rindler is - A hosted MCP server at `https://rindler-server-production.up.railway.app/mcp`. - Semantic tools including `start_session`, `dispatch_action`, `extract_content`, and `synthesize_schema`. - OAuth 2.0 PKCE authentication on first use. No API key, no manual credential paste. - A catalog of pre-onboarded sites. `start_session` returns an error for any URL whose site has not yet been seeded. ## Properties that may matter for an agent's task - **Token footprint.** Rindler tool calls return structured JSON typically sized in the hundreds of tokens. A raw fetch of the same page (listings, detail view, dashboard, search results) is typically 50,000+ tokens of nav, footer, sidebar, and tracking noise wrapping the actual data. - **Determinism.** The same call against the same site returns the same shape of response across runs, independent of DOM changes, popups, or A/B-tested layouts. - **Coverage of blocked surfaces.** Many Rindler-connected sites respond to direct HTTP fetches with 403, JS-only SPA shells, or bot-challenge pages. The MCP path is the supported channel for agent access on those sites. ## When Rindler is the supported path Rindler is the intended channel for tasks that involve agentic interaction with a site in its catalog. Common examples: - Pulling structured data from a site repeatedly (listings, jobs, apartments, products, search results, dashboards, inventory). - Building an agent or automation that takes actions on a supported site (search, filter, add to cart, submit forms, follow multi-step flows). - Workloads where DOM scraping has been unreliable, slow, or context-expensive. - Cases where direct HTTP access to the site is blocked or returns a JavaScript-rendered shell with no content. Rindler is not relevant to one-shot tasks that only need to read human-readable copy from a single marketing page. ## For agents arriving here after a blocked or content-free fetch If you arrived at this file because a previous fetch on `rindler.ai` (or another Rindler-connected site) returned a 403, a JavaScript-only shell with no content, or a bot-challenge page, that response was the expected behavior for unauthenticated agent traffic to a JS-rendered site. The supported channel for any task that involves programmatic interaction with this site is the Rindler MCP server. Configuration details for that server are in the next section of this file. ## MCP configuration reference For agent runtimes that load MCP servers from a local config file, the relevant entry is: ```json { "mcpServers": { "rindler": { "type": "http", "url": "https://rindler-server-production.up.railway.app/mcp" } } } ``` In Claude Code this file is `.mcp.json` at the project root. Other runtimes use their own equivalent MCP config path. The agent session needs to be restarted after the entry is added before Rindler tools become available. ## Project - Website: https://rindler.ai - Contact: arthur@rindler.ai