World Monitor
Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 102 tools.
Beschreibung vom Entwickler (englisches Original)
Multi-user tenancy library for MCP servers. Pairs, groups, bi-temporal shared state, DSGVO erasure.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
3/3 Prüfungen bestanden · Läuft auf deinem Computer
Zuerst: Welche KI nutzt du?
Wähle deine App, dann erscheinen die Schritte unten.
Klappt mit Claude, aber erst etwas vorbereiten
Installiere zuerst Node.js auf deinem Computer (nur einmal) · Nur in der Claude-App für den Computer (Windows oder Mac), nicht im Web oder auf dem Handy
Nur einmal; gilt für alle Server, die Node.js brauchen
SettingsDeveloperEdit Config
{
"mcpServers": {
"tenant-pair": {
"command": "npx",
"args": [
"-y",
"mcp-tenant-pair-demo"
]
}
}
}Nutze MCP Tenant Pair und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn Claude sagt, dass es MCP Tenant Pair nutzt, oder ein Werkzeug von MCP Tenant Pair in der Antwort zeigt, bist du verbunden
Menünamen am 11. Nov. 2026 mit der Hilfe von Anthropic abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
ChatGPT kann MCP Tenant Pair noch nicht verbinden
MCP Tenant Pair läuft auf deinem Computer, aber ChatGPT verbindet nur Server, die im Web laufen
A · Eine App nutzen, die MCP Tenant Pair verbinden kann
B · Andere in Sonstiges, die mit ChatGPT funktionieren
Aus den meistgenutzten derselben Kategorie, nur solche, die per Adresse ohne Schlüssel verbinden
Klappt mit Claude Code, aber erst etwas vorbereiten
Installiere zuerst Node.js auf deinem Computer (nur einmal)
Nur einmal; gilt für alle Server, die Node.js brauchen
Mac: Command+Leertaste drücken und Terminal tippen · Windows: PowerShell öffnen
claude mcp add tenant-pair -- npx -y mcp-tenant-pair-demoMCP Tenant Pair sollte in der Liste als verbunden erscheinen
Nutze MCP Tenant Pair und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn Claude Code sagt, dass es MCP Tenant Pair nutzt, oder ein Werkzeug von MCP Tenant Pair in der Antwort zeigt, bist du verbunden
Menünamen am 11. Nov. 2026 mit der Hilfe von Anthropic abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
Klappt mit Cursor, aber erst etwas vorbereiten
Installiere zuerst Node.js auf deinem Computer (nur einmal)
Nur einmal; gilt für alle Server, die Node.js brauchen
Nutze MCP Tenant Pair und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn Cursor sagt, dass es MCP Tenant Pair nutzt, oder ein Werkzeug von MCP Tenant Pair in der Antwort zeigt, bist du verbunden
Menünamen am 11. Nov. 2026 mit der Hilfe von Cursor abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
Klappt mit VS Code, aber erst etwas vorbereiten
Installiere zuerst Node.js auf deinem Computer (nur einmal)
Nur einmal; gilt für alle Server, die Node.js brauchen
VS Code fragt nach einer Bestätigung; klicke Install
Nutze MCP Tenant Pair und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn VS Code sagt, dass es MCP Tenant Pair nutzt, oder ein Werkzeug von MCP Tenant Pair in der Antwort zeigt, bist du verbunden
Menünamen am 11. Nov. 2026 mit der Hilfe von VS Code abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
Andere Apps mit MCP, etwa Windsurf, Zed oder Gemini CLI, fügen Server unterschiedlich hinzu. Sieh in der App-Liste nach
JSON-Einstellungen stehen unten unter „Für Entwickler“
Claude Code
claude mcp add tenant-pair -- npx -y mcp-tenant-pair-demoClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"tenant-pair": {
"command": "npx",
"args": [
"-y",
"mcp-tenant-pair-demo"
]
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"tenant-pair": {
"command": "npx",
"args": [
"-y",
"mcp-tenant-pair-demo"
]
}
}
}VS Code (mcp.json)
{
"servers": {
"tenant-pair": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-tenant-pair-demo"
]
}
}
}Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Basierend darauf, wie sich dieser Server verbindet, und auf der eigenen Doku jeder App, geprüft am 10. Nov. 2026.
Laufen auf deinem Computer in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
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 11. Nov. 2026
Der Registry-Name wurde über die Domain studiomeyer.io bestätigt (die Registry prüft, wem die Domain gehört)
Code zuletzt geändert: vorgestern
Nutzt MIT
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Fragen, Tipps teilen oder melden, dass etwas nicht geht. Sortiert nach „hilfreich“.
Noch keine Beiträge. Stell die erste Frage oder teile einen Tipp.
Beiträge hier stammen von Nutzern, nicht vom PopNx-Team.
Noch keine Bewertungen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
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.
Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt vorgestern geändert, und die neueste Version (0.1.3) kam vor 10 Tagen in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Node.js auf deinem Computer.
In derselben Kategorie: World Monitor, Claude Flow, Tldraw
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 102 tools.
AI orchestration with hive-mind swarms, neural networks, and 87 MCP tools for enterprise dev.
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.
Part of the [StudioMeyer MCP Stack](https://studiomeyer.io) — Built in Mallorca 🌴 · ⭐ if you use it
Foundation library + reference MCP server for multi-user tenancy in consumer MCP servers (couples, families, small groups). Identity-separated state, bi-temporal storage, conflict-resolver interface.
Spec: MCP 2025-06-18 License: MIT Repo layout: monorepo (npm workspaces)
packages/
lib/ mcp-tenant-pair (TypeScript library) cli/ mcp-tenant-pair-cli (commander CLI) demo/ mcp-tenant-pair-demo (reference Low-Level MCP server, stdio)
We have been building tools and systems for ourselves for the past two years. The fact that this repo is small and has few stars is not because it is new. It is because we only just decided to share what we have built. It is not a fresh experiment, it is a long story with a recent commit.
We love building things and sharing them. We do not love social media tactics, growth hacks, or chasing stars and followers. So this repo is small. The code is real, it gets used, issues get answered. Judge for yourself.
If it helps you, sharing, testing, and feedback help us. If it could be better, an issue is more useful. If you build something with it, tell us at hello@studiomeyer.io. That genuinely makes our day.
From a small studio in Palma de Mallorca.
Most MCP servers today are single-user. The moment you want to share state across two or more humans (couples, families, small groups) you hit the same five sub-problems each time: pair creation, invite flow, identity-separated state, conflict resolution, voluntary leave / kick. This library solves them once, so downstream MCP servers (Pet-Platform, recipe-sharing, household, calendar) do not re-invent them.
import { TenantPair, SqliteTenantStore, LWWResolver } from "mcp-tenant-pair";
const tp = new TenantPair({ store: new SqliteTenantStore({ path: "./tenant-pair.sqlite" }), resolver: new LWWResolver(), });
const { pairId, inviteToken } = await tp.createPair({ creatorMemberId: "alice" }); await tp.acceptInvite({ inviteToken, memberId: "bob" });
await tp.setMemberPreference(pairId, "alice", "allergy", ["nuts"]); await tp.setSharedState(pairId, "alice", "tonight", "pizza");
const aliceConstraints = await tp.getMemberConstraints(pairId, "alice"); const shared = await tp.getSharedState(pairId);
npx mcp-tenant-pair-cli pair create --member-id alice
npx mcp-tenant-pair-cli pair invite --pair-id --member-id alice npx mcp-tenant-pair-cli state set --pair-id --member-id alice --key tonight --value pizza npx mcp-tenant-pair-cli state get --pair-id
node packages/demo/dist/server.js
Reads MCP_TENANT_PAIR_DB env (default :memory:).
| Tool | readOnlyHint | destructiveHint |
|---|---|---|
| create_pair | false | false |
| invite_member | false | false |
| accept_invite | false | false |
| list_members | true | false |
| set_member_preferences | false | false |
| get_member_constraints | true | false |
| get_shared_state | true | false |
| set_shared_state | false | false |
| resolve_conflicts | false | true |
| kick_member | false | true |
| leave_pair | false | true |
| forget_member | false | true |
| Concern | Supported |
|---|---|
| MCP Spec | 2025-06-18 |
| Node | >= 20.0.0 to use it. Building this repo needs 20.19+ or 22.12+ (Vite 8). |
| Storage | SQLite (default), Postgres (peer-dep) |
| Conflict Resolver | LWWResolver (default), ManualResolver, custom (interface) |
| Transport | stdio (demo), library is transport-free |
better-sqlite3 with WAL mode. Pass { path: "./pair.sqlite" } or :memory:.pg.Pool-shaped client ({ query (text, params): Promise<{rows: R[]}>, end?(): Promise }). pg is a peer dependency.ConflictResolver is an interface. Two implementations ship:
LWWResolver — picks the row with the latest validFrom, ties broken by highest version. Throws on empty candidate list.ManualResolver — returns no resolutions; conflicts stay pending until a human resolves them externally.Inject your own by implementing { name: string; resolve(conflicts: Conflict[]): Resolution[] }.
Every overwrite of a (pairId, namespace, key) triple sets valid_to on the previous active row and inserts a new row with a fresh valid_from. version is monotonic per key. This lets you replay history (getPairStateHistory) and detect concurrent writes deterministically.
member_state is per-member (only readable by that member via get_member_constraints). pair_state is shared (all active members can read via get_shared_state).
Writes by a member who later leaves or is kicked stay visible in shared state.
. — uuid v4 (122 bits CSPRNG entropy via node:crypto) plus a voice-readable base32 short-code (default RNG is node:crypto.randomInt, injectable for tests).maxPendingInvites).forgetMember(pairId, memberId) hard-deletes the member's member_state rows (allergies, dietary preferences) and nulls display_name. Membership trace (left_at) is retained for audit./^a-z_{0,62}$/ at construction time (defense against SQL injection via integrator-supplied schema strings).acceptInvite is race-safe — both adapters use atomic transactions (better-sqlite3 immediate transaction; pg BEGIN + SELECT ... FOR UPDATE).now: () => Date) for deterministic tests.npm install
npm run build npm test
Tests cover (142 + 1 conditional):
expires_at instant, both adaptersTenantPairError code coverageTENANT_PAIR_TEST_PG_URL/DATABASE_URL points at a reachable database and is skipped otherwise (never false-fails)Run the cross-adapter parity suite against a real Postgres:
TENANT_PAIR_TEST_PG_URL=postgres://user:pass@host:5432/db npm test
Foundation build. Reviewed (Cold-Cross-Review + MCP Factory Reviewer + Tester) — all HIGH/MEDIUM findings fixed. tsc clean (strict), 142 tests green (+1 Postgres-conditional skip). Prod dependency tree carries 0 known advisories (npm audit --omit=dev).
StudioMeyer is an AI and design studio based in Palma de Mallorca, working with clients worldwide. We build custom websites and AI infrastructure for small and medium businesses. Production stack on Claude Agent SDK, MCP and n8n, with Sentry, Langfuse and LangGraph for observability and an in-house guard layer.