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

TuringCorp

by TuringCorp-netversion 1.0.3i★ –iRuns in the cloud
Registry namenet.turingcorp.mcp/decider

Install

Overview

Description from the maker (original English)

A decision model for the calls that don't have a right answer. The better option, with a reason.

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: Other
  • You need to fill in: Authorization

Install

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

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on the maker’s server: what you ask it goes through their server.
  • You fill in yourself: Authorization

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

Which app do you use?

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

This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.

Run this in your terminal

claude mcp add --transport http decider https://mcp.turingcorp.net/mcp --header 'Authorization: Bearer {agent_pass}'

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

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

{
  "mcpServers": {
    "decider": {
      "url": "https://mcp.turingcorp.net/mcp",
      "headers": {
        "Authorization": "Bearer {agent_pass}"
      }
    }
  }
}

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": {
    "decider": {
      "type": "http",
      "url": "https://mcp.turingcorp.net/mcp",
      "headers": {
        "Authorization": "Bearer {agent_pass}"
      }
    }
  }
}

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.

This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.

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

Values you fill in

  • Authorization secret required HTTP header
    Bearer . Obtain a pass at https://agent-pass.turingcorp.net (self-service signup, email verification, then top up). A pass is valid for 7 days and can be re-rolled.

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

What it can do

We have not read this server’s tool list yet; we check endpoints in rotation.

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 6, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified against the domain mcp.turingcorp.net (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

  • … Not checked yet

    Endpoint responds

    Not checked yet; we check endpoints in rotation

  • … Not checked yet

    Sign-in with OAuth

    Not checked yet; we check endpoints in rotation

  • … Not checked yet

    No hidden instructions in tool descriptions

    Not checked yet; we read the tool list when we check the endpoint

Compared with others in Otheri

  • More stars than 0% of the other 32410 servers in this category
  • Published to the registry more recently than 49% of the other 32410 servers in this category
  • Basic checks equal to or better than 100% of the other 32410 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 TuringCorp safe?

It passed 1 of 1 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?

You need to fill in: Authorization

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.0.3) reached the registry 41 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: Spec Driven Development, Remote Desktop Commander, debuff

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

Spec Driven Development

by formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Runs on your computer★ 440MITUpdated 14 months ago
Install

Remote Desktop Commander

by desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Runs in the cloud★ 211Updated yesterday
Install

debuff

by debuffjp

Let coding agents play, test and tune your 2D web game: live state, explained errors, replays, fuzz.

Runs on your computerUpdated today
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.

TuringCorp — MCP server

A decision model for the calls that don't have a right answer. Your agent has two defensible options and has to pick one. Send both: a panel of models judges them together and returns the better one, how far apart it judged them (a calibrated confidence), and why.

  • Endpoint (canonical): https://mcp.turingcorp.net/mcp
  • Aliases: https://mcp.turingcorp.net/ and https://mcp.turingcorp.net/mcp/
  • Health: https://mcp.turingcorp.net/healthz
  • Transport: Streamable HTTP, stateless (no session, no Durable Object). GET /mcp → 405 is normal.
  • Protocol: MCP 2026-07-28 (modern) and 2025-06-18 (legacy) — one route serves both.
  • Discovery methods (server/discover, tools/list) need no credentials — directory scanners can read the full tool list unauthenticated, by design.

Making a decision: decide

Intask (string), optionA (string), optionB (string) — all required
Outjob_id (string), betterOption ("option_A" \"option_B"), confidence (percentage string, e.g. "76.7%"), reason (string)
AnnotationsreadOnlyHint: true · openWorldHint: false · idempotentHint: false
TimeoutReserve 180–300 seconds — a decision is a long call. The timeout is a client/host setting, not a tool parameter: there is nothing to pass in the call. A 60s default cuts it off before the answer arrives; if that happens, do not call again — retrieve by job_id.
Long callsA client that declares the io.modelcontextprotocol/tasks extension gets a task handle back instead of holding one connection open for minutes, and polls tasks/get — see Retrieving a result. Clients that do not declare it see no change at all.

A successful call returns the decision inline. job_id, betterOption, confidence and reason all arrive in the *same* tool result — there is nothing to poll and nothing to fetch afterwards. The job_id is only for the case where the call never came back (timeout, dropped connection, client gave up waiting).

confidence is this service's own judgement of how far apart the two options were — a reference for your decision-making, not an instruction, not a result, and not a prediction of how the choice turns out. As a rough reading: ≥90% clearly apart · 80–90% apart, less clearly · 70–80% a closer call · <70% close to evenly matched. These ranges are descriptive only. Choose your own threshold for your own use case; for high-stakes or irreversible decisions apply your own review policy. Observed accuracy for each range, and how it was measured, is published at https://api.turingcorp.net — that page is the authority on the bands and their measured accuracy.

⚠️ idempotentHint: false is an honest declaration: a retried call is a new call. Record the `job_id` the result returns — a decision you have already paid for can be collected for 7 days with the same credential (GET https://api.turingcorp.net/v1/jobs?job_id= ; without the id, GET https://api.turingcorp.net/v1/jobs lists the job ids for that credential). Retrieve instead of retrying.

When not to use it

  • More than two options. It compares exactly A and B — there is no third slot, and it will not rank a list.
  • Anything you can compute or verify. A spec, a test, a price, a document: if something objective decides it, use that. This is for choices where no objective rule does.
  • Factual questions. It picks between two candidates; it does not look anything up.
  • Speed-critical paths. A decision is a long call and a paid one. Do not put it behind a request that has to answer in seconds.
  • High-stakes irreversible calls without review. Route on the confidence and keep your own review policy.

How to fill the three arguments

  • task — state the decision neutrally, without leaning toward either side: *"Which email do I send?"*, not *"Should I send the honest one?"*
  • optionA / optionB — one concrete option each, plus the case for it. Plain text or Markdown, any length; keep the two sides roughly comparable so the comparison is fair.
  • One option = one plan. Do not bundle alternatives into a single side ("go indoors *or* postpone"): it compares the two slots, it does not split one of them for you.
{

"task": "Which version of the delivery-slip email do I send to a client we want to keep?", "optionA": "Short and direct: the integration took longer than planned, delivery moves to the 24th, everything else is unchanged.", "optionB": "Warmer and longer: thank them for the kickoff, explain that dependencies took more time, offer to walk through the details." }

More patterns — choosing the version you send, thresholding on the confidence, and writing the two options so the comparison is fair: [docs/COOKBOOK.md](docs/COOKBOOK.md).

Retrieving a result

Every call returns a job_id. A call that is allowed to finish returns the decision inline — the `job_id` is only for the case where it never came back.

⚠️ How to retrieve — use `get_result`. Retrieval needs the Agent Pass, and inside an MCP host the agent usually does not have it — so retrieval is a tool call, not a REST call: get_result is authenticated by the host, which attaches the pass for you. An agent never handles the pass, and the credential is deliberately not a tool argument (it would end up in prompts and transcripts).

  • `get_result` with a `job_id` — that job's status, and once it succeeded, the same decision body the original call returned.
  • `get_result` with no argument — the job ids this credential created in the last 7 days. This is the case that matters most: when a call is cut off, you never received an id.
  • Read-only and free — it starts no new work and costs nothing, so it is safe to retry (readOnlyHint: true, idempotentHint: true).
  • A host that declares the io.modelcontextprotocol/tasks extension can poll tasks/get instead. Most clients do not declare it yet, which is why get_result exists.

Operator/host, with the pass (the same data over REST):

  • With the id — GET https://api.turingcorp.net/v1/jobs?job_id= using the same Agent Pass.
  • Without it — GET https://api.turingcorp.net/v1/jobs lists the job ids that credential created in the last 7 days; then fetch one as above. The list carries only the job id, the product and a timestamp.
  • Nothing yet — an empty list is not an error, and there is no job_id=0 placeholder: {"object":"list","window_seconds":604800,"data":[]}. Asking for 0 returns 404 No such job.

Retrieval returns the job's status and, once it succeeded, the same body the call itself would have returned. A job that is not yours, or older than 7 days, is reported as unavailable. GET https://api.turingcorp.net/v1/account returns {"account_id":"…"}.

The practical answer is not to need retrieval: reserve 180–300 seconds so the call is allowed to finish.

See it decide first

There is no free tier, so we publish the evidence instead: 27 real decisions, recorded verbatim — the question, both options, which one was preferred, the confidence reported, and the reason. Nine domains, three cases each: Writing · Tech · Business · Research · Career · Money · People · Travel · Everyday.

→ [https://github.com/TuringCorp-net/poe-demo-public](https://github.com/TuringCorp-net/poe-demo-public) — dataset: examples.json

Read the confidence column first. On ordinary, closely matched questions it reports 70–90%, not 99% — and that is the point of a calibrated number rather than a decorative one: a high value means the comparison was decisive and the pick can be acted on, a low value means the two options really are close and the choice stays yours. In this set the range is 27.3%–88.3%, median 74.0%, none above 90%, because these are everyday close calls, not easy ones. What the bands deliver when they *are* decisive is published at https://api.turingcorp.net.

Authentication

Send an Agent Pass: Authorization: Bearer .

Issued at [https://agent-pass.turingcorp.net](https://agent-pass.turingcorp.net) — self-service signup (email verification) → top up → get a pass. A pass is valid for 7 days and can be re-rolled. If a call is refused as an invalid credential, sign in there again and re-roll.

Errors fall into two classes, and they arrive in different places:

Credential problems are rejected before the call (HTTP 401 + WWW-Authenticate). Business failures come back as a tool result with isError: true plus a JSON block {error, http_status, action_url, message} — http_status is the upstream status; the tool call itself is HTTP 200.

ClassWhat comes backExamples
CredentialHTTP 401 + WWW-Authenticate — no tool result is producedno credential · expired or invalid pass (invalid_credential, with a re-login URL in the message)
BusinessHTTP 200, tool result isError: true, plus a JSON blockinsufficient balance (http_status 402, action_url pointing at top-up) · over quota (http_status 429)

Branch on the HTTP status first: a 401 will not succeed on retry without a new credential, whereas a business failure was a call that ran and was declined — read the block for the reason and the next step. The detailed contract is under *Errors are machine-readable* below.

Entry rate limit: 120 requests / 60 s / client IP. This is flood damping, not a quota — the real per-key quota is enforced separately. The counter is approximate: it is maintained per edge location and is eventually consistent, so a brief overshoot is possible.

Two ways in — and they are not the same

  • Through an MCP client or host (Claude Code, Cursor, VS Code, Codex, TRAE, Coze…). The host holds the credential and attaches it for you: you do not set an `Authorization` header yourself, and in most hosts you cannot. The timeout is a host setting, not something you pass in the call.
  • Directly against the REST API (https://api.turingcorp.net). Here you *do* send Authorization: Bearer yourself, and you can retrieve a job by id.

⚠️ The part that catches people out: being able to call the tool through a host does not mean you can reach the REST API. The host may never hand you the underlying Agent Pass, so a job-retrieval call you make on your own can come back 401. If your host declares the Tasks extension, retrieve through the tool surface instead (see Retrieving a result); if it does not, retrieval may simply not be reachable from where you are.

Quickstart

You need an Agent Pass to call the tool. Discovery (tools/list) works without one — calling decide does not.

🔑 Where the pass lives matters. If your client can keep it out of the file, do that — VS Code's ${input:…}, Codex's bearer_token_env_var. A pass written in plain text inside mcp.json or any client config is readable by every agent and process that can read that file, and assistants do read their own config — one can print your pass straight into its output. Treat a client config as public within your machine.

1. Get an Agent Pass

Self-service at [https://agent-pass.turingcorp.net](https://agent-pass.turingcorp.net): sign up with an email address, verify it, add credit. The pass is shown once; it is valid for 7 days and can be re-rolled at any time. Agents can do the same thing over the API — see that site's /llms.txt.

2. Point your client at the endpoint

Any client that reads a JSON config — Cursor, Windsurf, Claude Desktop:

{

"mcpServers": { "TuringCorp": { "type": "http", "url": "https://mcp.turingcorp.net/mcp", "headers": { "Authorization": "Bearer " } } } }

Keep the `"type": "htt

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

Ask PopNx