Inbox Zero
Search Gmail and Outlook, save drafts, manage email rules, and view email stats.
Ethora chat platform MCP: apps, users, rooms, AI agents, chat widgets. Hosted or stdio.
Pick the AI app you use, then copy the settings.
Passed 5/5 checks · What you ask goes through the maker’s server (mcp.chat.ethora.com)
First: which AI do you use?
Pick your app and the steps appear below.
Works with Claude · about 2 min
No key, nothing to install · Set it up once on claude.ai or the desktop app, then use it in chat · free accounts can add 1 · on Team/Enterprise an Owner adds it
CustomizeConnectors
Copy each value into the field with the same name in Claude, then click Continue
Ethora MCP Serverhttps://mcp.chat.ethora.com/mcp/oauthLeave Authentication as Claude detected it, then click Add
+ConnectorsEthora MCP Server
Use Ethora MCP Server and tell me what you can do for me, then show me one thing✓ If Claude says it is using Ethora MCP Server or shows a Ethora MCP Server tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with ChatGPT on business plans only
ChatGPT Business, Enterprise or Edu on the web, added by a workspace admin or owner · On Free, Plus or Pro: your ChatGPT plan cannot connect MCP yet
Plugins+Add custom MCP server
Enter a name, paste the address under Connection, tick the risk warning and click Create as a plugin
Ethora MCP Serverhttps://mcp.chat.ethora.com/mcp/oauthStart a new chat and pick Ethora MCP Server from your plugins before typing
Use Ethora MCP Server and tell me what you can do for me, then show me one thing✓ If ChatGPT says it is using Ethora MCP Server or shows a Ethora MCP Server tool in the answer, you are connected
Menu names checked against OpenAI’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Claude Code · about 2 min
No key, nothing to install
Mac: press Command+Space and type Terminal · Windows: open PowerShell
claude mcp add --transport http --scope user ethora https://mcp.chat.ethora.com/mcp/oauthYou should see Ethora MCP Server listed as connected
Use Ethora MCP Server and tell me what you can do for me, then show me one thing✓ If Claude Code says it is using Ethora MCP Server or shows a Ethora MCP Server tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Cursor · about 2 min
No key, nothing to install
Use Ethora MCP Server and tell me what you can do for me, then show me one thing✓ If Cursor says it is using Ethora MCP Server or shows a Ethora MCP Server tool in the answer, you are connected
Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with VS Code · about 2 min
No key, nothing to install
Use Ethora MCP Server and tell me what you can do for me, then show me one thing✓ If VS Code says it is using Ethora MCP Server or shows a Ethora MCP Server tool in the answer, you are connected
Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.
Address for apps that connect over the web
https://mcp.chat.ethora.com/mcp/oauthJSON settings are under “For developers” below
Claude Code
claude mcp add --transport http --scope user ethora https://mcp.chat.ethora.com/mcp/oauthCursor (~/.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=your-value --env ETHORA_BASE_URL=your-value --env ETHORA_APP_JWT=your-value --env ETHORA_B2B_TOKEN=your-value --env ETHORA_MCP_ENABLE_DANGEROUS_TOOLS=your-value -- npx -y @ethora/mcp-serverClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"ethora": {
"command": "npx",
"args": [
"-y",
"@ethora/mcp-server"
],
"env": {
"ETHORA_API_URL": "your-value",
"ETHORA_BASE_URL": "your-value",
"ETHORA_APP_JWT": "your-value",
"ETHORA_B2B_TOKEN": "your-value",
"ETHORA_MCP_ENABLE_DANGEROUS_TOOLS": "your-value"
}
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"ethora": {
"command": "npx",
"args": [
"-y",
"@ethora/mcp-server"
],
"env": {
"ETHORA_API_URL": "your-value",
"ETHORA_BASE_URL": "your-value",
"ETHORA_APP_JWT": "your-value",
"ETHORA_B2B_TOKEN": "your-value",
"ETHORA_MCP_ENABLE_DANGEROUS_TOOLS": "your-value"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"ethora": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@ethora/mcp-server"
],
"env": {
"ETHORA_API_URL": "your-value",
"ETHORA_BASE_URL": "your-value",
"ETHORA_APP_JWT": "your-value",
"ETHORA_B2B_TOKEN": "your-value",
"ETHORA_MCP_ENABLE_DANGEROUS_TOOLS": "your-value"
}
}
}
}ETHORA_API_URL envETHORA_BASE_URL envETHORA_APP_JWT secret envETHORA_B2B_TOKEN secret envETHORA_MCP_ENABLE_DANGEROUS_TOOLS envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
npm: @ethora/mcp-serverBased on how this server connects and on each app’s own docs, checked Nov 10, 2026.
Connect over the internet in
ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
Run on your computer in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
The server asks you to sign in before it lists its tools.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 12, 2026
The registry name was verified with the GitHub account dappros, which owns the repo
Code last changed 3 days ago
Uses MIT
Responded in 372 ms (HTTP 401)
Declares OAuth sign-in, so your AI app can take you to log in
Not checked yet; we read the tool list when we check the endpoint
Ask, share a tip or report that it does not work. Sorted by what people marked helpful.
No posts yet. Be the first to ask or share.
Posts here are written by users, not the PopNx team.
No reviews yet
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 5 of 5 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: ETHORA_APP_JWT, ETHORA_B2B_TOKEN
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed 3 days ago, and the latest version (26.11.1) reached the registry 3 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT Business and above.
In the same category: Inbox Zero, draw.io, TradingMCP
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Search Gmail and Outlook, save drafts, manage email rules, and view email stats.
Create draw.io diagrams in chat from Mermaid or XML, shown live and interactive. 10,000+ shapes.
Market analysis for AI assistants: screeners, multi-timeframe analysis, backtests, in-chat charts.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
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.
io.github.dappros/ethora-mcp-server (https://registry.modelcontextprotocol.io/)| Where it runs | Best 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-hosted | Ships with the Ethora monoserver deploy; enable services.mcp.enabled in deploy.yml and it is served at mcp. /mcp | Dedicated or on-premise Ethora installs; agent traffic never leaves your infrastructure |
| stdio CLI | npx -y @ethora/mcp-server on your machine, configured with env vars | Local 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.
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/
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 point | Who supplies identity | Typical 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 header | Claude.ai and ChatGPT custom connectors, which take a URL but no headers |
/mcp/oauth | An 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 |
| stdio | Env vars ETHORA_APP_JWT (login/register bootstrap) and optional ETHORA_B2B_TOKEN, or ethora-session-configure at runtime | Local 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.
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./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:
/.well-known/oauth-protected-resource and /.well-known/oauth-protected-resource/mcp/oauth, naming the authorization server and the three scopes;/mcp/oauth with 401 and WWW-Authenticate: Bearer resource_metadata="...", which is how clients discover the flow;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;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.
The end-to-end journey a new user typically asks for, with the tools in order:
ethora-user-register (or ethora-user-login) to get an authenticated session and an API key.ethora-app-create { displayName } then ethora-app-select { appId } to make the new app current.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.ethora-agent-create { name, prompt, ... } to create an AI agent persona in that app.ethora-agent-invite { agentIdOrAddress, chatJid } to put the agent in the room. A bot instance is spawned live, no restart needed.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