MCP Tenant Pair MCP server
Multi-user tenancy library for MCP servers. Pairs, groups, bi-temporal shared state, DSGVO erasure.
0 stars297 downloads/wk
Reviews
Write oneNobody has reviewed MCP Tenant Pair yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
MCP Tenant Pair tools (12, 3 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
accept_inviteRedeem an invite token to join a pair. Idempotent rejection on double-accept and expired tokens.
create_pairwrite actionCreate a new pair. The creator becomes owner. Returns pairId and the first invite token.
forget_memberDSGVO Art. 17 right-to-erasure: hard-delete the member's per-user state (allergies, dietary preferences, etc.) and null their display name. The membership trace (left_at marker) is retained for audit. Idempotent.
get_member_constraintsRead per-user state. A member can only read their own state; cross-member reads are not exposed.
get_shared_stateRead shared state for the entire pair (default namespace). All members can read.
invite_memberGenerate an invite token. Only an active member of the pair may invite. Caps pending invites per pair.
kick_memberwrite actionRemove a member from a pair. Only the owner may kick. Owner cannot kick themselves.
leave_pairVoluntarily leave a pair. Sets left_at; shared state remains for other members.
list_membersList all active members of a pair (excludes members who left or were kicked).
resolve_conflictsResolve pending conflicts using LWW (default) or manual. Idempotent: re-running on a clean state is a no-op.
set_member_preferencesSet a per-user preference (e.g. allergy, taste). Only readable by the same member via get_member_constraints.
set_shared_statewrite actionWrite shared state. Bi-temporal: previous active row gets valid_to, new row appended.
Public scan report
scanner v0.1.10 · 2026-11-02 · same rubric, same numbers if you re-run it
- Code scan5 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 1 days ago15/15
- Maintainer identitynamespace and repository owner differ4/10
How MCP Tenant Pair compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 86/100
- higher than 72% of 48,243 servers
- Tools
- 12
- the typical server has 7
- Tools that change things
- 25%
- typical: 0%. Fewer write tools means less an agent can break
- Downloads a week
- 297
- more than 81% of 12,306 servers with a package
What its tools let an agent do: 7 read · 1 create · 3 change · 1 send or post
Release history: 2 versions in the registry since 2026-08-19, latest 2026-11-01, typically one every 74 days.
Install MCP Tenant Pair in Claude Code, Cursor or VS Code
Runs npx -y mcp-tenant-pair-demo on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add tenant-pair -- npx -y mcp-tenant-pair-demo
What the publisher says
From the MCP Tenant Pair repository's README, as published. We do not edit it. Read it on GitHub
<!-- studiomeyer-mcp-stack-banner:start -->
Part of the StudioMeyer MCP Stack — Built in Mallorca 🌴 · ⭐ if you use it
<!-- studiomeyer-mcp-stack-banner:end -->
mcp-tenant-pair
<!-- badges --> <!-- /badges -->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)A note from us
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.
Why this exists
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.
5-Minute Quickstart
Library
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);CLI
npx mcp-tenant-pair-cli pair create --member-id alice
npx mcp-tenant-pair-cli pair invite --pair-id <id> --member-id alice
npx mcp-tenant-pair-cli state set --pair-id <id> --member-id alice --key tonight --value pizza
npx mcp-tenant-pair-cli state get --pair-id <id>Demo MCP server
node packages/demo/dist/server.js
# or via stdio in your MCP client configReads MCPTENANTPAIR_DB env (default :memory:).
Tools (12)
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
MCP Tenant Pair: common questions
- Is MCP Tenant Pair MCP server safe?
- Yes, by our scan: it is graded A (86/100). Read the MCP Tenant Pair safety report
- How do I install MCP Tenant Pair?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does MCP Tenant Pair need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is MCP Tenant Pair maintained?
- The last commit was 4 days ago (2026-11-01). The latest release is v0.1.3.
- What can I use instead of MCP Tenant Pair?
- Servers from other publishers that do the same job: Concord MCP server.
- How does MCP Tenant Pair compare with other MCP servers?
- safety score 86/100 (higher than 72% of 48,243 servers); tools 12 (the typical server has 7); tools that change things 25% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to MCP Tenant Pair
Same job from other publishers: the closest match first, then the best rated.
- Concord MCPCross-harness communication and shared work-state for AI coding agents.not reviewedEstablishedA