Gemmein
MCP server for coding agents building on Gemmein, the backend for web and mobile AI apps. It gives the agent the docs as tools and runs live isolation checks against the server-enforced access rules. Runs locally with npx -y @gemmein/mcp.
Documentation
MCP server
@gemmein/mcp gives your AI coding tool Gemmein's guide, SDK reference, rule and error explainers, and a live check of your app's safety rules, as tools inside the editor. It helps your agent use @gemmein/sdk correctly, then checks the result.
Set it up
Claude Code:
claude mcp add gemmein -- npx -y @gemmein/mcp
Cursor, or any client that takes an mcpServers block:
{ "gemmein": { "command": "npx", "args": ["-y", "@gemmein/mcp"] } }
The server is read-only against anything live: it cannot touch live data, people or config. Its one live check runs only in a development environment. There it creates temporary test sessions and writes, reads and deletes its own test records. Nothing it creates persists, and live environments refuse it.
What your agent gets
- guide: the full builder's guide, covering the auth flow, the seven safety rules, record shapes, links, uploads, contention and payments.
- reference: every SDK method, with its signature, return shape and error codes.
- search_docs: targeted search over both, when the agent needs one fact.
- explain_rule: what a safety rule allows, what it suits and the mistakes to avoid, or a summary of all seven for planning.
- explain_error: what a
GemmeinErrorcode means and what to do about it. - validate_collection_name: catches a misnamed collection before every read starts returning empty results.
- explain_relay: give it a
gemmein/relays/<name>.jsondefinition and it returns the sentence the dashboard would show, or the one error that names the bad field. It works offline for all eleven actions:write_record,grant_access,revoke_access,grant_credits,email_person,call_url,fulfil_product,refund_product,grant_plan,revoke_planandstart_run. - reaffirm_template: the CI test script, ready to copy.
- check_integration: runs your isolation and access checks live against your own app and returns structured pass/fail. Details below.
check_integration
check_integration runs the same checks as the CI test script, from inside your agent while it builds. It checks that anonymous access is refused where it must be and that collection names are valid. With your development secret key, it also checks isolation between two people, using two temporary test sessions. The result comes back as structured pass/fail, so the agent fixes what it finds before the app goes live.
It catches the bug that passes with one person and breaks with two: everyone ends up on the same record, which a single-person test never shows. Apps talk to Gemmein in JSON through an API that enforces the safety rules. There is no query language, no enumerable schema and no raw data layer, so attacks that start by mapping the database have nothing to work with. The safety rules are the part to test, and this checks them.
Pass your pk_ public key to run the anonymous checks. The isolation check between two people also needs an sk_dev key: the development-only secret key you create in your dashboard. An sk_dev key works only against a development environment: it reaches no real people's data, runs behind the same rules and rate limits as everything else, and the server refuses it on a live environment. Keep it in server environment variables like any secret. sk_live keys are refused for test sessions.