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

Ethora MCP Server

โดย dapprosรุ่น 26.11.1i★ 6iบนเครื่องหรือคลาวด์
ชื่อใน registryio.github.dappros/ethora-mcp-server

วิธีติดตั้ง

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

ยังไม่มีคำอธิบายภาษาไทย ดูข้อเท็จจริงด้านล่าง หรือเปิดคำอธิบายต้นฉบับจากผู้ทำ

  • ต่อแบบ คลาวด์หรือติดตั้งในเครื่อง
  • บัญชีหรือคีย์ คลาวด์: ล็อกอินกับบริการตอนต่อ (OAuth) · ในเครื่อง: ต้องมี ETHORA_APP_JWT, ETHORA_B2B_TOKEN
  • หมวด แชตและอีเมล
คำอธิบายต้นฉบับจากผู้ทำ (อังกฤษ)
Ethora chat platform MCP: apps, users, rooms, AI agents, chat widgets. Hosted or stdio.

ติดตั้ง

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

ผลตรวจผ่าน 5/5 · สิ่งที่คุณถามผ่านเซิร์ฟเวอร์ของผู้ทำ (mcp.chat.ethora.com)

ขั้นแรก: คุณใช้ AI ตัวไหน

เลือกแอปที่คุณใช้ ขั้นตอนจะขึ้นด้านล่าง

ต่อกับ Claude ได้ · ประมาณ 2 นาที

ไม่ต้องใช้คีย์ ไม่ต้องลงโปรแกรม · ตั้งครั้งเดียวที่ claude.ai หรือแอปบนคอม แล้วใช้ในแชตได้ · บัญชีฟรีเพิ่มได้ 1 ตัว · แผน Team/Enterprise ให้เจ้าของ (Owner) เป็นคนเพิ่ม

  1. เปิดหน้า Connectors ของ Claude

    CustomizeConnectors

    CustomizeConnectors1+ Add2https://…3Add4
  2. กด “+ Add” → “Add custom connector” แล้วกรอก 2 ช่องนี้

    คัดลอกจากที่นี่ไปวางในช่องชื่อเดียวกันบนหน้าจอของ Claude แล้วกด Continue

    Name · ชื่อEthora MCP Server
    Remote MCP server URL · ที่อยู่https://mcp.chat.ethora.com/mcp/oauth

    หัวข้อ Authentication ปล่อยตามที่ Claude ตรวจเจอ แล้วกด Add

  3. เปิดใช้ในแชต

    +ConnectorsEthora MCP Server

  4. ลองเลย

    ใช้ Ethora MCP Server บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง

    ✓ ถ้า Claude บอกว่ากำลังใช้ Ethora MCP Server หรือมีชื่อเครื่องมือของ Ethora MCP Server ขึ้นในคำตอบ แปลว่าต่อสำเร็จ

ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป

ต่อกับ ChatGPT ได้ เฉพาะแผนองค์กร

ใช้ได้กับ ChatGPT Business, Enterprise หรือ Edu บนเว็บ และแอดมินหรือเจ้าของ workspace ต้องเป็นคนเพิ่ม · ถ้าใช้ Free, Plus หรือ Pro: ChatGPT แผนของคุณยังต่อ MCP เองไม่ได้

  1. เปิดหน้าเพิ่ม MCP ของ ChatGPT บนเว็บ

    Plugins+Add custom MCP server

    ChatGPTPlugins1+2https://…3Create4
  2. กรอกชื่อและที่อยู่

    ใส่ชื่อ แล้ววางที่อยู่ใต้ Connection ติ๊กยอมรับคำเตือน แล้วกด Create as a plugin

    Name · ชื่อEthora MCP Server
    Connection · ที่อยู่https://mcp.chat.ethora.com/mcp/oauth
  3. เลือก Ethora MCP Server ในแชต

    เปิดแชตใหม่แล้วเลือก Ethora MCP Server จากรายการปลั๊กอินก่อนพิมพ์

  4. ลองเลย

    ใช้ Ethora MCP Server บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง

    ✓ ถ้า ChatGPT บอกว่ากำลังใช้ Ethora MCP Server หรือมีชื่อเครื่องมือของ Ethora MCP Server ขึ้นในคำตอบ แปลว่าต่อสำเร็จ

ชื่อเมนูตรวจกับหน้าช่วยเหลือของ OpenAI เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป

ต่อกับ Claude Code ได้ · ประมาณ 2 นาที

ไม่ต้องใช้คีย์ ไม่ต้องลงโปรแกรม

  1. เปิด Terminal

    Mac: กด Command+Space พิมพ์ Terminal · Windows: เปิด PowerShell

  2. วางคำสั่งนี้แล้วกด Enter

    claude mcp add --transport http --scope user ethora https://mcp.chat.ethora.com/mcp/oauth
  3. พิมพ์ /mcp ใน Claude Code

    ต้องเห็น Ethora MCP Server ในรายการและขึ้นว่าเชื่อมต่อแล้ว

  4. ลองเลย

    ใช้ Ethora MCP Server บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง

    ✓ ถ้า Claude Code บอกว่ากำลังใช้ Ethora MCP Server หรือมีชื่อเครื่องมือของ Ethora MCP Server ขึ้นในคำตอบ แปลว่าต่อสำเร็จ

ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป

ต่อกับ Cursor ได้ · ประมาณ 2 นาที

ไม่ต้องใช้คีย์ ไม่ต้องลงโปรแกรม

  1. กดปุ่มนี้เพื่อเปิด Cursor

    เปิดใน Cursor

    Cursor จะถามยืนยันการติดตั้ง ให้กด Install

  2. เปิดแชตของ AI ใน Cursor โหมด Agent

  3. ลองเลย

    ใช้ Ethora MCP Server บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง

    ✓ ถ้า Cursor บอกว่ากำลังใช้ Ethora MCP Server หรือมีชื่อเครื่องมือของ Ethora MCP Server ขึ้นในคำตอบ แปลว่าต่อสำเร็จ

ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Cursor เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป

ต่อกับ VS Code ได้ · ประมาณ 2 นาที

ไม่ต้องใช้คีย์ ไม่ต้องลงโปรแกรม

  1. กดปุ่มนี้เพื่อเปิด VS Code

    เปิดใน VS Code

    VS Code จะถามยืนยันการติดตั้ง ให้กด Install

  2. เปิดแชตของ AI ใน VS Code โหมด Agent

  3. ลองเลย

    ใช้ Ethora MCP Server บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง

    ✓ ถ้า VS Code บอกว่ากำลังใช้ Ethora MCP Server หรือมีชื่อเครื่องมือของ Ethora MCP Server ขึ้นในคำตอบ แปลว่าต่อสำเร็จ

ชื่อเมนูตรวจกับหน้าช่วยเหลือของ VS Code เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป

โปรแกรมอื่นที่ใช้ MCP ได้ เช่น Windsurf, Zed หรือ Gemini CLI มีวิธีเพิ่มต่างกัน ดูวิธีของแต่ละตัวในหน้ารวมโปรแกรม

ดูโปรแกรมที่ใช้ MCP ทั้งหมด →

ที่อยู่สำหรับโปรแกรมที่ต่อผ่านเว็บ

ที่อยู่https://mcp.chat.ethora.com/mcp/oauth

ค่าตั้งแบบไฟล์ JSON อยู่ในหัวข้อ “สำหรับคนเขียนโค้ด” ด้านล่าง

ติดตรงไหน? ถามคนที่ใช้ Ethora MCP Server อยู่💬 พูดคุย →
สำหรับคนเขียนโค้ด: คำสั่ง Terminal และค่าตั้ง JSON

ต่อผ่านเว็บ

Claude Code

claude mcp add --transport http --scope user ethora https://mcp.chat.ethora.com/mcp/oauth

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "ethora": {
      "url": "https://mcp.chat.ethora.com/mcp/oauth"
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "ethora": {
      "type": "http",
      "url": "https://mcp.chat.ethora.com/mcp/oauth"
    }
  }
}

ติดตั้งในเครื่อง

Claude Code

claude mcp add --scope user ethora --env ETHORA_API_URL='ใส่ค่าของคุณ' --env ETHORA_BASE_URL='ใส่ค่าของคุณ' --env ETHORA_APP_JWT='ใส่ค่าของคุณ' --env ETHORA_B2B_TOKEN='ใส่ค่าของคุณ' --env ETHORA_MCP_ENABLE_DANGEROUS_TOOLS='ใส่ค่าของคุณ' -- npx -y @ethora/mcp-server

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "ethora": {
      "command": "npx",
      "args": [
        "-y",
        "@ethora/mcp-server"
      ],
      "env": {
        "ETHORA_API_URL": "ใส่ค่าของคุณ",
        "ETHORA_BASE_URL": "ใส่ค่าของคุณ",
        "ETHORA_APP_JWT": "ใส่ค่าของคุณ",
        "ETHORA_B2B_TOKEN": "ใส่ค่าของคุณ",
        "ETHORA_MCP_ENABLE_DANGEROUS_TOOLS": "ใส่ค่าของคุณ"
      }
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "ethora": {
      "command": "npx",
      "args": [
        "-y",
        "@ethora/mcp-server"
      ],
      "env": {
        "ETHORA_API_URL": "ใส่ค่าของคุณ",
        "ETHORA_BASE_URL": "ใส่ค่าของคุณ",
        "ETHORA_APP_JWT": "ใส่ค่าของคุณ",
        "ETHORA_B2B_TOKEN": "ใส่ค่าของคุณ",
        "ETHORA_MCP_ENABLE_DANGEROUS_TOOLS": "ใส่ค่าของคุณ"
      }
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "ethora": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@ethora/mcp-server"
      ],
      "env": {
        "ETHORA_API_URL": "ใส่ค่าของคุณ",
        "ETHORA_BASE_URL": "ใส่ค่าของคุณ",
        "ETHORA_APP_JWT": "ใส่ค่าของคุณ",
        "ETHORA_B2B_TOKEN": "ใส่ค่าของคุณ",
        "ETHORA_MCP_ENABLE_DANGEROUS_TOOLS": "ใส่ค่าของคุณ"
      }
    }
  }
}

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

  • ETHORA_API_URL env
    Full Ethora API URL. Defaults to https://api.chat.ethora.com/v1 if neither ETHORA_API_URL nor ETHORA_BASE_URL is set.
  • ETHORA_BASE_URL env
    Base host URL (e.g. https://api.chat.ethora.com). The server appends /v1 automatically. Use ETHORA_API_URL instead if you need a non-/v1 path.
  • ETHORA_APP_JWT ความลับ env
    App JWT used for the user-auth bootstrap flow (login/register). Usually starts with 'JWT '. Optional; can also be set at runtime via the ethora-configure tool.
  • ETHORA_B2B_TOKEN ความลับ env
    B2B server token used for tenant-actor x-custom-token auth (JWT with type=server). Required for B2B / app provisioning flows. Optional; can also be set at runtime.
  • ETHORA_MCP_ENABLE_DANGEROUS_TOOLS env
    Set to 'true' to expose destructive tools (app deletion, wallet transfers, bulk delete). Disabled by default.

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

สรุป

ดาวน์โหลดต่อสัปดาห์i
109/สัปดาห์
การเชื่อมต่อ
บนเครื่องหรือคลาวด์
รุ่นล่าสุดi
26.11.1
ส่งเข้า registryi
9 พ.ย. 2569
แก้โค้ดล่าสุดi
9 พ.ย. 2569
ผู้ทำ
dappros
แพ็กเกจ
npm: @ethora/mcp-server
เว็บผู้ทำ
ethora.com
สถานะใน registry
ใช้งานอยู่

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

ดูจากแบบการต่อของ server ตัวนี้ และเอกสารของผู้ทำโปรแกรมแต่ละตัว ตรวจเมื่อ 10 พ.ย. 2569

ต่อผ่านคลาวด์ได้ใน

ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast

ติดตั้งบนเครื่องได้ใน

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

ดูโปรแกรมทั้งหมดพร้อมข้อดีข้อเสีย →

คู่มือที่เกี่ยวข้อง

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

server ให้ล็อกอินก่อนจึงจะแสดงรายการเครื่องมือ

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

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

  • ✓ ผ่าน

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

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

  • ✓ ผ่าน

    ยังมีคนดูแล

    มีการแก้โค้ดล่าสุด 3 วันที่ผ่านมา

  • ✓ ผ่าน

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

    ใช้ MIT

  • ✓ ผ่าน

    endpoint ตอบ

    ตอบกลับใน 372 ms (HTTP 401)

  • ✓ ผ่าน

    ล็อกอินแบบ OAuth

    ประกาศวิธีล็อกอินแบบ OAuth ให้โปรแกรม AI พาไปล็อกอินเอง

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

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

    ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint

พูดคุย

ถาม แชร์เคล็ดลับ หรือแจ้งว่าใช้ไม่ได้ เรียงตามที่คนกดว่ามีประโยชน์

ยังไม่มีใครโพสต์ ถามหรือแชร์เป็นคนแรกได้เลย

ข้อความในส่วนนี้เขียนโดยผู้ใช้ ไม่ใช่ทีม PopNx

เข้าสู่ระบบด้วย Google เพื่อโพสต์

รีวิวจากผู้ใช้

ยังไม่มีรีวิว

เข้าสู่ระบบด้วย Google เพื่อเขียนรีวิว

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

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

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

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

Ethora MCP Server ปลอดภัยไหม?

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

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

ต้องใส่ค่าเหล่านี้: ETHORA_APP_JWT, ETHORA_B2B_TOKEN

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

ได้ทั้งสองแบบ จะลงในเครื่องหรือต่อผ่านคลาวด์ก็ได้

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

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

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

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT แผน Business ขึ้นไป

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

ในหมวดเดียวกันมี Inbox Zero, draw.io, TradingMCP

ตัวอื่นในหมวดเดียวกัน

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

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

Inbox Zero

Search Gmail and Outlook, save drafts, manage email rules, and view email stats.

โดย elie222ใช้กันมาก★ 13Kอัปเดต 42 วันที่ผ่านมา

รันบนคลาวด์

draw.io

Create draw.io diagrams in chat from Mermaid or XML, shown live and interactive. 10,000+ shapes.

โดย jgraphใช้กันมาก★ 5.8Kอัปเดต เมื่อวานซืน

รันบนคลาวด์✓ เจ้าของบริการ · draw.io

TradingMCP

Market analysis for AI assistants: screeners, multi-timeframe analysis, backtests, in-chat charts.

โดย atilaahmettanerใช้กันมาก★ 5.3Kอัปเดต 21 วันที่ผ่านมา

รันบนคลาวด์

README จากผู้ทำ

เปิดอ่าน README

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

Ethora MCP Server (Model Context Protocol)

Add the hosted server in one click. You sign in through your browser; there is nothing to install and no key to paste.

For Claude.ai, ChatGPT, Claude Desktop, LM Studio and anything else that takes a connector URL, add https://mcp.chat.ethora.com/mcp/oauth and sign in. Running it yourself instead? See Using with stdio clients.

The MCP server for Ethora, an open-source chat and messaging platform with a built-in AI agent framework. It lets Claude, ChatGPT, Cursor, Claude Code, VS Code and autonomous agents create Ethora apps, chat rooms, users and AI agents, post messages, index RAG sources and produce website chat-widget embeds, all through tool calls.

Part of the [Ethora SDK ecosystem](https://github.com/dappros/ethora#ecosystem). Cross-SDK updates: Release Notes. Package changes: CHANGELOG.md.

Three ways to use it

Where it runsBest for
Hosted (Ethora Cloud)https://mcp.chat.ethora.com/mcp (production; https://mcp.chat-qa.ethora.com/mcp is the QA instance)Claude.ai, ChatGPT, Claude Code, Cursor and agents that talk to Ethora Cloud with no local install
Self-hostedShips with the Ethora monoserver deploy; enable services.mcp.enabled in deploy.yml and it is served at mcp. /mcpDedicated or on-premise Ethora installs; agent traffic never leaves your infrastructure
stdio CLInpx -y @ethora/mcp-server on your machine, configured with env varsLocal development, CI, and clients that launch a command

The hosted and self-hosted modes are the same server started with ETHORA_MCP_TRANSPORT=http. Every MCP session has private in-memory state: one client's login, selected app or tokens are never visible to another session.

Account memory. Some clients open a new MCP session for every tool call (ChatGPT does), which would lose the selected app between calls. So the server keeps a small snapshot per signed-in account, keyed by the user id in the bearer token: the current app and agent, the appToken the API handed that account for the current app, and the enabled tool groups. A new session that arrives with a token for the same account (OAuth, personal URL or Bearer header) gets it back, after the token has been validated against the API. Memory lives in the process, expires after 24 hours idle, and never holds the user token itself. Two more defaults close the same gap: ethora-app-create selects the new app, and an account that owns exactly one app has it selected automatically on the first app-scoped call.

60-second quickstart

Claude.ai or ChatGPT (custom connector). In the Ethora web app open Account, then the AI Assistants tab, create an API key and copy the personal connector URL it shows (https://mcp.chat.ethora.com/mcp/k/ ). Paste it as a custom connector. Every conversation is authenticated with no login step. For a listed connector that uses the vendor's OAuth login instead, the URL is https://mcp.chat.ethora.com/mcp/oauth.

Claude Code.

# with a personal connector URL (no headers needed)

claude mcp add --transport http ethora https://mcp.chat.ethora.com/mcp/k/

or the open endpoint plus a Bearer header

claude mcp add --transport http ethora https://mcp.chat.ethora.com/mcp --header "Authorization: Bearer "

Cursor, VS Code, and any client that takes a URL and headers.

{

"mcpServers": { "ethora": { "url": "https://mcp.chat.ethora.com/mcp", "headers": { "Authorization": "Bearer " } } } }

Autonomous agents with no account yet. Connect to https://mcp.chat.ethora.com/mcp with no credentials and call ethora-user-register with an email, first and last name. It creates the account, logs the session in, and returns a generated password plus an API key and connectorUrl exactly once. Store the key and reconnect later with the Bearer header or the personal URL; nothing else is needed, no browser and no email confirmation.

stdio CLI.

ETHORA_API_URL=https://api.chat.ethora.com/v1 ETHORA_APP_JWT="JWT <your app jwt>" npx -y @ethora/mcp-server

Then ask your agent to call ethora-status, ethora-user-login (or ethora-user-register) and ethora-app-list. Lost at any point, call ethora-help: it reads the current state and returns the recommended next calls.

Entry points and authentication

Entry pointWho supplies identityTypical client
/mcp (add ?tools=all to list every tool up front)Nobody at connect time. Call ethora-user-login or ethora-user-register inside the session, or send Authorization: Bearer on every request (user API key, app token or B2B token; the server picks the auth mode from the token type)Agents, Claude Code, Cursor, connectors added as "no auth"
/mcp/k/ The key in the path, applied like a Bearer headerClaude.ai and ChatGPT custom connectors, which take a URL but no headers
/mcp/oauthAn OAuth 2.1 access token obtained through the Ethora authorization server (dynamic client registration, PKCE, access scopes read, write, admin, plus the identity scopes openid and email for directories that require them)Connector directories (Claude, ChatGPT); vendors run the login flow themselves
stdioEnv vars ETHORA_APP_JWT (login/register bootstrap) and optional ETHORA_B2B_TOKEN, or ethora-session-configure at runtimeLocal CLI

Stay in user auth mode on the hosted server (ethora-status shows authMode: user). App-token and B2B modes exist for server integrations; the agents and rooms routes reject app tokens.

API keys
  • ethora-api-key-create { name?, ttlDays? } mints a key (default 90 days, max 365), shown once together with connectorUrl. ethora-user-register mints one by default and ethora-user-login { createApiKey: true } on request.
  • ethora-api-key-list shows id, name, created and expiry, never the value. ethora-api-key-revoke { id } invalidates it immediately: the next request with that key fails with REFRESH_RECORD_NOT_FOUND.
  • The same keys are managed in the Ethora web app under Account, AI Assistants, where the personal URL, a Claude Code one-liner and a Cursor config are shown with copy buttons.
  • A key acts as the user. Treat the personal URL like a password: do not share screenshots of it, revoke it if it leaks. The server never logs request URLs, and the monoserver nginx template logs method and status only on the MCP host.
OAuth 2.1 (/mcp/oauth)

Set ETHORA_MCP_AUTH_ISSUER to the public URL of the Ethora API that hosts the authorization server (the monoserver deploy sets it). The MCP server then:

  • serves RFC 9728 protected-resource metadata at /.well-known/oauth-protected-resource and /.well-known/oauth-protected-resource/mcp/oauth, naming the authorization server and the three scopes;
  • answers unauthenticated requests on /mcp/oauth with 401 and WWW-Authenticate: Bearer resource_metadata="...", which is how clients discover the flow;
  • validates each token against the API once per session (cached five minutes) and enforces the token's scope per tool: read-only tools need read; deleting, revoking and rotating (and revealing a credential) need admin; everything else, including updates that overwrite fields and are therefore marked destructive, needs write. search, fetch, ethora-help, ethora-status and ethora-doctor need no scope. Tokens without a scope claim (API keys) get full access;
  • hides the identity tools (ethora-user-login, ethora-user-register, ethora-session-configure, ethora-auth-mode-set, ethora-auth-mode-set, ethora-api-key-create, ethora-api-key-list, ethora-api-key-revoke) because the token already fixes who you are.

The authorization server itself is part of the Ethora backend: /.well-known/oauth-authorization-server, /oauth/register, /oauth/authorize (a consent page with sign-in, account creation and Google sign-in), /oauth/token, /oauth/revoke and /oauth/userinfo. Users see and disconnect OAuth grants under Account, AI Assistants, Connected AI apps. When ETHORA_MCP_AUTH_ISSUER is unset, both OAuth routes return 404 and discovery omits them.

Identity scopes. Some directories (ChatGPT) require the minimal OpenID Connect surface on top of OAuth 2.1: the openid and email scopes and a userinfo endpoint that returns sub, email and email_verified. These scopes grant no access to apps or data; they only let the client see who signed in, and the consent page says so in plain words. There are no ID tokens or JWKS, because nothing consumes them.

Email confirmation is optional. Ethora never blocks sign-up or the dashboard on a confirmed address. When a client asks for the identity scopes and the account's address is not yet confirmed, the consent page adds one step: send the confirmation link, continue after confirming, or continue without sharing the address (the identity scopes are dropped from the grant and everything else proceeds). Google sign-ins arrive confirmed and skip the step. The same confirmation can be sent from Account, AI Assistants in the web app.

What agents can do

The end-to-end journey a new user typically asks for, with the tools in order:

  1. ethora-user-register (or ethora-user-login) to get an authenticated session and an API key.
  2. ethora-app-create { displayName } then ethora-app-select { appId } to make the new app current.
  3. ethora-chat-create { title } to create a group room. The result contains the room JID ${appId}_${chatId}; every room tool accepts the JID or the bare chatId.
  4. ethora-agent-create { name, prompt, ... } to create an AI agent persona in that app.
  5. ethora-agent-invite { agentIdOrAddress, chatJid } to put the agent in the room. A bot instance is spawned live, no restart needed.
  6. ethora-message-send { text, roomJid, waitForReplySec: 45 } to post a message and wait for the agent's answer, returned as replies. ethora-chat-history reads

ตัดมาแค่ช่วงต้น อ่านต่อใน repo