NoBrainer Tech Flow

io.github.nobrainer-techPublished by GitHub account nobrainer-techv2.12.0Updated Nov 11, 2026

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

The publisher's own server: Tech.eu Funding Explorer

VerifiedStreamable HTTPWeb executableProductivity & WorkflowDeveloper Tools

Overview

AI-generated overview

A free, stateless remote MCP server that gives a coding agent a task contract, an evidence check and a done gate before it claims a task is finished.

What you can do
  • Start a task contract: check the outcome and definition of done, pick the quick or full path, and get DoD item IDs plus a signed contract token
  • Fetch guidance: up to six rules quoted from a pinned Flow release for a stage, event, module or PR definition of done, and resume a saved contract
  • Validate evidence: check exit codes, test-runner summaries, counts, hashes and URL status against DoD items, flag stale results and repeated defects
  • Gate completion: return DONE, DONE_WITH_GAPS or NOT_DONE with the exact missing items
  • Draft a handoff report skeleton from the done receipt
  • Recommend a top-3 model shortlist for a task type from a pinned benchmark snapshot
When to use it
Useful when an agent works on non-trivial coding tasks and you want a consistent, checkable definition of done and a refusal to declare completion without evidence, across different MCP clients and sessions. Also handy for pulling pinned Flow rules or a benchmark-based model shortlist.
Requirements
Remote Streamable HTTP endpoint with no sign-in and no API keys. Nothing to install; add the endpoint URL to the client's MCP configuration. Running a local build instead needs Node.js 22.18 or newer, and a signing key variable if tokens must survive restarts.
Before you install
The server checks consistency, not truth: it cannot see your machine, and evidence is reported by the agent, so a passing gate is not proof the work was done. It stores nothing, so the contract token must be saved in your own goal file and renewed within its expiry. The model advisor returns an empty shortlist once its benchmark snapshot is 14 days past its fetch time.

Installation

In SourceWeft

  1. Open NoBrainer Tech Flow in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.nobrainer-tech%2Fnobrainer-tech-flow/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

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

Source: mcp/README.md at commit b48f15c

Tools

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.

Parametersdodrequiredrisksoutcomerequirednon_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.

Parameterseventstagetokentopicmodule

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.

Parameterstokenrequiredevidencerequired

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.

Parameterstokenrequiredunchecked

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.

Parametersreceiptrequired

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.

Parametershaveroletaskrequiredpriority

Version history

1
  1. v2.12.0LatestNov 11, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Tech integrations