NoBrainer Tech Flow

io.github.nobrainer-tech由 GitHub 帳號 nobrainer-tech 發布v2.12.0更新於 Nov 11, 2026

Task contract, evidence check and done gate for AI coding agents. Read-only, no sign-in.

發布方自己的服務:Tech.eu Funding Explorer

已驗證Streamable HTTP可網頁執行效率與工作流開發者工具

概覽

AI 產生的概覽

免費、免登入的遠端 MCP 伺服器,為編碼代理提供任務契約、證據檢查與完成關卡,避免在沒有證據時宣稱任務完成。

可以做什麼
  • 建立任務契約:檢查預期成果與完成定義(DoD),選擇快速或完整路徑,回傳 DoD 項目 ID 與簽章契約權杖
  • 取得指引:依階段、事件、模組或 PR 完成定義回傳最多六條引自固定 Flow 版本的規則,並可續接已儲存的契約
  • 驗證證據:對照 DoD 項目檢查結束碼、測試框架摘要、數量、雜湊與 URL 狀態,標記過期結果與重複缺陷
  • 完成關卡:回傳 DONE、DONE_WITH_GAPS 或 NOT_DONE,並列出確切缺少的項目
  • 依完成回執產生交接報告骨架
  • 依任務類型從固定基準快照推薦前三名模型
適用情境
適合代理處理非簡單的編碼任務時,希望在不同 MCP 用戶端與工作階段之間維持一致、可查核的完成定義,並在缺乏證據時拒絕宣稱完成。也適合查詢固定的 Flow 規則或依基準取得的模型建議。
執行需求
遠端 Streamable HTTP 端點,免登入、免 API 金鑰;在用戶端的 MCP 設定加入端點網址即可。若改為本機執行,需要 Node.js 22.18 以上版本,並需設定簽章金鑰變數,否則權杖無法在重新啟動後保留。
安裝前請注意
伺服器只檢查一致性而非真實性:它看不到你的機器,證據由代理自行回報,因此通過關卡不代表工作確實完成。伺服器不儲存任何內容,契約權杖須自行保存在目標檔案中,並在有效期內續期。基準快照超過抓取時間 14 天後,模型建議會回傳空白清單。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 NoBrainer Tech Flow,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.nobrainer-tech%2Fnobrainer-tech-flow/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "nobrainer-tech-flow": {
      "type": "http",
      "url": "https://mcp.nobrainer.tech/mcp"
    }
  }
}

README

NoBrainer Tech Flow MCP server

A free, public, stateless remote MCP server for nobrainer-tech-flow. It gives an AI agent one task contract, one evidence check and one done gate, the same in every MCP client, plus guidance quoted from the pinned Flow release and a model advisor based on the NoBrainer AI benchmark.

  • Endpoint: https://mcp.nobrainer.tech/mcp, Streamable HTTP, no sign-in.
  • Stores nothing, runs no AI model, makes no outbound requests from tools.
  • Protocol: MCP 2026-07-28 (stateless, server/discover) and 2025-era clients (2025-11-25, 2025-06-18, ...) through a stateless JSON-only fallback on the same endpoint.

Tools

ToolWhat it does
start_flow_taskChecks the outcome and definition of done (DoD), picks the quick or full path, lints vague items, routes Flow modules and owner gates, and returns item IDs (AC01...) with an HMAC-signed contract token to save in your goal file.
get_flow_stepUp to six rules for one stage, event, module or topic (topic: "pr_dod": a pull request's Definition of Done), quoted verbatim from the pinned Flow release, with the source anchor. Works without a token. With a contract token and event: "resume" it returns two rules plus goal_block for the goal file: GOAL_ID, one DoD row per item (- AC01 test, local: ACCEPTED; statuses OPEN, ACCEPTED, FAILED, STALE), STATUS, CHECKPOINT, NEXT_SAFE_ACTION and the renewed token as FLOW_CONTRACT. OUTCOME, NON_GOALS and the DoD wording stay placeholders because the server never repeats your text.
check_flow_evidenceChecks one to four evidence records: exit codes, the test-runner summary (pytest, unittest, node:test, Vitest, Jest, Mocha, Playwright, Go, cargo, RSpec, PHPUnit, dotnet), claimed counts, evidence level, URL host and status, file hashes. Marks earlier test results stale when a registered file changes, and returns REPEATED_DEFECT after a second failure.
check_flow_doneDONE only when every item has accepted, current evidence; DONE_WITH_GAPS when the rest are listed as unchecked with a reason; otherwise NOT_DONE with the exact missing items.
draft_flow_handoffA final-report skeleton built only from the done receipt.
recommend_flow_modelA top-3 model shortlist for a data-backed task type (orchestration, instructions, frontend, research, writing, terminal-coding) from a pinned, dated benchmark snapshot, filtered by the providers, models or client apps you have (have), with an optional priority (quality, balanced, efficient) and role. The legacy coding alias is accepted case-insensitively (for example, Coding) and returns task: "terminal-coding" with a Terminal-Bench shortlist. Never invents scores and says when data is missing. Like the website, it refuses once the snapshot is 14 days past its fetch time (expired: true, expires date in every response).

All six tools are read-only (readOnlyHint: true, openWorldHint: false). Results are one compact JSON text block. Responses never echo your free text: only IDs, enums, digests and canonical Flow text.

The server checks consistency, not truth: it cannot see your machine, and evidence is reported by the agent. Every handoff says so. A recognised failure in the last 4,000 normalized characters of a test log rejects an exit-zero result, even if a later summary passes. Submit a clean rerun separately.

Install

Server name: nobrainer-tech-flow. To try a local build instead, replace the URL with http://127.0.0.1:8787/mcp (see "Run locally").

ClientStatus
Claude CodeVerified 2026-10-20 against the local server (Claude Code 2.1.303): connected over MCP 2026-07-28 and listed the six tools.
Codex CLIVerified 2026-10-20 against the local server (codex-cli 0.163.0): connected over MCP 2025-06-18 and listed the six tools through the app server.
OpenCodeVerified 2026-10-23 against the public endpoint (OpenCode 2.0.32): opencode mcp list shows it connected.
Claude.ai / Claude Desktop, ChatGPT, Cursor, VS Code / Copilot, Gemini CLI, Cline, Windsurf, ZedNot verified yet. Snippets follow each client's documentation.

Claude Code:

bash
claude mcp add --transport http nobrainer-tech-flow https://mcp.nobrainer.tech/mcp# for all projects of this user:claude mcp add --transport http --scope user nobrainer-tech-flow https://mcp.nobrainer.tech/mcp

Project file .mcp.json:

json
{"mcpServers": {"nobrainer-tech-flow": {"type": "http", "url": "https://mcp.nobrainer.tech/mcp"}}}

Claude.ai and Claude Desktop (not verified): Customize > Connectors > Add > Add custom connector, name NoBrainer Tech Flow, URL https://mcp.nobrainer.tech/mcp, No sign-in. On Team and Enterprise an Owner adds it under Organization settings > Connectors first.

Codex CLI and IDE, ~/.codex/config.toml (or codex mcp add nobrainer-tech-flow --url https://mcp.nobrainer.tech/mcp):

toml
[mcp_servers.nobrainer-tech-flow]url = "https://mcp.nobrainer.tech/mcp"

ChatGPT (not verified): open ChatGPT Plugins (chatgpt.com/plugins), select + > Add custom MCP server, name it NoBrainer Tech Flow, enter the URL under Connection, choose no authentication and select Create as a plugin. Workspace policies decide who can add custom MCP servers.

Cursor, .cursor/mcp.json or ~/.cursor/mcp.json (not verified):

json
{"mcpServers": {"nobrainer-tech-flow": {"url": "https://mcp.nobrainer.tech/mcp"}}}

VS Code / GitHub Copilot, .vscode/mcp.json (not verified):

json
{"servers": {"nobrainer-tech-flow": {"type": "http", "url": "https://mcp.nobrainer.tech/mcp"}}}

Gemini CLI (not verified):

bash
gemini mcp add --transport http nobrainer-tech-flow https://mcp.nobrainer.tech/mcp

or settings.json: {"mcpServers": {"nobrainer-tech-flow": {"httpUrl": "https://mcp.nobrainer.tech/mcp"}}}

Cline, cline_mcp_settings.json (not verified; set type, because a missing type means legacy SSE):

json
{"mcpServers": {"nobrainer-tech-flow": {"type": "streamableHttp", "url": "https://mcp.nobrainer.tech/mcp"}}}

OpenCode (verified 2026-10-23 against the public endpoint, OpenCode 2.0.32: opencode mcp list shows it connected):

bash
opencode mcp add nobrainer-tech-flow --url https://mcp.nobrainer.tech/mcp --global

Windsurf, ~/.codeium/windsurf/mcp_config.json, then Refresh in Manage MCPs (not verified):

json
{"mcpServers": {"nobrainer-tech-flow": {"serverUrl": "https://mcp.nobrainer.tech/mcp"}}}

Zed, Settings > AI > MCP Servers > Add Remote Server, or settings.json (not verified):

json
{"context_servers": {"nobrainer-tech-flow": {"url": "https://mcp.nobrainer.tech/mcp"}}}

Using it with local Flow skills

The server leads the gates; guidance already in context leads the guidance. If Flow skills are installed locally, keep using them for stage guidance and call get_flow_step only for cards you have not loaded. Pass your local Flow version as local_flow; when it is older than the server's, the response says that gate rules follow the server's version.

In repository work, save the contract token in the Flow goal file as FLOW_CONTRACT: nbf1... so another session or client can continue. To resume, call get_flow_step with that token and event: "resume". Merge the returned goal_block into the goal file by item ID: update each DoD row's status, CHECKPOINT, NEXT_SAFE_ACTION and FLOW_CONTRACT (the renewed token), and keep your own OUTCOME, NON_GOALS, DoD wording, evidence pointers and other fields. Without a goal file yet, start one from the block and fill in those placeholders. Then continue from NEXT_SAFE_ACTION. Each check_flow_evidence call or resume renews a token for 30 days, up to 90 days after start_flow_task.

Run locally

Node.js 22.18 or newer (TypeScript runs directly through Node's type stripping).

bash
cd mcpnpm cinpm run serve            # http://127.0.0.1:8787/mcp, loopback only, ephemeral signing keynpm test                 # type check, content pin, unit, protocol, security and budget testsnpm run conformance      # official MCP conformance suite (2025-11-25) with test/conformance-baseline.ymlnpm run smoke -- http://127.0.0.1:8787/mcpnpm run transcripts      # rewrites docs/review/test-cases.mdnpm run transcripts -- --in-memory  # SDK tool calls without an HTTP listener; transport is recordednpm run plugin           # dist/nobrainer-tech-flow-<version>.zip for the OpenAI portal

Without FLOW_TOKEN_KEYS, the local server signs with a random key per start, so tokens do not survive a restart. On Vercel the key is required.

How it is built

text
api/mcp.js          Vercel Function; logic compiled from src/ into dist/ by `npm run build`src/rpcguard.ts     fixed-text answers for unknown tool/prompt/resource names, protocol error rewritingsrc/http.ts         POST only (plus CORS preflight for allow-listed origins), 32 KiB body cap, Host and Origin checks, JSON depth limit, one                    content-free log line; 2026-07-28 traffic -> SDK handler (JSON responses),                    2025-era traffic -> fresh stateless transport with JSON responsessrc/server.ts       six tools, prompt `flow`, resource template `flow://card/{id}`, instructionssrc/token.ts        176-byte max binary token, HMAC-SHA-256 (128-bit tag), key ring, expirysrc/evidence/       runner parsers, verdicts, staleness, failure budget, secret screeningsrc/rules/          levels, quick/full path, lint, module routing, owner gatessrc/advisor/        model advisor over data/benchmark/snapshot.jsoncontent/            SOURCE.json pin (tag, commit, file hashes) and cards.yamlsrc/generated/      cards.json built by scripts/build-content.ts from the git tagplugin/             OpenAI submission manifests (plugin.json, mcp.json)

Runtime dependencies: @modelcontextprotocol/server 2.3.1, zod 4.6.7, @vercel/firewall 1.2.6. The spec proposed mcp-handler; it is a thin wrapper over the SDK's own createMcpHandler, so the server uses the SDK directly (one dependency fewer, same dual-era behaviour).

Updating Flow guidance

The module list comes from the release: scripts/build-content.ts enumerates skills/*/SKILL.md at the pinned tag. A released module without a cards.yaml entry gets a description-only card and a warning; a cards.yaml module entry that the release no longer has fails the build (this is how a rename such as nobrainer-codex-context -> nobrainer-context surfaces). To move to a new release: update content/SOURCE.json (tag, commit, hashes), fix cards.yaml, run npm run build:content and npm test, then deploy.

Updating the benchmark snapshot

npm run refresh:benchmark -- --source <website>/public_html/ai/benchmark regenerates data/benchmark/snapshot.json and SOURCE.json deterministically. The website rule applies: a snapshot expires 14 days after its fetch time, so refresh and redeploy at least every 14 days or the advisor answers expired: true with an empty shortlist. See data/benchmark/NOTICE.md for provenance and third-party licences.

Documents

Source code: MIT, see the repository LICENSE.

來源:mcp/README.md,提交 b48f15c

工具

6

start_flow_task

Start a Flow task

Use at the start of a non-trivial task. Checks your proposed outcome and definition of done (DoD) against Flow's contract rules, chooses the quick or full path, and returns DoD item IDs, a signed contract token and the first step. Computes only; stores nothing. Save the token in your goal file.

輸入參數dod必填risksoutcome必填non_goalslocal_flow

get_flow_step

Get the next Flow step

Use when you need guidance on a Flow stage, an event (e.g. blocked), a module (e.g. nobrainer-review), or a PR's Definition of Done or readiness (topic pr_dod). Returns up to six rules quoted from the pinned release, with their source. With a token, event resume also returns a goal block.

輸入參數eventstagetokentopicmodule

check_flow_evidence

Check evidence for DoD items

Use after running a check. Validates one to four evidence records against DoD items in the contract token: exit codes, test counts in the output, hashes, URL status and evidence level. It cannot see your machine; it checks structure and consistency only. Returns verdicts and an updated token.

輸入參數token必填evidence必填

check_flow_done

Check whether the task is done

Use before saying a task is done. Returns DONE only when every DoD item has accepted, current evidence, DONE_WITH_GAPS when the rest are listed in unchecked with a reason, otherwise NOT_DONE with the exact missing items.

輸入參數token必填unchecked

draft_flow_handoff

Draft the final handoff

Use after check_flow_done. Returns a short final-report skeleton from the done receipt: delivered outcome, proof per DoD item, what was not checked, decisions left to the user and the next action.

輸入參數receipt必填

recommend_flow_model

Recommend Flow model

Use when picking a model for a Flow task: top-3 from a pinned NoBrainer benchmark snapshot, no invented scores.

輸入參數haveroletask必填priority

版本歷史

1
  1. v2.12.0最新Nov 11, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Tech 整合