Conducted MCP
An MCP server that helps an AI agent plan and track a software project the way a disciplined team would — and it was built using the very methodology it ships.
Conducted MCP exposes Conducted Development — a lightweight, intent-driven methodology — to any MCP-capable agent (Claude Desktop, Cursor, and others). It is a stateless advisor + validator: it holds no project data and touches no files or git. The agent does all the I/O; the server supplies judgment — validate this artifact, is a standup due, what's the procedure for this phase, does this decision belong in the log.
The differentiator: this repository's own
work/folder — goal briefs, intent docs, a decision log, and cycle standups — was produced under the methodology the tool implements. It is the proof of process, not a sample.
What it does
A connecting agent gets, on demand:
- A guided kickoff (
kickoffprompt +kickoff_questions/kickoff_plantools) — a branching Q&A that bootstraps a project's planning structure for greenfield or existing codebases. For existing code the agent inspects the repo and the server pre-fills answers so the human confirms rather than authors from scratch. - Strict artifact validation (
validate_artifact) — submit a goal brief / intent doc / session log / standup, get back{ valid, missing, warnings }. - Phase procedures (
next_procedure) — the ordered steps, what to read first, and the escalation points for wherever the agent is in the loop. - Mechanical rule checks (
standup_due,evaluate_gate,decision_log_guidance) — the rituals a solo practitioner most often lets slide, as stateless judgments over supplied facts.
The methodology's guides, templates, and conventions are served as read-only resources (conducted://guide/*, conducted://template/*, conducted://conventions) so an agent can learn the rules in-band.
Why it's built this way (Model C)
The server cannot enforce — an agent always has direct file access. So instead of pretending to be a gatekeeper, it is an advisor: pure functions returning judgments and procedures, no side effects, nothing to host with no data and no auth-to-data. That makes it portable, trivially testable, and cheap to run locally or remotely. The reasoning is written up in docs/DESIGN_SKETCH.md and the resolved trade-offs in DECISIONS.md.
Quick start
Published on npm as conducted-mcp — runs with zero install via npx.
Add the server to your MCP client. Claude Desktop (claude_desktop_config.json) or Cursor (.cursor/mcp.json):
{
"mcpServers": {
"conducted": {
"command": "npx",
"args": ["-y", "conducted-mcp"]
}
}
}
Then ask your agent to "run the Conducted kickoff for this project," or call any tool directly.
Or connect to the hosted endpoint (no install)
A stateless Streamable HTTP endpoint runs live on Cloudflare Workers — connect by URL, nothing to install:
{
"mcpServers": {
"conducted": {
"url": "https://conducted-mcp.jonathanmostov.workers.dev/mcp"
}
}
}
Because the server is stateless and holds no data (Model C), the endpoint is safe to run unauthenticated, guarded by rate limiting.
Demo
See docs/DEMO.md for a real transcript of the kickoff flow — the front-door prompt, the branched interview, and the phase procedures — captured verbatim from the running server. <!-- a client-side screen recording will be added here -->
Development
npm install
npm run build # bundles the methodology text, then strict tsc
npm test # vitest
npm run lint # eslint + prettier
npm start # run the stdio server
The server is TypeScript on the official @modelcontextprotocol/sdk, ESM, strict mode. See CONTRIBUTING.md for the layout and conventions.
The methodology, in the repo
work/goal-briefs/— the goal briefs that drove this buildwork/intent-docs/— one per ticket, the per-session contractswork/standups/— cycle-gate standupswork/decision-log.md— the append-only record of decisionsAGENT_CONVENTIONS.md— how every session runs, model- and tool-agnostic
License
MIT © 2026 Jonathan Mostov