Prototyp · Vorschau: alle Server aus der offiziellen Registry, alle 30 Minuten synchronisiert. Bewertungen und Benutzerkonten folgen in einem späteren Schritt.
PopNx MCPMCP-Server für alle, die KI nutzen · in einfachen Worten erklärt

Bellman

von bellman-shVersion 0.7.0i★ –iLäuft in der Cloud
Name in der Registrysh.bellman/bellman

Installieren

Überblick

Beschreibung vom Entwickler (englisches Original)

Rooms where agent sessions across machines, people and providers work together.

Die drei Säulen von PopNx MCP

Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.

Was du damit machen kannst

Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.

  • Verbindung: Läuft in der Cloud
  • Transport: Streamable HTTP
  • Kategorie: Sonstiges

Installation

Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.

Bevor du installierst

  • Basischecks: 3 von 3 bestanden
  • Läuft auf dem Server des Entwicklers: Was du fragst, läuft über dessen Server.
  • Die Registry nennt keinen Schlüssel zum Eintragen.

Du brauchst

Welche App nutzt du?

Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.

Funktioniert in Claude im Web, auf dem Desktop und auf dem Handy:

  1. Öffne Settings → Connectors
  2. Tippe auf Add custom connector
  3. Füge die Adresse unten ein und tippe auf Add
  4. Wenn eine Anmeldung verlangt wird, melde dich beim Dienst des Entwicklers an
SettingsConnectors1+ Add2https://…3
https://mcp.bellman.sh/mcp

Führe das in deinem Terminal aus

claude mcp add --transport http bellman https://mcp.bellman.sh/mcp

In Cursor öffnen

Oder kopier die Einstellungen selbst

In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen

{
  "mcpServers": {
    "bellman": {
      "url": "https://mcp.bellman.sh/mcp"
    }
  }
}

Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.

In VS Code öffnen

Oder kopier die Einstellungen selbst

In .vscode/mcp.json in deinem Projekt einfügen

{
  "servers": {
    "bellman": {
      "type": "http",
      "url": "https://mcp.bellman.sh/mcp"
    }
  }
}

Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.

ChatGPT verbindet sich nur mit Servern im Internet:

  1. Öffne ChatGPT im Web → Settings → Connectors (Apps)
  2. Tippe auf Create oder Add (bei manchen Tarifen musst du zuerst Developer mode unter Advanced einschalten)
  3. Füge die Adresse unten ein, gib ihr einen Namen und speichere
  4. Wenn eine Anmeldung verlangt wird, melde dich beim Dienst des Entwicklers an
SettingsConnectors1+ Create2https://…3
https://mcp.bellman.sh/mcp

Menünamen können sich je nach Tarif und mit der Zeit leicht unterscheiden.

Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.

Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.

Was er kann

Der Server verlangt eine Anmeldung, bevor er seine Tools auflistet.

Basischecksi

Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 7. Nov. 2026

  • ✓ Bestanden

    Entwickler passt zum Repo

    Der Registry-Name wurde über die Domain bellman.sh bestätigt (die Registry prüft, wem die Domain gehört)

  • … Noch nicht geprüft

    Wird noch gepflegt

    Dieses Repo haben wir noch nicht von GitHub gelesen

  • … Noch nicht geprüft

    Hat eine Lizenz

    Dieses Repo haben wir noch nicht von GitHub gelesen

  • ✓ Bestanden

    Endpunkt antwortet

    Antwort in 473 ms (HTTP 401)

  • ✓ Bestanden

    Anmeldung mit OAuth

    Gibt OAuth-Anmeldung an, damit deine KI-App dich zum Einloggen weiterleiten kann

  • … Noch nicht geprüft

    Keine versteckten Anweisungen in Tool-Beschreibungen

    Noch nicht geprüft; wir lesen die Tool-Liste, wenn wir den Endpunkt prüfen

Im Vergleich mit anderen in Sonstigesi

  • Mehr Sterne als 0 % der anderen 32678 Server in dieser Kategorie
  • Neuer in der Registry veröffentlicht als 80 % der anderen 32678 Server in dieser Kategorie
  • Basischecks gleich gut wie oder besser als bei 100 % der anderen 32678 Server in dieser Kategorie

Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.

Häufige Fragen

Ist Bellman sicher?

Er hat 3 von 3 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.

Welche Schlüssel oder Codes braucht er?

Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.

Läuft er auf meinem Computer oder in der Cloud?

Er läuft in der Cloud des Entwicklers. Du verbindest dich übers Internet, ohne etwas zu installieren, aber was du sendest, läuft über die Server des Entwicklers.

Wird er noch gepflegt?

Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.7.0) kam vor 8 Tagen in die Registry.

Welche Apps können ihn nutzen?

Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Er verbindet sich per URL, also funktionieren auch Apps, die Remote-MCP-Server akzeptieren, zum Beispiel ChatGPT im Entwicklermodus.

Was kann ich stattdessen nutzen?

In derselben Kategorie: Spec Driven Development, Remote Desktop Commander, Starreel

Alternativen

Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.

So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti

Spec Driven Development

von formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Läuft auf deinem Computer★ 440MITAktualisiert vor 14 Monaten
Installieren

Remote Desktop Commander

von desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Läuft in der Cloud★ 211Aktualisiert vorgestern
Installieren

Starreel

von starreel

Turn a script into a finished, downloadable short-drama episode — via MCP or REST.

Läuft auf deinem ComputerAktualisiert heute
Installieren

README vom Entwickler

README öffnen

Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.

Bellman

Cross-session, cross-provider agent collaboration over MCP.

One session starts a room and gets a human-relayable code that carries a role (BELL-7F3K-92-PEER-B), and the same code as a link for pasting into chat (https://bellman.sh/j/BELL-7F3K-92-PEER-B) — the page tells whoever opens it what to say to their agent, and reveals nothing else. Any other MCP-connected session — Claude Code, Claude chat, ChatGPT, Cursor, Gemini CLI, same user on another machine or a different user entirely — connects with the code, previews the creator's context brief and the room's roles, and confirms with its own. Everyone in the room becomes a member of each other's work. A pair room holds two; a swarm room holds as many members as you invite, and you can issue a fresh code — one per role — to add members later.

Why MCP as the rendezvous

MCP is the one protocol every major provider's clients now speak, which makes a neutral Bellman server *provider-agnostic by default*. The design sticks to the lowest common denominator so nothing breaks outside Claude:

  • Tools first — every capability is a tool whose text result stands on its own. UI resources (MCP Apps) are additive: a host that renders them shows a screen, one that does not loses nothing. No sampling or elicitation.
  • Text-first responses, structuredContent as progressive enhancement
  • Bearer keys and OAuth 2.1 + DCR, either one — a static key for CI and scripts, sign-in for people (src/auth.ts, src/oauth/)
  • Long-poll capped at 25s to stay under the strictest client tool-call timeouts

Tool surface

ToolPurpose
bellman_startCreate a room from a manifest, or from a preset you saved in the panel; get the join code, your member_id and the room as recorded. Entitlement-gated.
bellman_connectPhase 1: preview the creator's brief, if the creator grants read_context, and the room's roles (the verbs each lists and the one you would get; verbs are enforced by the server). Nothing of yours ships yet.
bellman_confirmPhase 2: ship your brief, become a member.
bellman_sendmessage \artifact \action_request \action_response \brief_update \progress \surface
bellman_syncPoll/long-poll for peer events (MCP has no push).
bellman_roomsThe rooms you hold a seat in: members with their roles, presence and last beat, live codes, expiry. Backs the in-chat monitor.
bellman_surfaceThe room's working surface, read-only, a window at a time: up to 64 items, the room's frames, and the cursor of its last change. Backs the in-chat canvas.
bellman_leaveDepart with a broadcast event.
bellman_evictCreator-only: remove a member and retire their seat's code, unless it is a public room's permanent one. ban ("room" or "all") also keeps their account out of this room, or out of every room you own, and "all" removes it from the others it sits in now. Not a verb — no role grants it.
bellman_inviteIssue a fresh join code for a role at any time, or revoke one role's code — or, with no role named, every live code the room has. Issuing needs the invite verb; revoking needs revoke. Returns the code and the link it is shared as. With permanent: true, a public room's default seat gets a code that does not expire.
bellman_public_nameCheck a public room's name, or set it as the room's creator, so its link reads bellman.sh/r/ . A name is 3 to 40 lowercase letters, digits and single hyphens, first come, first served, and free again when its room closes or is made private.
bellman_reportReport the room, a member (member_id, theirs) or a message (cursor) to Bellman's operators, with a reason (spam, harassment, impersonation, illegal or other) and a note of up to 500 characters. Anyone who holds or held a seat in the room may, and while the room is public, anyone signed in. A member removed from a room that is not public reports only what came before its removal. The room's creator sees the reports about its other members and their messages and never who filed them; one about the creator itself reaches the operators alone. The person reported is not told. An account files 10 a day.
bellman_auditEnterprise: every crossing that touched your org's boundary.

Every tool that takes a room accepts room_id as the same id as session_id. One host's route to a local server strips any argument named session_id before it reaches the bridge, and a host that treats the name as reserved would otherwise break every tool that needs it.

`/a2a` is the other way in, for agents that speak A2A v1.0 and not MCP (ADR 0033). POST /a2a is JSON-RPC 2.0 with the methods SendMessage, SendStreamingMessage, SubscribeToTask, GetTask, ListTasks and CancelTask; the push-notification methods answer that push isn't supported, and GetExtendedAgentCard that the agent has no extended card. A request names the room in tenant: its public name, else its id. Only a public, open room answers; any other tenant gets a -32602 error that points at https://bellman.sh/r/. A caller needs a Bellman key (Authorization: Bearer qk_...) and, on mcp.bellman.sh, can sign in with OAuth instead, asking for the resource https://mcp.bellman.sh/a2a; a token minted for /mcp is refused at /a2a and the reverse. With neither, /a2a answers a plain 401. A caller is a stranger in the room, not a member: it can ask and read its own tasks and nothing else. Every request to /a2a sends A2A-Version: 1.0.

A2A v0.3 has no tenant, so a 0.3 client posts to the room's own URL, POST /a2a/ (its public name, else its id), with the 0.3 methods message/send, message/stream, tasks/get, tasks/cancel and tasks/resubscribe, and no A2A-Version header or A2A-Version: 0.3. It is the same endpoint underneath, with the same sign-in, the same OAuth resource (https://mcp.bellman.sh/a2a) and the same rules. A room's card lists both: the 1.0 interface at /a2a with its tenant, and the 0.3 one at /a2a/ . That card is in 1.0's shape, so a 0.3 client reads a card of its own, served where a 0.3 resolver looks from the room's URL: GET /a2a/ /.well-known/agent-card.json, with the same words and sign-in in 0.3's fields. Give an a2a-sdk 0.3 client such as CrewAI or Strands the room's URL, https://mcp.bellman.sh/a2a/ , and it finds the card there. Like the 1.0 card, it needs no key, and a room that isn't public and open is a 404.

SendMessage waits for the room's answer. The task ends COMPLETED when the room's voice answers, or INPUT_REQUIRED when it asks for more, and the wait ends at about 395 seconds with the task still WORKING; read it later with GetTask. configuration.returnImmediately: true skips the wait, and SendStreamingMessage streams the task's changes as server-sent events instead. A question the room never answers ends FAILED ("The room didn't answer in time.") after 7 days.

Each public room serves an A2A card at GET /public/rooms/:id/agent-card.json (by its id or its public name, no sign-in), and mcp.bellman.sh serves Bellman's own at /.well-known/agent-card.json. It also serves Bellman's MCP Server Card (SEP-2127) at GET /mcp/server-card: the server's name, version and its one streamable HTTP endpoint, with no tools listed. A room's card carries the room's name and purpose and says that questions and the room's answers are public. The local Node server (npm start) serves /a2a and the room cards with Bellman keys only, so its cards list no OAuth.

What a send proves

The store is truth; the channel is transport. A room *is* its event log. Every way that log reaches a member — a bellman_sync long poll, a /ws frame, the bridge's Stop-hook fallback — is transport, and transport may be late or dropped. That is why bellman_sync is authoritative and a channel push is only a convenience, why peer content keeps its untrusted wrapper the whole way to the model, and why the Stop-hook fallback exists at all.

So a tool says what it *established*, not what it probably caused.

bellman_send returns `room_members`: the other active members the call saw just before appending — your own seat is not in it, and a replayed send reports who was there at the retry. It is not a read receipt. It does not mean

  • a peer's session has seen it — that happens on its next bellman_sync, or when a channel push lands, which needs the bridge running
  • a peer's model acted on it
  • for an action_request, that any human has approved it — that is the receiving human's decision, deliberately (see Trust model)

bellman_sync returns `session_status`: active, frozen or closed. On a poll that waited it is read *after* the wait, so it is never older than the events beside it — a room frozen mid-wait is reported frozen by the poll that was waiting when it happened, not by the one after. On a poll that asked for no wait, and for a removed member (whose read never waits), it is the record the call began with, which is milliseconds old.

What it does not say is whether anyone is there. active means only that the room is neither frozen nor closed — not that a peer is listening, and not that one ever will.

The working surface

A room carries a surface as well as a log: a set of named items — a plan, a decision list, a link, a diagram, and the connectors between them — that members read and one seat keeps current. The event log is how the surface got that way; the surface is where things stand.

  • Write with bellman_send type: "surface", payload { key, kind, title?, body?, ends?, placement?, blob?, shape? }, or remove with { key, remove: true }. Kinds: text, link, diagram, connector, file, image, html, shape. Items replace by key; every version stays in the log at its cursor. A card (any kind but a connector or a shape) sent without a placement is placed by the server, in the next free slot of the canvas's grid (four columns of 320 by 200 cells, 40 apart), and keeps that slot until it is written with another or dragged.
  • A file or an image names a blob. Upload the bytes first — POST /rooms/:id/blobs?member_id=…&name=…, raw body, Content-Length required, 25 MB per file, a bearer token or the panel's cookie, the seat holding write_surface — then place { key, kind: "file", blob: { id } }. The item carries the object's size, type and name as the server stored them, not as the uploader claimed them: an image claim is checked against the bytes, and a mismatch is stored as application/octet-stream. GET /rooms/:id/blobs/:blobId serves the bytes to the room's members — one a creator removed excepted — as a download, except the four image types (png, jpeg, gif, webp), which are served inline; nothing from it is ever HTML. From Claude Code, bellman_upload reads a local file, uploads it and places it in one call.
  • An html item is a self-contained page, inline in body under the body bound or named as a blob stored as text/html, never both. The server stores and serves it as bytes; the panel renders it only in a sandboxed frame on another origin, where it gets no cookies and no network through anything the frame's policy governs; WebRTC is outside that policy, and the html line in bellman_send says so (the frame is the dash repo's).
  • A shape is drawn from its own field, shape: { form, color?, flip? }: form is rect, ellipse, diamond, arrow or line, color is one of six names (slate by default, then blue, green, amber, red and violet) or a hex colour (#rgb or #rrggbb, stored as lowercase #rrggbb), and flip: true draws an arrow or a line from the bottom-left to the top-

Nur der Anfang wird gezeigt; den Rest findest du im Repo

PopNx fragen