Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

brief bar_

by welanceversion 1.14.1i★ –iRuns in the cloud
Registry namecom.welance/perfect-brief

Install

Overview

Description from the maker (original English)

Free bar for digital product briefs: your model judges, open rules and code score it.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs in the cloud
  • Transport: Streamable HTTP
  • Category: Developer tools

Install

Pick the AI app you use, then copy the settings.

Before you install

You need

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Works in Claude on the web, desktop and mobile:

  1. Open Settings → Connectors
  2. Press Add custom connector
  3. Paste the address below and press Add
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Add2https://…3
https://briefs.welance.com/mcp

Run this in your terminal

claude mcp add --transport http perfect-brief https://briefs.welance.com/mcp

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "perfect-brief": {
      "url": "https://briefs.welance.com/mcp"
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "perfect-brief": {
      "type": "http",
      "url": "https://briefs.welance.com/mcp"
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

ChatGPT connects only to servers on the internet:

  1. Open ChatGPT on the web → Settings → Connectors (Apps)
  2. Press Create or Add (some plans need Developer mode under Advanced first)
  3. Paste the address below, give it a name and save
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Create2https://…3
https://briefs.welance.com/mcp

Menu names can differ slightly by plan and over time.

Your choice stays on this device in a cookie; no account needed.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Tool names and descriptions exactly as the server reported them on Nov 7, 2026. The maker wrote them, not us; we show them as plain text.

  • get_rules

    Read the bar before judging anything. Free; no model runs. Returns the live catalogue with its version: every rule's id, title, criteria (what the judge reads), weight, gate role, policy context and how to pass it, plus the arithmetic — status scores, confidence threshold, accept

  • get_brief_template

    A brief template built from the live rules, with the inputs each section needs. Use it to start a brief from nothing, or to see which section a gap belongs in. Markdown, one section per rule, gate rules marked; write in any language.

  • get_judge_prompt

    The judge prompt and verdict JSON Schema, for YOUR model to answer. Free. This is the service judge's own prompt, word for word, so your model grades against the same bar. Pass the brief to get it embedded, or leave it empty for a template with a {{BRIEF}} placeholder. Answer the

  • get_improvement_prompt

    A working order for improving a brief with your own model, gate first. Pass the verdicts you already have (the JSON array from your model) to target the failing rules in weight order; without them the prompt walks every rule. The prompt keeps the author's voice and forbids invent

  • check_brief

    Deterministic checks only — semantic coverage is INCOMPLETE. Never a score. Finds what a pattern can find for certain: emails, URLs and phone numbers (which block anonymisation), a stated budget and timeline, personal-data cues without a compliance cue, unfilled placeholders, the

  • aggregate_verdicts

    Turn your model's verdicts into the bar's score, gate and decision. Advisory. Validates the verdicts against the live ruleset (every rule exactly once, valid status and confidence, the version you judged at) and against the brief (each quote must be copied verbatim), then aggrega

  • bar_status

    Which ruleset version is live, and what this free surface can do. Confirms the mode (bring your own model, zero provider calls, no fallback to welance's model) and the tools available.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified against the domain welance.com (the registry checks domain ownership)

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • ✓ Pass

    Endpoint responds

    Responded in 191 ms (HTTP 200)

  • – Not applicable

    Sign-in with OAuth

    No sign-in needed

  • ✓ Pass

    No hidden instructions in tool descriptions

    Read 7 tool descriptions and found no hidden instructions to the AI

Compared with others in Developer toolsi

  • More stars than 0% of the other 4906 servers in this category
  • Published to the registry more recently than 76% of the other 4906 servers in this category
  • Basic checks equal to or better than 100% of the other 4906 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is brief bar_ safe?

It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.

Is it still maintained?

The GitHub repo last changed –, and the latest version (1.14.1) reached the registry 11 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.

What can I use instead?

In the same category: GitHub, Desktop Commander, Cloudflare MCP

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

GitHub

by github

GitHub’s official server lets AI read and manage code, issues and pull requests in your account. Use GitHub’s hosted version or run it locally with Docker.

Computer or cloud★ 34,245MITUpdated 4 days ago
Install

Desktop Commander

by wonderwhy-er

MCP server for terminal commands, file operations, and process management

Runs on your computer★ 10,225MITUpdated 16 days ago
Install

Cloudflare MCP

by cloudflare

Cloudflare MCP servers

Runs in the cloud★ 4,446Apache-2.0Updated 14 months ago
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

Brief Bar — scoring service (briefs.welance.com)

→ [briefs.welance.com](https://briefs.welance.com) — the public pages, live
[Welance Directory](https://welance.com/directory)guided brief builder and marketplace powered by this scoring service
[Brief Bar](https://briefs.welance.com/)what the service does · [console](https://briefs.welance.com/console.html) · [rules](https://briefs.welance.com/rules.html)
[API docs](https://briefs.welance.com/docs)OpenAPI, every field described
[Integrate](https://briefs.welance.com/integrate.html)four routes into your workflow: console · prompt · MCP · API
[Your brief, your key](https://briefs.welance.com/data.html)what travels where, what we keep, and how to bring your own key
[Privacy](https://briefs.welance.com/privacy.html) · [Terms](https://briefs.welance.com/terms.html)the hosted service and its MCP connector: who runs it, what is kept and for how long, fair use
[llms.txt](https://briefs.welance.com/llms.txt)the bar, written for machines — point your assistant at it

Eight languages, no build step, no tracking. Same origin serves the pages and the API.


Scores a digital product brief against an open, versioned ruleset. The score says *how good* a brief is; a separate gate says *whether it may publish*. An LLM only ever judges (server-side, key never leaves the box); deterministic code owns every number, the gate, and the decision.

The product target is a brief that makes expectations explicit and open to discussion, so client and supplier can understand whether and how to work together before committing. See the product decision and audit of current rule coverage. The audit identifies proposed improvements; it does not change current scoring.

This repo is the service. The ruleset + engine live inside it as an installable package (brief_bar/) so they can later be split into their own OSS repo and consumed here as a pinned dependency — the seam is already drawn.

brief_bar/     the open ruleset + deterministic engine (the OSS core)

rules/*.yaml 14 rules, weights sum to 100, ★ = gate requirement scoring.yaml the €10k floor, the 4-requirement gate (anonymised is directory-context, deactivatable), the bands score.py weighted average + gate + decision (no model here) judge.py MockJudge (keyword, offline) + LLMJudge protocol llm.py batched-judge & suggestion prompts (versioned with rules) fixtures/*.yaml labelled briefs = the regression corpus / CI immune system app/ the FastAPI service main.py routes, rate limit, CORS; mounts site/ at / scorer.py mock/LLM orchestration + Redis verdict cache site/ THE public pages: landing, console, rules — served both by GitHub Pages and by the service itself (one surface) CLAUDE.md · PLAN.md bootstrap + phased mission for an agentic coding session GOVERNANCE.md · CONTRIBUTING.md · CODEOWNERS · LICENSE the open-bar machinery (MIT) docker-compose.yml api + redis (the only stateful dependency: ephemeral cache)

Quick start

cp .env.example .env          # add a spend-capped PB_OPENROUTER_API_KEY

make up # docker compose up --build -d (api + redis) make health # GET /v1/healthz open http://localhost:8000 # the console (mock judge works with no key)

Without an API key the service runs mock-only (instant keyword engine, fully deterministic) — enough to develop against and to run the whole test suite. Add the key to unlock the llm judge and /v1/suggest.

API

The console can import PDF, UTF-8 TXT and Markdown documents up to 10 MB (10,000,000 bytes). Text extraction runs locally using the vendored PDF.js display API and worker; the original file is not uploaded. Review the extracted text before explicitly scoring with AI. Imported-document scoring sets no_cache: true.

The API's separate text limit defaults to 1,000,000 characters (PB_REQUEST_MAX_CHARS). Existing environment overrides still apply. Provider context limits may be lower; a successful import does not guarantee that every model can judge the document. Text is never silently truncated or summarised. PDF extraction is limited to 1,000 pages and 60 seconds; pages without extractable text, password-protected PDFs and malformed files are refused. Run OCR or remove blank pages before import when needed. There is no multipart/file storage API.

POST /v1/score

{ "brief": "…", "locale": "it", "judge": "mock" }   // judge: "mock" | "llm"
{ "score": 92.0, "band": "Directory-ready", "decision": "blocked",

"decision_label": "Blocked — hard requirements unmet", "gate": { "passed": false, "missing": ["anonymised"] }, "verdicts": [ { "rule_id": "anonymised", "status": "fail", "confidence": 0.8, "quote": "Stripe … mara@acme.it", "note": "identifying info present", "weight": 8, "severity": "high", "gate": "pass" }, … ], "review_required": false, "low_confidence": [], "ruleset_version": "1.0.0+83107baec655", "engine": "brief-bar@1.0.0+83107baec655", "judge": "mock", "cached": false }

The `ruleset_version` is your audit trail: it pins exactly which bar judged a

brief, and every verdict carries a verbatim quote from the brief as evidence — inspectable by a human long after any particular model is gone. (The mock judge is reproducible forever; the LLM judge runs at temperature 0 and is cached by (ruleset_version, model, brief), but temperature 0 is not a determinism guarantee across provider updates — the quotes are the part of the trail that never expires.)

Welance uses OpenRouter (PB_OPENROUTER_API_KEY). Publish scoring runs on deepseek/deepseek-v4-pro; interactive suggestion generation runs on google/gemini-3.1-flash-lite. Self-hosters may still configure the optional direct-Anthropic adapter, but it is not part of the Welance deployment. With OpenRouter, requests may pick a model from the server's allowlist (PB_OPENROUTER_MODELS, exact vendor-prefixed slugs, comma-separated); anything else is rejected with 422. The resolved model is returned in every score for a reproducible audit trail. Suggestion generation may use a lower-latency model selected by PB_SUGGEST_MODEL. Single-rule suggestions are editable human choices and default to one generation call; set PB_SUGGEST_VERIFY=true to restore a second LLM review. The authoritative score and the multi-gap repair loop keep their verification behavior. Suggestion responses name their verifier model when one ran. The service reuses its OpenRouter connection pool and applies separate bounded output ceilings (PB_SUGGEST_MAX_TOKENS, PB_SUGGEST_ALL_MAX_TOKENS, and PB_VERIFIER_MAX_TOKENS) because short suggestion JSON does not need the judge's larger allowance. Successful service-funded suggestions are cached; BYOK calls always bypass that shared cache.

The judge normally asks for all fourteen verdicts in one provider call. PB_JUDGE_BATCH_SIZE=5 instead runs deterministic 5/5/4 rule batches with at most PB_JUDGE_CONCURRENCY=3 calls in flight, then merges them before the same deterministic aggregation. It is an operational latency option, not a scoring mode: any incomplete or failed batch refuses the entire score. Keep it at its default 0 until the live make test-llm-batching comparison has passed for the deployed model.

Bring your own key: send X-LLM-Key: and the call runs on your key — any valid OpenRouter model slug is allowed unless this deployment sets PB_BYOK_MODELS (you pay), used per request, never stored or logged. BYOK scoring deliberately bypasses the shared verdict cache, so the supplied key always funds a fresh call. Use a spend-capped key. The console exposes this as an optional field in live mode.

Sending a key to somebody else's server deserves more than that paragraph. Every line that touches it, where it provably is not, and the honest limits are at briefs.welance.com/security.html; the claim is enforced by tests/test_byok_leak.py, which fails if the key ever reaches a log, a cache write, or a response.

Other endpoints:

  • POST /v1/suggest {brief, rule_id, locale, model?} → tailored fixes for one gap (LLM).
  • POST /v1/suggest/all {brief, rule_ids?, locale, model?} → one fix per failing gap; omit rule_ids to auto-detect (LLM).
  • GET /v1/rules → the full catalogue (id, title, weight, gate, criteria, references) for the directory UI.
  • GET /v1/models → the enabled judge models (default + available) for a model picker.
  • GET /v1/healthz → service release, ruleset version, engine + LLM availability.
  • GET / → the interactive console.

Suggestion responses include X-PB-Generation-Ms, X-PB-Verification-Ms, X-PB-Cached, X-PB-Cache-Ms, X-PB-Model, and the standard Server-Timing header, so callers can distinguish model latency from network/UI latency without exposing prompts or document contents. /v1/healthz also reports whether the optional Redis cache/rate-limit store is currently connected.

MCP: free, bring your own model

https://briefs.welance.com/mcp is a free remote MCP server (Streamable HTTP, stateless JSON). No model of ours runs. Your assistant's own model judges the brief with the service judge's own prompt; the bar's code validates those verdicts and does the arithmetic with the same engine as /v1/score.

toolwhat it does
get_rulesthe live catalogue: criteria, weights, gate, policy contexts, status scores, bands, version
get_brief_templatea Markdown brief built from the live rules, with the inputs each section needs
get_judge_promptthe judge prompt (word for word the service's) + the verdict JSON Schema, for your model
get_improvement_prompta gate-first working order for your model to improve the brief
check_briefdeterministic checks only (contacts, stated budget/timeline, data cues, placeholders) — semantic coverage is incomplete, never a score
aggregate_verdictsvalidates your model's verdicts (every rule once, verbatim quotes, live version) and aggregates them
bar_statuslive ruleset version and capabilities

Also as prompts (score_with_your_model — the whole workflow, gate first — judge_brief, improve_brief, brief_template) and resources (perfect-brief://rules, …/template, …/judge-prompt, …/verdict-schema). The same contract is plain HTTP at /v1/byo/* (see /docs).

Advisory, never authority. An aggregated result is tagged evaluation_source: "client", authoritative: false, with the ruleset version, evidence errors and pattern conflicts, and a *Find a team on welance/directory →* link (PB_DIRECTORY_URL). It cannot authorise publication: the welance/directory scores every brief itself on /v1/score.

Install

Claude (claude.ai, Desktop): Settings → Connectors → *Add custom connector* → https://briefs.welance.com/mcp. Claude Code:

claude mcp add --transport http perfect-brief https://briefs.welance.com/mcp

ChatGPT: Settings → Apps & Connectors → Advanced → enable developer mode → *Create* → URL https://briefs.welance.com/mcp, no authentication (availability depends on the plan).

Cursor (~/.cursor/mcp.json or .cursor/mcp.json):

{ "mcpServers": { "perfect-brief": { "url": "https://briefs.welance.com/mcp" } } }

VS Code (.vscode/mcp.json, or *MCP: Add Server…* → HTTP):

{ "servers": { "perfect-brief": { "type": "http", "url": "https://briefs.welance.com/mcp" } } }

Local (stdio) — same tools, f

Only the beginning is shown; read the rest in the repo

Ask PopNx