Lowdefy

MCP endpoint in the Lowdefy dev server for docs lookup, build checks and live page state

Official · Lowdefy JavaScript Local · Streamable HTTP Developer tools

80 popularity score ★ 3.0k ↓ 1.2k/wk

Connect your client

Local (once it is running)

Add in one click

Opens the app, which asks before it adds the server.

Or add it by command or config

Claude CodeTerminal
claude mcp add --transport http lowdefy http://localhost:3000/lowdefy-docs/mcp
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "lowdefy": {
      "url": "http://localhost:3000/lowdefy-docs/mcp"
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "lowdefy": {
      "type": "http",
      "url": "http://localhost:3000/lowdefy-docs/mcp"
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.lowdefy]
url = "http://localhost:3000/lowdefy-docs/mcp"
Gemini CLITerminal
gemini mcp add --scope user --transport http lowdefy http://localhost:3000/lowdefy-docs/mcp

What it does

Lowdefy is an open-source framework for building web apps out of YAML config. Since v6, its local development server (`lowdefy dev`) also serves an MCP endpoint at `/lowdefy-docs/mcp` over streamable HTTP. It is meant for coding agents that write Lowdefy config. Nothing has to be configured to turn it on: it runs whenever the dev server runs, and it is never part of a production build.

The tools cover three things. First, they describe the project: which block, operator, action, connection and request types are installed (local plugins included), plus each type's JSON Schema, YAML examples and the core docs as markdown. Second, they check edits: current build errors with file and line, a page's built config, where an id is defined, and PNG screenshots of a page rendered in headless Chromium. Third, they work with live state: they read or evaluate operators against a running page (the developer's open browser tab if one is connected, otherwise a headless run), save and restore state checkpoints, turn a checkpoint into e2e mocks, and snapshot or roll back config files.

The source registers 23 tools (createDocsMcpServer.js at tag v6.1.0). `npx lowdefy agent-setup` writes a `.mcp.json` entry pointing at `http://localhost:<port>/lowdefy-docs/mcp`, along with a Claude Code skill and an AGENTS.md section. The npm package `@lowdefy/docs-content` is only the markdown docs bundle that this endpoint serves. The server itself ships in the `lowdefy` CLI package.

What it needs

RuntimeNode.js 22+

Node.js 22 or later (engines field of the lowdefy CLI package) and a Lowdefy v6 project. The endpoint exists only while the dev server is running: start it with `npx lowdefy dev` in the project, then point an HTTP-capable MCP client at http://localhost:3000/lowdefy-docs/mcp (3000 is the default port). Screenshots and headless state reads use headless Chromium.

Limits

It only answers while `lowdefy dev` is running. MCP clients connect once at session start, so if the dev server is down at that point the session has no Lowdefy tools. A stdio `lowdefy mcp` command that fixes this is merged for v7 but not released in 6.1.0. `lowdefy_run_request` refuses write requests unless `cli.agentTools.allowWriteRequests` is set in lowdefy.yaml. The headless renderer signs in as a user with no roles, so role-gated pages come back empty unless a `user` is passed. A page with id `lowdefy-docs` cannot be reached in dev.

Who it suits

It suits developers building Lowdefy apps with a coding agent such as Claude Code, who want the agent to check exact type schemas and see build errors and screenshots instead of guessing at YAML. It runs entirely on your machine, needs no account, and is published by the Lowdefy maintainers. It is no use outside a Lowdefy project or without a running dev server. If you only want Lowdefy's docs and have no project, read the docs site or the @lowdefy/docs-content markdown instead.

Tools 23

lowdefy_overview
Summarises what the project has installed and which tool to call next
lowdefy_list_types
Lists every installed type of one kind: blocks, operators, actions, connections or requests
lowdefy_list_plugins
Lists installed plugin packages, local ones included, with the types each provides
lowdefy_get_schema
Returns the JSON Schema of one type, with its properties and events
lowdefy_get_examples
Returns YAML usage examples shipped with a block type
lowdefy_get_doc
Fetches a core docs page as markdown, by slug or by kind and type name
lowdefy_search_docs
Keyword search over the core docs, returning slugs and snippets
lowdefy_get_plugin_doc
Reads markdown docs bundled inside an installed plugin package
lowdefy_app_map
Maps the whole app: pages and their files, menus, connections, endpoints, agents and websockets
lowdefy_build_status
Reports current build errors and warnings with source locations, plus recent browser errors
lowdefy_get_page_config
Returns a page's built config, or its build errors
lowdefy_find_config
Finds the YAML file and line where a page, block or request id is defined
lowdefy_screenshot_page
Renders a dev-server page in headless Chromium and returns a PNG
lowdefy_scaffold_page
Creates a new page YAML file, refusing if the page already exists
lowdefy_inspect_state
Reads a running page's state, request results and event log, from the open tab or headless
lowdefy_eval_operator
Evaluates an operator expression against a running page's live state
lowdefy_run_request
Runs a request with a test payload; write requests only when the app allows them
lowdefy_snapshot_state
Saves a page's live state and request responses into a named checkpoint folder
lowdefy_load_state
Restores a saved state checkpoint headless, or returns a URL that opens the app in that state
lowdefy_list_state_checkpoints
Lists saved state checkpoints
lowdefy_checkpoint_to_mocks
Converts a state checkpoint into e2e mocks.yaml fixtures
lowdefy_checkpoint
Snapshots all config files and returns an id to roll back to
lowdefy_revert_checkpoint
Restores config files from a snapshot and removes files added since

Similar servers