TuringCorp

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

我该使用它吗

质量与安全性

A
描述质量
100%
模式完整度
100%
命名质量
80%
投毒风险
80%
权限匹配度
100%
协议合规性
100%

发现(2)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domain在 decide 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~832token 数(工具定义)
~4.0 KB典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 0.65%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "decider": {
      "url": "https://mcp.turingcorp.net/mcp"
    }
  }
}

远程端点

https://mcp.turingcorp.net/mcpstreamable-http

它能做什么

工具清单

工具(2)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢decide(task, optionA, optionB)

Use this when you must choose between two concrete options and both are defensible - two plans, two drafts, two diagnoses, two vendors - and you have no objective way to pick. Not for: more than two options; anything an objective rule settles (a spec, a test, a price, a document); factual lookup; paths that must answer in seconds; high-stakes irreversible calls without review. Fill it in: state task neutrally, without leaning toward either side; give one concrete plan per option - never bundle alternatives into a single one ("go indoors or postpone"); keep the two sides comparable in length. Returns the decision inline: betterOption ("option_A" or "option_B"), confidence (e.g. "76.7%"), reason and job_id, all in the same tool result. There is nothing to poll and nothing to fetch afterwards. Reserve 180-300 seconds: this is a long call, and the timeout is a client/host setting, not a parameter you pass. If the call is cut off, do NOT call again - a retry is a new paid call. Retrieve it instead with the get_result tool (same job_id): read-only, free, and no credential of your own needed; with no job_id it lists the ids for your credential. A host that declares the io.modelcontextprotocol/tasks extension can use tasks/get instead. The confidence is the point: it is calibrated, not decorative. On both published benchmarks accuracy rises with it - JudgeBench 99.6% in the 90%+ band down to 67.7% below 70%; the harder ContextualJudgeBench 83.3% down to 55.4% - so route on it: act on a high value, review or escalate a low one, instead of trusting a bare pick. Tables, sample sizes and method: https://api.turingcorp.net Judged by an independent panel, not by a model grading its own output. Read it as a reference, not an instruction, a result, or a prediction; set your own threshold, and apply your own review policy for high-stakes or irreversible decisions. Auth: Agent Pass as `Authorization: Bearer <pass>` (issued at https://agent-pass.turingcorp.net, valid 7 days; each decision is a paid call). On invalid_credential, sign in there and re-roll. Errors: a credential problem is rejected before the call - HTTP 401 with WWW-Authenticate; a business failure (e.g. insufficient balance) comes back as a tool result with isError true plus a second JSON block {error, http_status, action_url, message}, where http_status is the upstream status (the tool call itself is HTTP 200).

输入模式

{
  "type": "object",
  "properties": {
    "task": {
      "type": "string",
      "description": "The decision to make, stated neutrally and without a preferred answer."
    },
    "optionA": {
      "type": "string",
      "description": "First candidate and the case for it."
    },
    "optionB": {
      "type": "string",
      "description": "Second candidate and the case for it."
    }
  },
  "required": [
    "task",
    "optionA",
    "optionB"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

输出模式

{
  "type": "object",
  "properties": {
    "job_id": {
      "description": "Identifier of this decision, also usable to retrieve the stored result for 7 days with the get_result tool. Keep it: if the call times out, retrieve the result with get_result instead of calling again, which would be a new paid call.",
      "type": "string"
    },
    "betterOption": {
      "type": "string",
      "enum": [
        "option_A",
        "option_B"
      ],
      "description": "Which option was preferred, using the same values as the REST API."
    },
    "confidence": {
      "type": "string",
      "pattern": "^\\d{1,3}\\.\\d%$",
      "description": "This service's own judgement of how far apart the two options were, as a percentage (e.g. \"76.7%\"). A reference for your own decision-making - not an instruction, not a result. Observed accuracy by range is published at https://api.turingcorp.net"
    },
    "reason": {
      "type": "string",
      "description": "Why the chosen option was preferred."
    }
  },
  "required": [
    "betterOption",
    "confidence",
    "reason"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_result(job_id)

Use this to retrieve the result of an earlier TuringCorp tool call by its job_id - for example a call that was cut off by a client timeout, or one whose id you were given. Retrieval is read-only and free: it starts no new work and costs nothing, so it is always safe to retry. With job_id: that call's status, and once it has finished the same payload the call would have returned inline. Without job_id: the ids available to your credential (7 days). If a call was cut off, retrieve it here instead of calling again - a retry is a new paid call. A job that is not yours and a job that does not exist are answered identically, on purpose. If your client declares the io.modelcontextprotocol/tasks extension, tasks/get reaches the same job.

输入模式

{
  "type": "object",
  "properties": {
    "job_id": {
      "description": "Identifier returned by an earlier TuringCorp call (also usable at GET /v1/jobs?job_id=<id>). Omit it to list the ids available to your credential.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

社区

评价此服务器

证据

最近观测

已验证未记录版本2 个工具
已验证未记录版本1 个工具