marker-watch-mcp
Runs a long-lived command and converts its marked output into versioned build snapshots, exposing status, output, and waiting tools over MCP.
README
marker-watch-mcp
marker-watch-mcp runs one long-lived command and turns its output into
versioned snapshots. A start marker opens a version; an end marker closes it.
The server keeps the last 20 completed versions and exposes them over stdio
MCP.
It does not watch files, restart commands, or parse diagnostics. Use any external watcher that emits markers and forwards its child command's output.
Install
pnpm install
pnpm build
pnpm test
Command contract
The configured command must remain running and write both markers to stdout or stderr. It must not overlap runs: one start marker, all output for that run, then one end marker.
Markers are literal substrings matched against complete output lines after ANSI control sequences are removed. Returned snapshots retain the original text.
Configuration
Pass server options before --; everything after it becomes the command and
its exact arguments.
node dist/index.js \
--cwd /absolute/path/to/repo \
--start-marker '@@build:start@@' \
--end-marker '@@build:end@@' \
-- watcher --watch-paths 'src/**/*.ts' -- clyde lint tsc --no-watch app
MCP client example:
{
"mcpServers": {
"marker-watch": {
"command": "node",
"args": [
"/absolute/path/to/marker-watch-mcp/dist/index.js",
"--cwd", "/absolute/path/to/repo",
"--start-marker", "@@build:start@@",
"--end-marker", "@@build:end@@",
"--",
"watcher", "--watch-paths", "src/**/*.ts", "--",
"clyde", "lint", "tsc", "--no-watch", "app"
]
}
}
}
Environment alternatives are MARKER_WATCH_MCP_COMMAND,
MARKER_WATCH_MCP_ARGS (a JSON string array), MARKER_WATCH_MCP_CWD,
MARKER_WATCH_MCP_START_MARKER, and MARKER_WATCH_MCP_END_MARKER.
Pass --log-file /tmp/marker-watch.log or set
MARKER_WATCH_MCP_LOG_FILE to write raw received output to a file. The file is
truncated when the server starts.
MCP tools
get_build_statusreturns process state, active version, and latest version.get_build({ version? })returns a cached snapshot; omitversionfor the latest.await_build({ afterVersion?, timeoutMs? })waits up to two minutes. WhenafterVersionis omitted, it uses the current completed version and waits for the next one.start_build_wait({ afterVersion, timeoutMs? })returns a wait ID immediately;get_build_wait({ id })returns itspendingstate or result. Background waits last up to one hour.get_live_output({ tailChars? })returns recent raw stdout and stderr, including an active version that has not reached its end marker yet.
Client flow
get_build_status() -> latestCompletedVersion: 41
change files (the external watcher starts a run)
await_build({ afterVersion: 41 }) -> version 42 and full output
For long runs, replace the final call with start_build_wait, then query its
ID later. On SIGINT, SIGTERM, or MCP transport shutdown, the server stops
the command and its Unix process group.
Manual Inspector check
pnpm build
pnpm dlx @modelcontextprotocol/inspector \
node /absolute/path/to/marker-watch-mcp/dist/index.js \
--cwd /absolute/path/to/repo \
--start-marker '@@build:start@@' \
--end-marker '@@build:end@@' \
-- watcher --watch-paths 'src/**/*.ts' -- clyde lint tsc --no-watch app
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.