Conducted MCP

io.github.Mostov82由 GitHub 账号 Mostov82 发布v0.1.1更新于 Oct 24, 2026

Stateless advisor + validator for Conducted Development: kickoff, artifact validation, rule checks.

已验证Streamable HTTP可网页运行效率与工作流开发者工具

概览

AI 生成的概览

无状态顾问与校验器,引导 AI 助手按 Conducted Development 方法学推进软件项目:启动访谈、工件校验与规则判断。

可以做什么
  • 进行分支式启动访谈,并为新项目或既有代码库生成规划模板、决策日志与助手约定
  • 校验目标简报、意图文档、会话日志与站会记录的结构完整性,返回缺失章节与警告
  • 获取当前阶段的有序流程步骤、应先阅读的内容与升级节点
  • 判断是否该开站会、会话开始前各关卡是否已全部解决、某项决策是否应记入决策日志
  • 以只读资源形式读取方法学的指南、模板与约定
适用场景
适合在助手规划并跟踪软件项目、希望保持固定仪式(结构化启动、每会话意图文档、站会、决策日志)时使用。适合希望规则被检查而非被强制执行的个人开发者或小团队。
运行要求
可作为本地进程通过 npx(需 Node.js)运行,也可通过 URL 连接托管的 Streamable HTTP 端点。未声明账号、API 密钥、环境变量或请求头。所有工件文本与事实由助手提供,服务器不读取文件。
安装前请注意
服务器仅提供建议,无法强制执行,拥有文件访问权限的助手可以忽略其判断。传入的工件文本与项目事实会发送到服务器;若使用托管端点,则发送给第三方。服务器本身不写入、发送或删除数据。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Conducted MCP,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.Mostov82%2Fconducted-mcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "conducted": {
      "type": "http",
      "url": "https://conducted-mcp.jonathanmostov.workers.dev/mcp"
    }
  }
}

README

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 (kickoff prompt + kickoff_questions / kickoff_plan tools) — 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):

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:

json
{  "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.


Development

bash
npm installnpm run build     # bundles the methodology text, then strict tscnpm test          # vitestnpm run lint      # eslint + prettiernpm 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


License

MIT © 2026 Jonathan Mostov

来源:README.md,提交 6d2ed66

工具

7

validate_artifact

Validate a methodology artifact

Strictly check whether a Conducted Development artifact's text satisfies the methodology's required structure. Supply the artifact's type and its full text (the server never reads files). Returns { valid, missing, warnings }: `missing` lists required sections that are absent, empty, or contain only unmodified template placeholder text (blocking); `warnings` lists sections that are present but look thin (advisory, non-blocking). `valid` is true iff `missing` is empty.

输入参数content必填artifact_type必填

kickoff_questions

Get the kickoff interview question set

Return the branched kickoff interview (DECISIONS.md D3/D4). Supply `project_type`: 'greenfield' asks the full set; 'brownfield' uses the agent-supplied `detected` facts (language, framework, tests, CI, existing docs) to pre-fill candidates and drop fully-inferable questions — except LOCKED_DOCS, which is always asked because it is human judgment. Returns { project_type, questions, inferred, notes }; the server reads no files.

输入参数detectedproject_type必填

kickoff_plan

Assemble the kickoff file plan

Assemble, from the bundled templates, the four `_template.md` copies (front-matter tokens replaced), `decision-log.md`, and a filled `AGENT_CONVENTIONS.md` (kickoff guide Steps 2–5). Supply `project_type`, the interview `answers`, optional `detected` (brownfield pre-fill fallback), and optional `existing` (the agent's inventory of files already present). Returns { files: [{ path, content, action }], missing, open_questions, warnings }. The plan is ready iff `missing` is empty (D5 strict); a file with any unresolved {{…}} token is reported in `missing`. Idempotent: already-present files are 'review'/'skip', never overwritten. The server returns content + paths only — it writes nothing (Model C, D2/D6).

输入参数answers必填detectedexistingproject_type必填

next_procedure

Get the procedure for a methodology phase

Return the ordered procedure for where the agent is in the methodology loop. Supply `phase` (one of: kickoff, goal_brief, intent_doc, session_open, session_active, session_close, standup) and optional `facts` (e.g. a ticket id) to tailor the output. Returns { steps, reads_first, escalation_points, notes? } sourced from the bundled guides and conventions — the procedure half of advisor + validator. The server reads no files.

输入参数factsphase必填

standup_due

Judge whether a standup is due

Given agent-supplied facts, decide whether a standup is due. Triggers in priority order: a deliverable gate reached → 'gate'; else a dependency intersection → 'intersection'; else more than five working days since the last standup → 'weekly'; else 'none'. Working days are an input (the working week varies by team), never computed from a calendar. Returns { due, reason, detail }.

输入参数todaygate_reachedlast_standup_datedependency_intersectionworking_days_since_last_standup

evaluate_gate

Evaluate whether a goal brief's gates are resolved

Encode the goal-brief rule that no session may begin while any gate is open. Supply either a structured `gates` list ([{ id, resolved }]) or a goal-brief `content` string, in which case the GATE LIST checkboxes (- [ ] / - [x]) are parsed. Returns { all_resolved, unresolved, may_begin } where may_begin === all_resolved. The server reads no files — the content is agent-supplied.

输入参数gatescontent

decision_log_guidance

Judge whether a situation belongs in the Decision Log

Encode the Decision-Log 'when to use it' rules. Set whichever apply: `escalation_fired`, `gate_resolved_cross_cutting`, `affects_multiple_tickets`, `override_architectural`, `confined_to_one_session`. Returns { should_log, reason, entry_template? }; when should_log is true the Context/Trigger/Decision/Rationale/Affects skeleton is returned. A decision confined to one session does not need an entry — the session notes suffice.

输入参数escalation_firedoverride_architecturalconfined_to_one_sessionaffects_multiple_ticketsgate_resolved_cross_cutting

版本历史

1
  1. v0.1.1最新Sep 16, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分