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 集成