mcpField
P
PARANOID

PARANOID

本地服务
paranoid.redAI 与智能体01 周前更新

关于 PARANOID

PARANOID 是供 Claude Code、Cursor 和其他 MCP 客户端使用的私密模型连接器,每个问题都会由本机生成零知识证明。网关可验证请求资格而不知晓提问者身份或关联不同问题,并提供 MCP 工具及 OpenAI 兼容接口。

主要功能

  1. 01每次提问生成新的零知识证明
  2. 02列出模型及提问费用
  3. 03查询剩余问题数量和有效期限
  4. 04使用 x402 通过 Solana 钱包购买问题
  5. 05提供 OpenAI 兼容接口

适用场景

  1. 01通过 MCP 客户端私密询问模型
  2. 02让 Agent 使用 x402 自动购买问题
  3. 03在兼容 OpenAI API 的应用中调用模型
  4. 04从终端提问或审查代码差异

MCP 相关

PARANOID 作为 MCP 服务公开 ask、models、balance 和 buy 工具,供客户端连接模型、查看可用模型与余额,并购买问题。连接器为每次请求生成本机零知识证明。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbparanoid.mcpb

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

PARANOID MCP

通过 Claude Code、Cursor 或任何 MCP 客户端,私密地向 AI 模型提问。每个问题都会携带一份在你自己的电脑上生成的新零知识证明,因此 PARANOID 网关可以确认问题已付费,而无需知道是哪位成员提出的,也不会将其与任何其他问题关联起来。若还要隐藏你的网络地址,请参阅哪些信息仍然可见。

PARANOID 运行 DeepSeek、Kimi、Qwen 和 GLM 等开放模型,包括未经审查的模型。问题通过 Solana 上的 USDC 一次性购买,Agent 还可以通过 x402 自行购买。paranoiddotred/paranoid 开源了 Solana 程序和每份证明背后的电路,并且该源代码构建出的字节与部署在主网上的内容完全一致。

它已列入 官方 MCP Registry, 标识为 io.github.paranoiddotred/paranoid-mcp,由 CI 在每次发布时直接发布;也已列入 Glama。

安装

快速安装

Claude Desktop。 从最新版本 下载 paranoid.mcpb,然后双击它,或将其拖入 Claude 窗口。将 paranoid.red 上 Keys 标签页中的连接器代码粘贴到设置中,或者选择一个持有 USDC 的 Solana 钱包文件,以便购买 工具获取问题。Claude Desktop 自带 Node.js,因此无需安装其他内容。

Cursor。 添加到 Cursor

Claude Code。

claude mcp add paranoid -- npx -y github:paranoiddotred/paranoid-mcp#v1.4.1 mcp

Cursor 和 Claude Code 会通过 npx 直接从此代码库运行,并固定到发布标签,因此你获得的版本与已公布哈希值对应;这需要 Node.js 和 git。若要使用已购买的问题,请先在终端中运行一次,并在提示时粘贴连接器代码,这样代码就不会留在 shell 历史记录中。随后它会持续提供本地端点,直到你按 Ctrl+C 停止。

npx -y github:paranoiddotred/paranoid-mcp#v1.4.1

你也可以像 Claude Desktop 扩展那样,将代码设为客户端设置中的 PARANOID_CODE。

手动安装

它是单个文件,无需安装任何软件包,并且需要 Node.js 20.18、22.8 或更高版本。一次性下载文件并与当前版本进行校验:

mkdir -p ~/paranoid && curl -o ~/paranoid/connect.mjs https://paranoid.red/connect.mjs \
  && echo "8f90ee28b74883a46dcf928efaecfcd452591753851283210edf2788cbdd73c1  $HOME/paranoid/connect.mjs" | shasum -a 256 -c

paranoid.red 提供的文件与此代码库中的 connect.mjs 逐字节完全一致;每个版本都会列出其 SHA-256,因此任何环节中被篡改的副本都会在运行前校验失败。

你也可以使用 src/、已发布的证明器和电路文件自行构建(snarkjs 0.7.6 发布于 npm,电路见 paranoiddotred/paranoid)。CI 会在每次推送时执行相同的构建,并在出现哪怕一个字节的差异时失败。

bash scripts/fetch-zk.sh && node build.mjs && git diff --exit-code connect.mjs

Claude Code

claude mcp add paranoid -e PARANOID_PAYER=$HOME/agent-wallet.json -- node $HOME/paranoid/connect.mjs mcp

Cursor(~/.cursor/mcp.json)

{
  "mcpServers": {
    "paranoid": {
      "command": "node",
      "args": ["/Users/you/paranoid/connect.mjs", "mcp"],
      "env": { "PARANOID_PAYER": "/Users/you/agent-wallet.json" }
    }
  }
}

PARANOID_PAYER 指向一个 Solana 密钥对文件(由 Solana CLI 写入的 JSON 文件),其钱包中持有 USDC。它仅用于购买问题。如果你已在 paranoid.red 上购买了问题,请运行一次 node connect.mjs,然后粘贴 Keys 标签页中的连接器代码。

工具

工具功能
ask使用新密钥向模型提问并返回答案。需要提供 question,也可以按需提供 model 和 system。
models列出模型,以及向每个模型发送一条消息的费用。
balance显示剩余问题数及其有效期截止日期。
buy使用 PARANOID_PAYER 中的钱包通过 x402 购买新的会员资格。

每个问题收费 0.002 USDC,至少购买 250 个;Agent 使用 x402 购买时,还需支付 0.30 USDC 的设置费。网关支付 Solana 网络费用。

如何保护隐私

购买问题时,您的计算机会生成一个秘密,并且只发送该秘密的承诺,该承诺会被加入 Solana 上的会员列表。每次提问时,连接器都会通过零知识证明,证明它持有某个仍有剩余问题的会员资格的秘密,并使用一个不指明会员身份的 nullifier 标记某个编号的问题已用。网关验证证明后,会将问题转发给模型,但它永远不会知道是哪个会员提出了问题;两次提问无法通过各自的证明关联起来,并且每个请求都通过独立连接传输。

网关运行在 Intel TDX 芯片中。在首次提问前,以及之后每隔十分钟,连接器都会检查 Intel 对该芯片的签名、它自行生成的 nonce,以及该芯片的构建版本是否在 PARANOID 的 2-of-3 多签保存在 Solana 上的批准构建版本列表中(p2UnUp...Sfw8);该列表通过 PARANOID 不运行的公共 Solana RPC 读取。随后,连接器会使用 Oblivious HTTP 将每个请求加密封装给该芯片,并通过独立中继发送。传输链路上的任何一方(包括 paranoid.red)都无法读取问题或答案,网关看到的也是中继的地址,而非您的地址。如果检查失败,则不会发送任何内容。node connect.mjs check 会运行检查并发送一个加密封装的请求,且不会消耗问题。

重复使用同一个编号的问题会泄露秘密。届时任何人都可以对该会员资格执行罚没,并重新计算其曾提出的所有问题,因此请将每个会员资格仅保存在一个位置。连接器会在使用前将每个编号写入磁盘,并在每次获取密钥前读取已用问题的公开列表,因此这种情况不会意外发生。

该设计沿用了以太坊基金会和 Open Anonymity Project 的 Vitalik Buterin 与 Davide Crapis 提出的 zkAPI。PARANOID 将其引入 Solana。

在任何 OpenAI 应用中使用 PARANOID 密钥

paranoid.red 上的 Keys 选项卡会提供一个以 sk-paranoid- 开头的密钥。它的使用方式与 OpenAI API 密钥相同,因此任何允许设置 OpenAI 基础 URL 的应用或 SDK,只需进行两项设置即可通过 PARANOID 运行。

Base URL  https://paranoid.red/api/v1
API key   sk-paranoid-...

使用 Node.js 的 OpenAI SDK:

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://paranoid.red/api/v1", apiKey: process.env.PARANOID_KEY });
const res = await client.chat.completions.create({
  model: "default",
  messages: [{ role: "user", content: "Explain zero-knowledge proofs in two lines." }],
});
console.log(res.choices[0].message.content);

使用 Python 的 OpenAI SDK:

import os
from openai import OpenAI

client = OpenAI(base_url="https://paranoid.red/api/v1", api_key=os.environ["PARANOID_KEY"])
res = client.chat.completions.create(model="default", messages=[{"role": "user", "content": "Hello"}])
print(res.choices[0].message.content)

使用 curl:

curl https://paranoid.red/api/v1/chat/completions \
  -H "Authorization: Bearer $PARANOID_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"default","messages":[{"role":"user","content":"Hello"}]}'

GET https://paranoid.red/api/v1/models 会列出模型以及向每个模型发送一条消息的费用。网关不认识的模型名称会转发给默认模型,因此,坚持使用自定义名称的应用仍可正常运行。

该密钥是一组在您的设备上生成的证明,有效期至当天结束。对于需要持续运行的应用或 Agent,请改用连接器:它会为每个请求生成新密钥,因此密钥永远不会过期。

其他运行方式

同一个文件也可以在您的计算机上提供 OpenAI API,供任何支持该 API 的应用使用。

node connect.mjs                 # serves http://127.0.0.1:4141/v1, any API key works
PARANOID_PAYER=wallet.json node connect.mjs buy 500

完整文档请见 paranoid.red/docs/agents 和 paranoid.red/docs/connector。

从终端使用

node connect.mjs ask "What does RFC 9458 change for a relay?"
git diff | node connect.mjs ask "Review this change"
node connect.mjs chat -m <model id>

答案会输出到 stdout,其他内容会输出到 stderr,因此可以将其通过管道传递。

它下载的文件

连接器在首次提问时,会从 paranoid.red 下载证明器和电路,并将它们保存在 ~/.paranoid/zk。随附的还有 Intel 的 quote 验证器 @phala/dcap-qvl-web 0.3.3,与 npm 上发布的版本完全一致。证明器是 snarkjs 0.7.6,与 npm 上发布的版本完全一致;电路文件则是 paranoiddotred/paranoid 中发布的版本,任何人都可以对照检查。它们的 SHA-256 哈希值写在 connect.mjs 中;如果哈希不匹配,它就会拒绝运行任何内容。证明器在独立的 JavaScript Realm 中运行,无法访问网络、文件或进程,因此只有证明会离开该环境。SECURITY.md 中有详细说明。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。