@ethora/mcp-server

MCPcomunidad
v26.5.3ISCActualizado hace 3 mnpmGitHub

MCP server for the Ethora chat & messaging platform: login, manage apps and chat rooms, broadcast messages, and deploy AI agents / chatbots with RAG sources.

Funciona en
ClaudeCursorCopilotGemini

Inferido de los transportes que declara este listado (stdio). Que un cliente no aparezca aquí no significa que se haya descartado: simplemente Forge no puede confirmarlo.

Indexado automáticamente desde fuentes públicas. Aún sin verificar por su desarrollador en Forge.Reclamar este listado →
100Descargas/sem.
hace 3 mÚltima actualización
Lee estas credenciales
  • ETHORA_APP_JWTClave de APIopcional

    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_TOKENClave de APIopcional

    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.

Declarado por el autor en el registro oficial de MCP. Forge does not store, broker, or ever see these values — the config below is scaffolded with placeholders you fill in locally.

Paquete
Autor
LicenciaISC
Versión26.5.3
Fuentenpm+mcp-registry
Estado de confianza
B
60/100Bueno
Listado en el índice de Forge+10/10
Identidad del publicador verificada+0/20
Publicador: ejecuta `forge publish` desde el repo del paquete para reclamar la propiedad
Firma de publicación Ed25519+0/5
Se incluye automáticamente cuando el publicador ejecuta `forge publish`
Verificación de dominio+0/5
Publicador: aloja /.well-known/forge.json en la página del paquete con { "publisher": "<github-login>" }
npm Trusted Publishing (Sigstore)+0/5
Publica desde GitHub Actions con --provenance para que la attestation vincule este paquete a este repo
Coincidencia de maintainer en npm+0/5
Se consigue cuando tu identidad esté verificada arriba y ese login sea maintainer de este paquete en npm
Análisis CVE · limpio+30/30
Análisis estático · limpio+20/20
Pégalo en Claude Code, Cursor o cualquier asistente de IA para corregir todas las carencias
EstadoIndexado por la comunidad
PublicadorSin verificar
FirmaSin firmar
Dominio
Procedencia
Dependencias✓ 60 resueltas+ · ninguna vulnerable
Superficie de herramientas40 herramientas · 8 privilegiadas
Análisis de seguridad✓ Limpiov26.5.3 · hace 3 d¿Qué tan bien funciona este análisis?
EvaluacionesNinguna
Indexado26 ago 2026

La verificación confirma la identidad del publicador (la propiedad del repo), no la seguridad del código. El análisis de seguridad cubre los CVE conocidos y los scripts de instalación sospechosos.

Herramientas

40 herramientas · 8 privilegiadas
Extraído estáticamente del paquete publicadov26.5.3 · 3d ago

Leído del código que npm publica realmente, en el momento del análisis. El paquete nunca se ejecutó. Las herramientas registradas dinámicamente en tiempo de ejecución, o escondidas en código empaquetado o minificado, pueden pasarse por alto — así que esto es un mínimo de la superficie de herramientas, no un censo completo.

ethora-configureSet the Ethora API URL and credentials for this MCP session. Stores values in memory only; each call merges with omitted fields kept. Alternative to env vars (ETHORA_API_URL / ETHORA_APP_JWT / ETHORA_APP_TOKEN / ETHORA_B2B_TOKEN). Auth: none required — this establishes auth material. Errors: only i…

Set the Ethora API URL and credentials for this MCP session. Stores values in memory only; each call merges with omitted fields kept. Alternative to env vars (ETHORA_API_URL / ETHORA_APP_JWT / ETHORA_APP_TOKEN / ETHORA_B2B_TOKEN). Auth: none required — this establishes auth material. Errors: only i…

No se publicó ningún esquema de entrada para esta herramienta.

ethora-statusReport the current Ethora MCP session state: configured API URL, active auth mode, which credentials are present (booleans like `hasAppJwt` — values never echoed), and the selected appId/agentId. Auth: none required. Errors: effectively none. Related: `ethora-doctor` for an active connectivity chec…

Report the current Ethora MCP session state: configured API URL, active auth mode, which credentials are present (booleans like `hasAppJwt` — values never echoed), and the selected appId/agentId. Auth: none required. Errors: effectively none. Related: `ethora-doctor` for an active connectivity chec…

No se publicó ningún esquema de entrada para esta herramienta.

ethora-helpTask-oriented orientation for this MCP server: explains the three Ethora auth modes (user / app-token / B2B) and recommends next tool calls + recipes based on current session state. Auth: none required — inspects state, no API calls. Errors: effectively none. Related: pass a recommended recipe id t…

Task-oriented orientation for this MCP server: explains the three Ethora auth modes (user / app-token / B2B) and recommends next tool calls + recipes based on current session state. Auth: none required — inspects state, no API calls. Errors: effectively none. Related: pass a recommended recipe id t…

No se publicó ningún esquema de entrada para esta herramienta.

ethora-run-recipeExecute a built-in recipe — an ordered sequence of this server's own tool calls — by id. Recipes capture common flows (B2B bootstrap, broadcast, sources ingest). Use `dryRun: true` to preview resolved steps. Omit `recipeId` to list runnable recipes for a `goal`. Auth: depends on the recipe's steps…

Execute a built-in recipe — an ordered sequence of this server's own tool calls — by id. Recipes capture common flows (B2B bootstrap, broadcast, sources ingest). Use `dryRun: true` to preview resolved steps. Omit `recipeId` to list runnable recipes for a `goal`. Auth: depends on the recipe's steps…

No se publicó ningún esquema de entrada para esta herramienta.

ethora-doctorDiagnose the session: validate the config is internally consistent for the active auth mode and ping the Ethora API (`GET /v1/ping`). Returns `{ state, checks, ping, suggestions }`. Auth: none required; report is tailored to whatever credentials are set. Errors: rarely throws — instead returns `sug…

Diagnose the session: validate the config is internally consistent for the active auth mode and ping the Ethora API (`GET /v1/ping`). Returns `{ state, checks, ping, suggestions }`. Auth: none required; report is tailored to whatever credentials are set. Errors: rarely throws — instead returns `sug…

No se publicó ningún esquema de entrada para esta herramienta.

ethora-auth-use-appSwitch this session's active auth mode to app-token, so subsequent app-scoped calls authenticate with the configured `appToken`. Auth: requires an `appToken` to already be configured (via `ethora-configure`, ETHORA_APP_TOKEN env, or `ethora-app-select`). Errors: returns an error if no `appToken` is…

Switch this session's active auth mode to app-token, so subsequent app-scoped calls authenticate with the configured `appToken`. Auth: requires an `appToken` to already be configured (via `ethora-configure`, ETHORA_APP_TOKEN env, or `ethora-app-select`). Errors: returns an error if no `appToken` is…

No se publicó ningún esquema de entrada para esta herramienta.

ethora-auth-use-userSwitch this session's active auth mode to user-session, so subsequent calls authenticate as a logged-in Ethora user. Auth: the switch needs nothing, but user-auth tools only work once `ethora-user-login` stores a user token (login also needs a configured `appJwt`). Errors: none on the switch; downs…

Switch this session's active auth mode to user-session, so subsequent calls authenticate as a logged-in Ethora user. Auth: the switch needs nothing, but user-auth tools only work once `ethora-user-login` stores a user token (login also needs a configured `appJwt`). Errors: none on the switch; downs…

No se publicó ningún esquema de entrada para esta herramienta.

ethora-auth-use-b2bSwitch this session's active auth mode to B2B, so subsequent calls authenticate as a tenant actor via the `x-custom-token` header. Auth: requires a `b2bToken` (JWT with `type=server`) to already be configured (via `ethora-configure` or ETHORA_B2B_TOKEN env). Errors: returns an error if no `b2bToken…

Switch this session's active auth mode to B2B, so subsequent calls authenticate as a tenant actor via the `x-custom-token` header. Auth: requires a `b2bToken` (JWT with `type=server`) to already be configured (via `ethora-configure` or ETHORA_B2B_TOKEN env). Errors: returns an error if no `b2bToken…

No se publicó ningún esquema de entrada para esta herramienta.

ethora-app-selectSet the current app context for this session so app-scoped tools can omit their `appId` argument. Stores `currentAppId` and, if given, `appToken` (which defaults the auth mode to app-token unless `authMode` overrides). Auth: none required to set the context. Errors: effectively none — a non-existen…

Set the current app context for this session so app-scoped tools can omit their `appId` argument. Stores `currentAppId` and, if given, `appToken` (which defaults the auth mode to app-token unless `authMode` overrides). Auth: none required to set the context. Errors: effectively none — a non-existen…

No se publicó ningún esquema de entrada para esta herramienta.

ethora-agent-selectSet the current saved-agent context for this session, so agent-scoped tools can omit their `agentId` argument. Stores `currentAgentId` in session state. Auth: none required. Errors: effectively none — the `agentId` is not validated here; a bad id surfaces on the first agent-scoped API call. Related…

Set the current saved-agent context for this session, so agent-scoped tools can omit their `agentId` argument. Stores `currentAgentId` in session state. Auth: none required. Errors: effectively none — the `agentId` is not validated here; a bad id surfaces on the first agent-scoped API call. Related…

No se publicó ningún esquema de entrada para esta herramienta.

ethora-chats-broadcast-v2Enqueue an asynchronous broadcast job posting a message to one or more chat rooms of an app — returns a `jobId`; messages are not sent synchronously. Targeting is exclusive: `allRooms`, `chatIds`, or `chatNames`, not a mix. Auth: app-token mode OR B2B mode with an explicit `appId`. Errors: 401/403…

Enqueue an asynchronous broadcast job posting a message to one or more chat rooms of an app — returns a `jobId`; messages are not sent synchronously. Targeting is exclusive: `allRooms`, `chatIds`, or `chatNames`, not a mix. Auth: app-token mode OR B2B mode with an explicit `appId`. Errors: 401/403…

No se publicó ningún esquema de entrada para esta herramienta.

ethora-chats-broadcast-job-v2Fetch the current status and per-room results of a broadcast job by `jobId` (one-shot, no polling). Returns the job object with its `state` (pending/running/completed/failed). Auth: app-token mode OR B2B mode with an explicit `appId` — must match the auth used to enqueue the job. Errors: 401/403 wr…

Fetch the current status and per-room results of a broadcast job by `jobId` (one-shot, no polling). Returns the job object with its `state` (pending/running/completed/failed). Auth: app-token mode OR B2B mode with an explicit `appId` — must match the auth used to enqueue the job. Errors: 401/403 wr…

No se publicó ningún esquema de entrada para esta herramienta.

ethora-wait-broadcast-job-v2Block until a broadcast job reaches a terminal state (`completed` or `failed`) or until `timeoutMs` — read-only polling wrapper around `ethora-chats-broadcast-job-v2`. Returns `{ done, state, job }`, or `{ done: false, reason: "timeout" }` on timeout. Auth: app-token mode OR B2B mode with an explic…

Block until a broadcast job reaches a terminal state (`completed` or `failed`) or until `timeoutMs` — read-only polling wrapper around `ethora-chats-broadcast-job-v2`. Returns `{ done, state, job }`, or `{ done: false, reason: "timeout" }` on timeout. Auth: app-token mode OR B2B mode with an explic…

No se publicó ningún esquema de entrada para esta herramienta.

ethora-files-upload-v2privilegiadaUpload 1–5 files to the authenticated user's Ethora file storage (`POST /v2/files`). Each upload is a new record (no overwrite-by-name); files passed as base64, 50MB max each. Auth: user-auth mode with an active user session (`ethora-user-login` first). Errors: 401 not logged in; 413 size limit exc…

Upload 1–5 files to the authenticated user's Ethora file storage (`POST /v2/files`). Each upload is a new record (no overwrite-by-name); files passed as base64, 50MB max each. Auth: user-auth mode with an active user session (`ethora-user-login` first). Errors: 401 not logged in; 413 size limit exc…

No se publicó ningún esquema de entrada para esta herramienta.

ethora-files-get-v2List the authenticated user's files, or fetch one file's metadata by id (`GET /v2/files`). Returns an array when `id` is omitted, a single record when given. Auth: user-auth mode with an active user session. Errors: 401 not logged in; 404 unknown `id` or not owned by the user.

List the authenticated user's files, or fetch one file's metadata by id (`GET /v2/files`). Returns an array when `id` is omitted, a single record when given. Auth: user-auth mode with an active user session. Errors: 401 not logged in; 404 unknown `id` or not owned by the user.

No se publicó ningún esquema de entrada para esta herramienta.

ethora-files-delete-v2privilegiadaPermanently delete one of the authenticated user's files by id (`DELETE /v2/files/:id`). Removes the record and its stored content; not reversible. Auth: user-auth mode with an active user session. Errors: 401 not logged in; 403 not owned by the user; 404 unknown `id`. Related: get ids from `ethora…

Permanently delete one of the authenticated user's files by id (`DELETE /v2/files/:id`). Removes the record and its stored content; not reversible. Auth: user-auth mode with an active user session. Errors: 401 not logged in; 403 not owned by the user; 404 unknown `id`. Related: get ids from `ethora…

No se publicó ningún esquema de entrada para esta herramienta.

ethora-sources-site-crawlCrawl a website URL and ingest its content into an app's RAG sources (legacy user-auth route). Async — pages become queryable once indexing finishes; `followLink: true` follows in-domain links and can ingest many pages. Auth: user-auth mode, active session; the user must own the app. Errors: 401 no…

Crawl a website URL and ingest its content into an app's RAG sources (legacy user-auth route). Async — pages become queryable once indexing finishes; `followLink: true` follows in-domain links and can ingest many pages. Auth: user-auth mode, active session; the user must own the app. Errors: 401 no…

No se publicó ningún esquema de entrada para esta herramienta.

ethora-sources-site-reindexRe-crawl and re-embed a previously crawled URL by its `urlId`, refreshing the RAG content for that page (legacy user-auth route). Async — the existing source record is updated in place once indexing finishes. Auth: user-auth mode, active session; the user must own the app. Errors: 401 not logged in…

Re-crawl and re-embed a previously crawled URL by its `urlId`, refreshing the RAG content for that page (legacy user-auth route). Async — the existing source record is updated in place once indexing finishes. Auth: user-auth mode, active session; the user must own the app. Errors: 401 not logged in…

No se publicó ningún esquema de entrada para esta herramienta.

ethora-sources-site-delete-urlprivilegiadaRemove a single crawled URL from an app's RAG sources, matched by its exact url string (legacy user-auth route). Deletes the source record and its embeddings; not reversible. Matches on the exact stored URL string. Auth: user-auth mode, active session; the user must own the app. Errors: 401 not log…

Remove a single crawled URL from an app's RAG sources, matched by its exact url string (legacy user-auth route). Deletes the source record and its embeddings; not reversible. Matches on the exact stored URL string. Auth: user-auth mode, active session; the user must own the app. Errors: 401 not log…

No se publicó ningún esquema de entrada para esta herramienta.

ethora-sources-site-delete-records-v1privilegiadaBulk-remove crawled URLs (1–100) from an app's RAG sources in one call, matched by exact url strings (legacy owner/admin user-auth route). Deletes each matching source record and its embeddings; not reversible. URLs not present are skipped. Auth: user-auth mode, active session; the user must own th…

Bulk-remove crawled URLs (1–100) from an app's RAG sources in one call, matched by exact url strings (legacy owner/admin user-auth route). Deletes each matching source record and its embeddings; not reversible. URLs not present are skipped. Auth: user-auth mode, active session; the user must own th…

No se publicó ningún esquema de entrada para esta herramienta.

ethora-sources-docs-uploadprivilegiadaSin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

ethora-sources-docs-deleteprivilegiadaSin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

ethora-user-loginSin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

ethora-user-registerSin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

ethora-app-listSin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

ethora-app-createSin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

ethora-app-deleteprivilegiadaSin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

ethora-app-updateSin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

ethora-app-get-default-roomsSin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

ethora-app-get-default-rooms-with-app-idSin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

ethora-app-create-chatSin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

ethora-app-delete-chatprivilegiadaSin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

ethora-wallet-get-balanceSin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

ethora-wallet-erc20-transferSin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

ethora-b2b-app-createSin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

ethora-b2b-bot-enableSin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

ethora-bot-get-v2Sin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

ethora-bot-update-v2Sin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

ethora-agents-list-v2Sin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

ethora-agents-get-v2Sin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

20 de 40 herramientas publicaron una descripción.

Los nombres y descripciones de las herramientas los escribe el publicador y se muestran literalmente como texto inerte. Son las cadenas que un cliente MCP pasa al modelo, así que Forge las analiza en busca de patrones de inyección de prompts — cualquier hallazgo aparece junto al análisis de seguridad de arriba. «Privilegiada» es una coincidencia de palabra clave en el nombre de la herramienta, no una auditoría de lo que hace: un nombre inofensivo puede hacer cualquier cosa.

Acerca de

MCP server for the Ethora chat & messaging platform: login, manage apps and chat rooms, broadcast messages, and deploy AI agents / chatbots with RAG sources.

Palabras clave
ethoraethora-mcpethora-appethora-adminmcp
Alternativas
Comparando superficies de herramientas…

Árbol de dependencias

Lo que un análisis de Forge resolvió a partir de los metadatos de npm el 2026-08-30: resolución observada, no una declaración del publicador.

60 paquetes resueltos · 3 directos · ninguno con avisos de seguridad La resolución se detiene en la profundidad 4 y en 60 paquetes.

El rastreo se detuvo en el límite de 60 paquetes. El resto del árbol nunca se resolvió.

Hay 36 paquetes resueltos más que no se dibujan aquí (límite de visualización: 24). Toda dependencia con avisos de seguridad se dibuja aunque se supere el límite. Inventario completo (SBOM CycloneDX)

Declaradas pero no resueltas

74 dependencias declaradas nunca llegaron al árbol. Faltan en la resolución de Forge, no en el paquete.

+62 más sin listar. Los recuentos por motivo de arriba las incluyen todas.

No se siguen: peerDependencies. Este árbol cubre solo dependencias en tiempo de ejecución, así que lo que estas arrastren nunca se resolvió.