TuringCorp
A decision model for the calls that don't have a right answer. The better option, with a reason.
我该使用它吗
质量与安全性
发现(2)
- HIGH
- MEDIUM在 decide 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 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"
}社区
证据