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 分