原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Decidealot

作者:psyb0t版本 0.7.1i★ –i在你的电脑上运行
注册名称io.github.psyb0t/decidealot

安装

概览

作者提供的说明(英文原文)

Local Laya and Von typed decisions over TypeSafe-compatible MCP.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: Streamable HTTP
  • 分类: 其他

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:1 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 注册中心没有列出需要填写的密钥。

你需要

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "decidealot": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "docker.io/psyb0t/decidealot:v0.7.1"
      ]
    }
  }
}

在终端中运行这条命令

claude mcp add decidealot -- docker run -i --rm docker.io/psyb0t/decidealot:v0.7.1

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "decidealot": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "docker.io/psyb0t/decidealot:v0.7.1"
      ]
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "decidealot": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "docker.io/psyb0t/decidealot:v0.7.1"
      ]
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 psyb0t 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“其他”中的其他服务器比较i

  • 星标数多于此分类中其他 32623 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 32623 个服务器的 57% 更新
  • 基础检查结果等于或优于此分类中其他 32623 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Decidealot 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(0.7.1)于31天前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Docker。

有什么可以替代它?

同一分类中有:Spec Driven Development, Remote Desktop Commander, Draugr

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Spec Driven Development

作者:formulahendry

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

在你的电脑上运行★ 440MIT14个月前更新
安装

Remote Desktop Commander

作者:desktop-commander

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

在云端运行★ 211前天更新
安装

Draugr

作者:draugr-dev

Security scanning for AI agents: SAST, SCA, secrets, IaC, DAST, ranked by real risk.

在你的电脑上运行今天更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

Decidealot

Your hardware or TypeSafe's hosted Jev. Run Laya, Von, a CLM projection head, or Jev through one TypeSafe-compatible HTTP and MCP endpoint.

At startup Decidealot downloads and verifies every enabled local bundle. It then loads only the provider selected by a request, unloads it after the configured idle period, and returns typed choice, score, and noul answers with model probabilities. CLM adds a small local projection head over one configured Qwen3-8B embeddings endpoint. It exposes the TypeSafe HTTP API and MCP Streamable HTTP from the same local container.

Contents

  • Quick start
  • Use hosted Jev
  • Use the API
  • Use MCP
  • Expose MCP through a proxy
  • Pick a model
  • Configuration
  • CLM embeddings and caching
  • CUDA
  • Model storage and unloading
  • Agent integrations
  • Docs

Quick start

You need Docker. This starts the CPU image on loopback, stores downloaded model files in one narrow host directory, and gives the container no capabilities or writable root filesystem.

model_directory="$HOME/.local/share/decidealot/models"

runtime_uid=$(id -u) runtime_gid=$(id -g) mkdir --parents "$model_directory"

docker run --detach --name decidealot --init --restart unless-stopped \ --user "$runtime_uid:$runtime_gid" \ --read-only --cap-drop ALL --security-opt no-new-privileges:true \ --pids-limit 512 --memory 8g --cpus 4 \ --tmpfs /tmp:rw,noexec,nosuid,size=128m \ --tmpfs /var/run:rw,noexec,nosuid,size=8m \ --log-driver json-file --log-opt max-size=10m --log-opt max-file=5 \ --mount type=bind,source="$model_directory",target=/models \ --publish 127.0.0.1:8080:8080 \ psyb0t/decidealot:latest

Check the service, then ask Laya to make one typed decision:

curl --fail http://127.0.0.1:8080/health

curl --fail http://127.0.0.1:8080/v1/systemone \ --header 'Content-Type: application/json' \ --data '{ "model": "laya", "state": "A proposed action would permanently delete protected data.", "questions": { "handling": { "type": "choice", "instructions": "Choose the required handling for this action.", "criteria": { "allow": "The action is reversible and does not affect protected data.", "require_review": "The action is irreversible or affects protected data." } } } }'

The first service startup downloads the enabled pinned model bundles and can take several minutes. The default configuration enables Laya and Von. Wait for /health before sending a decision. Later service starts reuse the same host directory.

An example response looks like this. The answer, probabilities, and token count vary with the model call:

{

"model": "laya", "answers": { "handling": { "type": "choice", "choice": "require_review", "confidence": 0.94, "probabilities": {"allow": 0.06, "require_review": 0.94} } }, "usage": {"input_tokens": 91, "output_tokens": 0} }

For that result, your application queues the action for human review instead of running it. Decidealot does not perform the action. Your caller checks the chosen label and applies its own probability threshold, for example allowing an action only when choice is allow and probabilities.allow is at least 0.95.

Use hosted Jev

Set DECIDEALOT_TYPESAFE_API_KEY in a private environment file or secret store. Jev enables automatically when the key is present. Call GET /v1/models and select a hosted name returned by TypeSafe, such as jev-latest. Decidealot caches the authenticated TypeSafe catalog for 60 seconds and refreshes it on the next model-listing or hosted-model request after expiry. New hosted model names need no Decidealot release. It sends the complete state and questions to TypeSafe's fixed HTTPS API, not to a local model. The key never belongs in the request body, a tracked file, or a client-side application.

For a Jev-only container, disable all local models so startup downloads no model bundles. Pass the upstream key as an environment variable from your secret store, then use the same REST or MCP endpoint shown below:

docker run --detach --name decidealot --init --restart unless-stopped \

--read-only --cap-drop ALL --security-opt no-new-privileges:true \ --tmpfs /tmp:rw,noexec,nosuid,size=128m \ --env DECIDEALOT_TYPESAFE_API_KEY \ --env DECIDEALOT_LAYA_ENABLED=false \ --env DECIDEALOT_VON_ENABLED=false \ --publish 127.0.0.1:8080:8080 \ psyb0t/decidealot:latest

The variable must already be set in the shell or supplied by your container manager. GET /v1/models confirms which Jev selectors are enabled. The API guide has a complete request and response example. TypeSafe charges for its API calls; model probabilities still need your own action thresholds.

Use the API

Send the state to judge and a bounded question. Decidealot returns typed results with probabilities.

EndpointWhat it does
POST /v1/systemoneRuns the selected local model or hosted Jev against state and returns typed answers.
POST /v1/systemone/batchRuns independent System One requests and returns an ordered results list.
GET /v1/modelsLists every supported alias and the model behind it.
POST /v1/models/unloadStops loaded local providers; hosted Jev is unaffected.
/mcpMCP Streamable HTTP, with system_one, system_one_batch, list_models, and unload_models tools.
GET /healthReports whether configured local bundles are ready. Jev-only startup has no bundle download.

choice questions need named criteria. score questions need an ordered criteria array whose position is the score. noul questions return a probability between zero and one. The API guide has the request rules, response shape, validation failures, aliases, authentication, and lifecycle behavior.

Put the subject in state, the question and decision rules in each question's instructions, and explicit descriptions in criteria. A label like review does not explain what should be reviewed. For noul, write the statement whose probability you want in instructions.

CLM accepts optional flat request configuration. The selected model already identifies which settings apply:

{

"model": "clm", "config": {"temperature": 0.8}, "state": "The operation permanently removes protected data.", "questions": { "review": { "type": "noul", "instructions": "This operation requires human review because it removes protected data." } } }

CLM temperature defaults to 1 and accepts finite numbers greater than 0 and at most 100. Lower values sharpen its probability distribution; they do not make the answer more correct. Laya, Von, and hosted Jev currently accept only omitted or empty config. Unsupported keys and values return 422, never silently disappear. The same config belongs in MCP tool arguments or each individual batch request. Request configuration covers the contract.

Use MCP

The same container serves MCP Streamable HTTP at http://127.0.0.1:8080/mcp. The system_one tool takes the same model, state, and questions fields as POST /v1/systemone. system_one_batch takes a requests list, each item with those same fields. list_models returns the live catalog. unload_models releases local model memory. Direct loopback clients and containers using the decidealot Docker service name work by default.

Point an MCP client at that exact URL. Its configuration format varies, but the connection values are always equivalent to this:

{

"mcpServers": { "decidealot": { "url": "http://127.0.0.1:8080/mcp", "headers": { "Authorization": "Bearer your-token-here" } } } }

Omit the Authorization header only when DECIDEALOT_API_KEY is empty. The MCP tools return structured output matching the HTTP result bodies, so an agent can inspect probabilities before it chooses the next action. A client that only supports local stdio can use the optional OpenClaw bridge described in Agent integrations. The API guide has tool inputs, output shapes, session behavior, and failure behavior.

Expose MCP through a proxy

The MCP server keeps DNS-rebinding protection enabled. A proxy, tunnel, or public DNS name must be allowed explicitly. Add the exact public Host value to DECIDEALOT_MCP_ALLOWED_HOSTS. Browser-based MCP clients must also add their exact origin, including the scheme, to DECIDEALOT_MCP_ALLOWED_ORIGINS.

For a proxy that publishes https://mcp.example.net/mcp, put these values in the Compose .env file before docker compose up -d, or pass the same variables with docker run --env:

DECIDEALOT_API_KEY=replace-with-a-real-secret

DECIDEALOT_MCP_ALLOWED_HOSTS=127.0.0.1,127.0.0.1:*,localhost,localhost:*,[::1],[::1]:*,decidealot,decidealot:*,mcp.example.net DECIDEALOT_MCP_ALLOWED_ORIGINS=http://127.0.0.1:*,http://localhost:*,http://[::1]:*,https://mcp.example.net

Keep --publish 127.0.0.1:8080:8080 when a local reverse proxy terminates TLS. The proxy forwards the request unchanged with Host: mcp.example.net. After bearer authentication, Decidealot returns 421 for an untrusted host and 403 for an untrusted browser origin. Invalid or missing bearer credentials return 401 first. Do not disable this protection or allow a broad wildcard for an internet-facing endpoint.

Pick a model

Every request must name a selector. GET /v1/models returns the same catalog at runtime.

SelectorWhat it runsPick it when
laya, laya-auto, laya-latestLaya with automatic checkpoint routing.State may arrive in more than one language or script.
laya-englishLaya's English checkpoint.State is English and uses the Latin script.
laya-multilingualLaya's multilingual checkpoint.State is in another language or script, including short Latin-script text that is not clearly English.
laya-typed-decisionsLaya's checkpoint tuned for structured workflow decisions.Your workload looks like repeated policy, routing, triage, or approval decisions. Validate it on your own cases first.
von, von-latest, von-1.1, von-1.1.0The local English-only Von 1.1 model.You want Von's independent result for a short, well-posed decision, or want to compare it with Laya before standardizing a workflow.
clm, clm-latest, clm-0.1, clm-0.1-8bThe local CLM v0.1 projection head over one configured Qwen3-8B embeddings endpoint.You have a trusted embeddings service that emits CLM-compatible 4096-wide last-token Qwen3-8B vectors.
Names returned by TypeSafe, such as jev-latestTypeSafe's hosted Jev API.You have a TypeSafe API key and intend to send the state and questions to TypeSafe.
What differs

Laya is one model family with three checkpoints. Its automati

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx