ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

three.ws Brain

โดย nirholasรุ่น 0.1.4i★ –iรันบนเครื่อง
ชื่อใน registryio.github.nirholas/brain-mcp

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

List LLM providers and run chat completions through the three.ws multi-provider router.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: แชตและอีเมล
  • ต้องใส่ค่าเหล่านี้: THREE_WS_API_KEY

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

ค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต

ต้องเตรียมก่อน

  • npmติดตั้ง Node.js (มีคำสั่ง npx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "brain": {
      "command": "npx",
      "args": [
        "-y",
        "@three-ws/brain-mcp"
      ],
      "env": {
        "THREE_WS_BASE": "ใส่ค่าของคุณ",
        "THREE_WS_API_KEY": "ใส่ค่าของคุณ",
        "THREE_WS_TIMEOUT_MS": "ใส่ค่าของคุณ"
      }
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add brain --env THREE_WS_BASE='ใส่ค่าของคุณ' --env THREE_WS_API_KEY='ใส่ค่าของคุณ' --env THREE_WS_TIMEOUT_MS='ใส่ค่าของคุณ' -- npx -y @three-ws/brain-mcp

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "brain": {
      "command": "npx",
      "args": [
        "-y",
        "@three-ws/brain-mcp"
      ],
      "env": {
        "THREE_WS_BASE": "ใส่ค่าของคุณ",
        "THREE_WS_API_KEY": "ใส่ค่าของคุณ",
        "THREE_WS_TIMEOUT_MS": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "brain": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@three-ws/brain-mcp"
      ],
      "env": {
        "THREE_WS_BASE": "ใส่ค่าของคุณ",
        "THREE_WS_API_KEY": "ใส่ค่าของคุณ",
        "THREE_WS_TIMEOUT_MS": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • THREE_WS_BASE env
    Base URL of the three.ws API that fronts the LLM router (/api/brain/chat). Override only when self-hosting or targeting a preview deployment.
  • THREE_WS_API_KEY ความลับ env
    Optional three.ws API key (sk_live_… / sk_test_…) or OAuth access token, sent as a Bearer token. Required only to use paid first-party flagships (Claude, GPT-5, o3, Grok, Qwen Plus, DeepSeek). Free o…
  • THREE_WS_TIMEOUT_MS env
    Per-request timeout in milliseconds. Chat completions stream server-side and are collapsed into a single reply, so this is generous by default to ride out a long flagship answer.

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub nirholas ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด แชตและอีเมลi

  • ดาวมากกว่า 0% ของอีก 1765 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 49% ของอีก 1765 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 1765 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

three.ws Brain ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

ต้องใส่ค่าเหล่านี้: THREE_WS_API_KEY

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.4) เข้า registry 27 วันที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Vexa, emailmd, MCP WhatsApp Cloud

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Vexa

โดย Vexa-ai

Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.

รันบนคลาวด์★ 2,949Apache-2.0อัปเดต 2 เดือนที่ผ่านมา
ติดตั้ง

emailmd

โดย anypost

Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.

บนเครื่องหรือคลาวด์★ 1,385MITอัปเดต 31 วันที่ผ่านมา
ติดตั้ง

MCP WhatsApp Cloud

โดย codespar

MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API

รันบนเครื่อง★ 277MITอัปเดต 5 เดือนที่ผ่านมา
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

@three-ws/brain-mcp

Any model, one interface — discover LLM providers and run chat completions through the three.ws multi-provider router, from any AI agent.


A Model Context Protocol server that gives any AI assistant the three.ws multi-provider LLM router over stdio. Discover which models are available — Claude, the GPT-5.6 family, o3, Grok, Qwen, DeepSeek, NVIDIA Nemotron, IBM Granite, and more — and run a chat completion through whichever one fits, without wiring each vendor SDK yourself.

The router fronts every provider behind one endpoint and transparently falls back across mirrors and free tiers if the chosen model is briefly down. The free open-weight tiers (GPT-OSS 120B, NVIDIA NIM models) work with no key; the paid first-party flagships unlock with a three.ws API key.

Install

npm install @three-ws/brain-mcp

Or run with npx (no install):

npx @three-ws/brain-mcp

Quick start

Claude Code, one line:

claude mcp add brain -- npx -y @three-ws/brain-mcp

To unlock the paid flagships, pass your three.ws API key:

claude mcp add brain -e THREE_WS_API_KEY=sk_live_… -- npx -y @three-ws/brain-mcp

Claude Desktop / Cursor (claude_desktop_config.json or mcp.json):

{

"mcpServers": { "brain": { "command": "npx", "args": ["-y", "@three-ws/brain-mcp"], "env": { "THREE_WS_API_KEY": "sk_live_…" } } } }

Inspect the surface with the MCP Inspector:

npx -y @modelcontextprotocol/inspector npx @three-ws/brain-mcp

Tools

ToolTypeWhat it does
list_providersread-onlyList every LLM the router can reach — key, network, tier, max output, live availability, and whether it needs auth.
chatread-onlyRun a chat completion through the chosen provider; returns the full reply, the route taken, token usage, and timing.

Both tools read live data — the provider set and completions vary between calls, so neither is idempotent. chat does not mutate any platform state, so it is annotated read-only.

Input parameters

`list_providers` — no parameters.

`chat` — messages (required: 1–100 turns of { role: "user" | "assistant", content }, content ≤ 16,000 chars), provider (provider key from list_providers, default gpt-oss-120b), system (optional system prompt, ≤ 8,000 chars), maxTokens (optional, 64–16384, default 4096, clamped to the model's ceiling).

Example

Both responses below are shape illustrations — the live provider set and generations will differ.

// list_providers (example response)

{}

{ "ok": true, "count": 34, "available": 33, "default_provider": "gpt-oss-120b", "providers": [ { "key": "gpt-oss-120b", "label": "GPT-OSS 120B", "network": "OpenAI · OpenRouter", "tier": "balanced", "maxOutput": 8192, "description": "Open-weight 120B from OpenAI. Fast, capable, free tier. Platform default.", "available": true, "requiresAuth": false }, { "key": "claude-sonnet-5", "label": "Claude Sonnet 5", "network": "Anthropic", "tier": "balanced", "maxOutput": 16384, "description": "Near-Opus quality on coding and agentic work at Sonnet cost. Best for most tasks.", "available": true, "requiresAuth": true }, { "key": "deepseek-r1", "label": "DeepSeek R1", "network": "DeepSeek", "tier": "reasoning", "maxOutput": 8192, "description": "Open reasoning model. Strong at math and code.", "available": true, "requiresAuth": true } /* … */ ] }

// chat (example response)

{

"provider": "claude-sonnet-5", "system": "You are terse.", "messages": [{ "role": "user", "content": "Name three Solana RPC methods." }] } { "ok": true, "provider": "claude-sonnet-5", "model": "Claude Sonnet 5", "network": "Anthropic", "tier": "balanced", "routed_via": null, "content": "getBalance, getAccountInfo, getSignaturesForAddress.", "usage": { "input_tokens": 24, "output_tokens": 14, "total_tokens": 38 }, "timing_ms": { "first_token": 412, "total": 980 } }

routed_via is null when the requested provider answered directly; otherwise it names the mirror or free-tier route the router fell back to (so you always get an answer even if the first choice is briefly down).

Model availability is dynamic. Always call list_providers first rather than hardcoding a key. The current Claude ids are claude-fable-5, claude-opus-5, claude-sonnet-5, claude-opus-4-7, claude-sonnet-4-6, and claude-haiku-4-5, but the live list is the source of truth.

Authentication

Model classNeeds a key?
Free open-weight tiers (GPT-OSS 120B, and the NVIDIA NIM set: Nemotron 3 Super / Nemotron Super 49B / Nemotron Nano / DeepSeek V4 / Kimi K2 / Llama 4 Maverick / MiniMax M2)No
Paid first-party flagships (Claude, GPT-5.6, o3, Qwen Plus, DeepSeek, …)Yes — set THREE_WS_API_KEY

Create an API key at three.ws/dashboard/developers. Without it, paid models return a sign-in error and list_providers flags them with requiresAuth: true.

Requirements

  • Node.js >= 20.
  • Network access to https://three.ws (or your own THREE_WS_BASE).
Environment variables
VariableRequiredDefaultPurpose
THREE_WS_BASEnohttps://three.wsAPI base URL (override to self-host or target a preview).
THREE_WS_API_KEYno—Bearer credential that unlocks the paid first-party flagships.
THREE_WS_TIMEOUT_MSno120000Per-request timeout (completions stream server-side).

Errors

A failed tool call returns an MCP error result (isError: true) whose text is a single JSON object — { "ok": false, "error": " ", "message": "…" }, plus status and detail on upstream rejections:

errorMeaningRecovery
upstream_errorThe router rejected the request — status carries the real HTTP code: 400 (bad arguments or an unknown provider key), 401 (paid model without a valid THREE_WS_API_KEY), 429 (rate-limited), 502 (the model's stream failed before producing output).Act on status; for 401 set a key, for an unknown key re-run list_providers.
timeoutNo complete response within THREE_WS_TIMEOUT_MS. Long flagship generations can be slow — the default 120 s matches the router's own ceiling.Retry, lower maxTokens, or pick a fast-tier provider.
network_errorThe request never reached the router (DNS, offline, TLS).Check connectivity / THREE_WS_BASE.
bad_configTHREE_WS_TIMEOUT_MS is not a positive number (thrown at startup).Fix the env var.

If the requested provider fails mid-flight the router transparently falls back to a mirror or free tier and the reply's routed_via names the route taken — you only see an error when every route is exhausted.

Links

  • Homepage: https://three.ws
  • Changelog: https://three.ws/changelog
  • Issues: https://github.com/nirholas/three.ws/issues
  • License: Apache-2.0, see LICENSE

Part of the three.ws SDK suite — 3D AI agents, on-chain identity, and agent payments.

Website · Changelog · GitHub

ถาม PopNx