Reference MCP server demonstrating mcp-tenant-pair (12 tools, stdio): pair lifecycle + bi-temporal shared state + DSGVO Art.17 erasure
Inferred from the transports this listing declares (stdio). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.
Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.
Read out of the source npm actually ships, at scan time. The package was never executed. Tools registered dynamically at runtime, or hidden inside bundled or minified code, can be missed — so this is a floor on the tool surface, not a complete census of it.
create_pairCreate a new pair. The creator becomes owner. Returns pairId and the first invite token.Create a new pair. The creator becomes owner. Returns pairId and the first invite token.
No input schema was published for this tool.
invite_memberGenerate an invite token. Only an active member of the pair may invite. Caps pending invites per pair.Generate an invite token. Only an active member of the pair may invite. Caps pending invites per pair.
No input schema was published for this tool.
accept_inviteRedeem an invite token to join a pair. Idempotent rejection on double-accept and expired tokens.Redeem an invite token to join a pair. Idempotent rejection on double-accept and expired tokens.
No input schema was published for this tool.
list_membersList all active members of a pair (excludes members who left or were kicked).List all active members of a pair (excludes members who left or were kicked).
No input schema was published for this tool.
set_member_preferencesSet a per-user preference (e.g. allergy, taste). Only readable by the same member via get_member_constraints.Set a per-user preference (e.g. allergy, taste). Only readable by the same member via get_member_constraints.
No input schema was published for this tool.
get_member_constraintsRead per-user state. A member can only read their own state; cross-member reads are not exposed.Read per-user state. A member can only read their own state; cross-member reads are not exposed.
No input schema was published for this tool.
get_shared_stateRead shared state for the entire pair (default namespace). All members can read.Read shared state for the entire pair (default namespace). All members can read.
No input schema was published for this tool.
set_shared_stateWrite shared state. Bi-temporal: previous active row gets valid_to, new row appended.Write shared state. Bi-temporal: previous active row gets valid_to, new row appended.
No input schema was published for this tool.
resolve_conflictsResolve pending conflicts using LWW (default) or manual. Idempotent: re-running on a clean state is a no-op.Resolve pending conflicts using LWW (default) or manual. Idempotent: re-running on a clean state is a no-op.
No input schema was published for this tool.
kick_memberRemove a member from a pair. Only the owner may kick. Owner cannot kick themselves.Remove a member from a pair. Only the owner may kick. Owner cannot kick themselves.
No input schema was published for this tool.
leave_pairVoluntarily leave a pair. Sets left_at; shared state remains for other members.Voluntarily leave a pair. Sets left_at; shared state remains for other members.
No input schema was published for this tool.
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.DSGVO 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.
No input schema was published for this tool.
12 of 12 tools published a description.
Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.
Reference MCP server demonstrating mcp-tenant-pair (12 tools, stdio): pair lifecycle + bi-temporal shared state + DSGVO Art.17 erasure
Linked names open Forge’s index of every entry observed exposing that tool. Browse all indexed tools.
The crawl stopped at the 60-package limit. The rest of the tree was never resolved.
36 more resolved packages are not drawn here (display cap: 24). Every dependency carrying an advisory is drawn regardless of the cap. Full inventory (CycloneDX SBOM)
71 declared dependencies never landed in the tree. They are missing from Forge's resolution, not from the package.
+59 more not listed. The counts by reason above cover all of them.
Not followed: peerDependencies. This tree covers runtime dependencies only, so anything those pull in was never resolved.