Gemmein MCP Server
OfficialA read-only-ish toolkit that hands a coding agent the entire Gemmein contract — guide, SDK reference, rule/error relay explainers — plus a live check of an app's access boundaries.
guide — the full builder's guide: fit verdicts (FITS / FITS EXCEPT gaps / DOESN'T FIT), in/out-of-scope map, auth flow, seven safety rules, record shapes, links, uploads, contention, payments, keys, sync, go-live, relays, AI tools, credits.
reference — every @gemmein/sdk method with exact signature, return shape, and stable error-code table.
search_docs — targeted lookup across guide + reference when only one fact is needed.
explain_rule — any of the seven rules (private, shared, admin_write, public_read, community, addressed, direct) or the all-seven cheat-sheet, including what no rule supports.
explain_error — what a GemmeinError code means and the exact next step; omit the code to list all.
validate_collection_name — catches invalid collection names before they break reads at module load.
explain_relay — validates a gemmein/relays/.json definition offline, returning the dashboard sentence or the single refusal naming the field.
reaffirm_template — the ready-to-edit CI harness that re-proves boundaries on every deploy.
check_integration — runs live boundary checks: Tier A (public key: name validity, anonymous read/write refusals, public readability) and Tier B (dev secret: cross-user isolation proof via throwaway test users and a deleted probe record; sk_live refused).
Runs standalone via npx -y @gemmein/mcp with no environment variables; MIT-licensed and does not use the Gemmein engine.
This server has a remotely hosted endpoint. Open its connector listing for connection details, authentication requirements, and setup instructions:
gemmein
The distribution home of the Gemmein CLI — the
gemmein package on npm, and the release record of the local engine it runs.
Gemmein is the trustworthy backend for AI-built apps: accounts, data,
payments — with the boundaries enforced by the platform, not by your app's
code. The CLI brings that to your machine: npx gemmein init shapes your
product's boundaries in plain language, and gemmein dev runs a real local
backend that enforces them while you build.
MCP server
@gemmein/mcp gives a coding agent the whole Gemmein contract as tools — the
builder guide, the SDK reference, rule and error explainers, and a live check
of an app's access boundaries. Eight tools are read-only. check_integration
runs live checks against your app; with a development secret key it also
writes in the development environment: it creates two test people and a
probe record, deletes the record, and signs the test people out of earlier
sessions.
Install for Claude Code:
claude mcp add gemmein -- npx -y @gemmein/mcpInstall for Claude Desktop, Cursor, or any client that takes an mcpServers
block:
{
"mcpServers": {
"gemmein": {
"command": "npx",
"args": ["-y", "@gemmein/mcp"]
}
}
}No environment variables are required to run it.
Tools it serves:
guide— the full builder's guide, covering auth flow, the seven safety rules, record shapes, links, uploads, contention, payments, plus the dashboard steps read live from docs.gemmein.com/llms-dashboard.txt.reference— every SDK method, exact signature, return shape, and error code.search_docs— targeted search over both, when it needs one fact.explain_rule— any rule's contract, what it's right for, and the mistakes to avoid, or a cheat-sheet of all seven at planning time.explain_error— what aGemmeinErrorcode means and exactly what to do about it.validate_collection_name— catches a misnamed collection before every read starts returning empty results.explain_relay— agemmein/relays/<name>.jsondefinition in, the sentence the dashboard would show out, or the one refusal naming the field; offline, over the eleven verbswrite_record,grant_access,revoke_access,grant_credits,email_person,call_url,fulfil_product,refund_product,grant_plan,revoke_planandstart_run.reaffirm_template— the CI harness, ready to copy.check_integration— runs an app's isolation and access checks live against itself and hands back structured pass/fail.
The server's full source is in mcp/ (MIT). It is a standalone
Node package: cd mcp && npm install && npm run build, then run
node dist/index.js. It does not use the Gemmein engine.
Docs: docs.gemmein.com/mcp.
Related MCP server: Convex MCP server
Claude plugin
plugins/gemmein/ is a Claude plugin that bundles the
MCP server above, pinned to an exact version, with one skill,
build-on-gemmein: it has Claude read the Gemmein guide, ask what the app
is for, say whether Gemmein fits, and then follow the first-hour path
(npx -y gemmein dev, collections, npx gemmein sync, going live). This
repository is also a plugin marketplace. In Claude Code:
/plugin marketplace add gemmeinhq/gemmein-release
/plugin install gemmein@gemmeinWhat the plugin runs, sends and stores is in
plugins/gemmein/README.md.
How the launcher works
The npm package you install is a small launcher, published as readable
source — what you see in shim/ is exactly what runs on your machine.
On first run it downloads the Gemmein engine, verifies it against SHA-256 hashes pinned inside this package, caches it locally, and runs it. After that one download, everything works fully offline. If a downloaded file ever fails verification, the launcher refuses to run it.
shim/— thegemmeinnpm package (plain JS, no build step)manifest/releases.json— every engine release and its file hashes
Licensing
Two licenses, on purpose:
The MCP server (
mcp/, published as@gemmein/mcp) is MIT.The npm launcher (
shim/) is MIT — read it, audit it, it's yours.The downloaded engine is proprietary, under the Gemmein Engine License — you can run and cache it freely for building against Gemmein (offline once cached, even if a version is retired), but not redistribute or extract it. It's also served at downloads.gemmein.com/engine/LICENSE.
Using it
npx gemmein initDocs: docs.gemmein.com · Questions: hello@gemmein.com
Available Tools
9 toolscheck_integrationAIdempotentInspect
Call after wiring the app to Gemmein and before telling your human it is done — and again before go-live. Runs the reaffirm boundary checks live against the caller's own app; returns structured pass/fail (structuredContent: checks, notes, failedCount, passed). Tier A (public pk_ key only): the collection name is valid, anonymous reads and writes of a private collection are refused, an optional public collection reads as its rule intends — safe against any environment, live included. Tier B (add the sk_dev secret key): proves one user cannot read another's private records, using two throwaway test sessions in the DEV environment. sk_live is refused by design — never pass a live secret to any tool; dev and live enforce the same rules, so isolation proven in dev holds in live. The only writes anywhere are Tier B's own probe records in the caller's dev environment, deleted at the end of the check. A failed check means the app's assumptions drifted from its rules — fix before shipping.
Inputs: publicKey (required), privateCollection (required), apiUrl, secretKey, +3 more.
explain_errorARead-onlyInspect
Call the moment a GemmeinError reaches you (err.code: conflict, forbidden, unknown_collection, invalid_shape, html_not_allowed, …): what the code means and the exact next step — including whether the refusal is final (a forbidden repeats on retry; fix the approach, not the request). Parsed from the installed API reference, so codes match the SDK version the app runs. Call with no code to list every stable code.
Inputs: code.
explain_relayARead-onlyInspect
Call while WRITING or FIXING gemmein/relays/.json — before gemmein sync carries it to the cloud. A relay is one trigger (receiver: a provider's webhook; schedule: a clock; data_change: a record changing) and up to ten actions in Gemmein's own verbs (write_record, grant_access, revoke_access, grant_credits, email_person, call_url, fulfil_product, refund_product, grant_plan, revoke_plan) — Gemmein runs it: receives the event, maps the fields, authorises, carries out the action. Pass the definition JSON; the answer is the English sentence the dashboard shows ("When gocardless-paid receives an event where event_type is confirmed → grant Pro, email the person, call https://…") or the ONE refusal sentence the cloud would answer, naming the field and the fix. Offline and read-only: nothing is created. Two checks run only in the cloud and are stated in the answer (the API's own hosts; the address's resolved network at call time).
Inputs: definition (required).
explain_ruleARead-onlyInspect
Call while DESIGNING a collection — which rule fits this data? — or when a rule refuses something at runtime. One of the seven rules (private, shared, admin_write, public_read, community, addressed, direct) returns its exact access contract, what it is right for, and the mistakes that leak data. Call with no rule for the all-seven cheat-sheet plus the cross-cutting law, including what NO rule supports (team/group/workspace scope, per-user visibility inside a rule) — if the app needs those shapes, that is a fit gap to report to your human, never something to approximate with client-side filtering.
Inputs: rule.
guideARead-onlyInspect
Call this FIRST — before any install, account, or code — when your human asks to build an app on Gemmein, to move an existing app onto it, or whether their app can use it at all. The guide (llms.txt) opens with two doors — starting from an idea with nothing built yet, or already holding an app — and both lead to the same fit assessment: the in-scope map, the out-of-scope list (each item downgrades the verdict; none may be approximated), and the three verdicts you deliver to your human before installing anything — FITS, FITS EXCEPT , or DOESN'T FIT. After the verdict it is the full build contract: auth flow, the seven collection safety rules, record shapes, links/expand, uploads, contention patterns, payments (g.subscriptions.checkout / g.payments.buy), drafts, error philosophy, pricing. It also teaches the keys (server · CLI · sync), gemmein sync and sync --live, go-live and promotion, relays, AI tools defined on the server and run with g.ai.run, and credits.
Inputs: no named parameters.
reaffirm_templateARead-onlyInspect
Fetch this when you wire up the app's CI, or when you hand the finished app to your human: reaffirm.mjs, the ready-to-edit harness that re-proves the app's boundaries against live Gemmein on every deploy (also shipped inside the @gemmein/sdk package). Copy it next to the app, set the CONFIG block, run it in CI. For a one-off check right now, call check_integration — the same checks with no file to install.
Inputs: no named parameters.
referenceARead-onlyInspect
Reach for this while WRITING code against @gemmein/sdk: every method, exact signature, return shape, and the stable error-code table (REFERENCE.md). Use guide for how the model works and whether the app fits at all; use search_docs when you need one fact from either document.
Inputs: no named parameters.
search_docsARead-onlyInspect
Use when one question comes up mid-build ('keyed create', 'ifVersion', 'addressed', 'expand') and reading a full document would waste context. Searches the guide and the API reference; returns matching passages with 3 lines of context either side, at most 6 match blocks per document. Not the tool for the fit verdict — search finds what the docs say, not what Gemmein refuses to support; call guide for that.
Inputs: query (required).
validate_collection_nameARead-onlyInspect
Run at PLANNING time on every collection name you intend to use, before any g.collection(name) call is written. The naming law: lowercase letters, numbers, underscores; starts with a letter; 2-63 characters. A bad name throws from g.collection(name) before any network call — at module load that blanks the whole app with no console error. An invalid name comes back with a suggested fix.
Inputs: name (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 9 tools
Most tools have distinct purposes, and descriptions explicitly route usage (e.g., guide vs reference vs search_docs; reaffirm_template vs check_integration). However, guide/reference/search_docs all provide documentation access, so some overlap remains that could cause hesitation.
Seven tools follow verb_noun snake_case (search_docs, explain_rule, validate_collection_name, etc.), but guide and reference are bare nouns. All names are in snake_case and readable, making this a minor deviation.
Nine tools is well within the 3-15 sweet spot and each maps to a distinct stage of app-building guidance, validation, or checking. No tool feels redundant or missing in count.
The surface covers fit assessment, SDK reference, rule/error explanations, name validation, relay semantics, CI harness setup, and live integration checks. No obvious lifecycle or documentation gap exists for the stated guidance/validation purpose.
Maintenance
Related MCP Connectors
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
The backend and back office for apps your AI writes: accounts, data, payments, content, real-time.
Zero-setup MCP gateway securely connecting AI to your tools with authentication and workflows
Paid remote MCP for persistent AI agent memory, analytics, checkout, and search-readiness.
Related MCP Servers
AlicenseNot gradedqualityBmaintenanceLets you use Claude Desktop, or any MCP Client, to use natural language to accomplish things with Neon.666 npm663MIT
Convex MCP serverofficial
FlicenseNot gradedqualityBmaintenanceConvex’s MCP server lets you introspect tables, call functions, and read/write data seamlessly. Agents can generate one-off queries safely—thanks to Convex’s sandboxed queries, ensuring data integrity. Perfect for AI automation, real-time apps, and dynamic data access.12,774-
Appwrite MCP Serverofficial
AlicenseCqualityAmaintenanceA Model Context Protocol server that allows AI assistants to interact with Appwrite's API, providing tools to manage databases, users, functions, teams, and other resources within Appwrite projects.4972MIT- AlicenseAqualityDmaintenanceOne MCP server for the SaaS back office. Stripe, HubSpot, and Google Sheets exposed as typed, read-only-by-default tools for Claude and any MCP client.11MIT