THE OPERATING MOAT FOR LIVE-SERVICE GAMES
socialgraffa gives any studio the economy tuning and community insight that used to belong only to the big operators — retention, funnels and in-game economy your whole team can read. Your LiveOps engineers get a CLI + MCP they love.
Scrollsgf for your agents.Know whether your economy is holding, whether players are coming back, and where they drop out — without waiting on a data team.
Free under 10k monthly active players — no card, no admin in the loop. Your engineers can even bootstrap the studio tenant from the CLI.
# No account yet? Create a studio tenant and its first key $ npm install -g socialgraffa $ sgf signup acme --email you@acme.com --password ******** --name "Acme Games" $ sgf login --local --key sgf_... # The numbers, not a dashboard $ sgf overview --game <gameId> --from 2026-08-01 --json
Works with: Claude Code · Cursor · Cline · Windsurf · Aider · Codex · any MCP client
Last year's biggest hybrid-casual hit drew ~120 clones in twelve months. None caught it. In this market incumbents don't get beaten by better ideas — they get beaten by bigger operators who tune the economy and run the community better. That operator's edge used to need a data team the challengers couldn't afford. socialgraffa hands it to every studio: see exactly where your currency is minted and burned, which cohorts churn, and where players drop out — in language your whole team reads, not an analyst's data model. Your LiveOps engineers get a CLI and MCP server they love.
Economy tuning, retention and community — in plain language for the people who own them. And when your engineers want the raw stream, it's one command away.
Currency source, sink and net flow for soft and hard currency — catch inflation and broken sinks before they wreck monetization. The moat the cloners don't have.
D1 / D7 / D30 return by cohort and platform, plus DAU/MAU stickiness — so your community team sees instantly whether the last LiveOps change held players.
Where do players drop out? Define a funnel once — tutorial_start → level_1 → purchase — and watch conversion over any window.
New players and sessions at a glance, live realtime, and the paths players actually take through your game.
Server-side ingest with a scoped per-game key, and a dropped-as-bot event that fails loudly instead of faking a 200. Clean data you can trust.
sgf init --agent-schema emits every command, flag, type and error code, so your agents never guess. If it's not in the schema, it doesn't exist.
Sign up keyless, or log in with an existing key. sgf me tells you which tenant you're about to write to.
sgf signup acme --email you@acme.com --name "Acme Games"
sgf login --local --key sgf_...
Overview, retention, funnels and economy — all read-only, all --json. The machine surface is a first-class citizen.
sgf overview --game <gameId> --from 2026-08-01
sgf funnel <funnelId> --from 2026-08-01
Mint a scoped ingest key, then send with a stable --player so agents never collapse into one player.
sgf key create ingest-key --scope ingest --game-id <gameId>
sgf ingest --game <gameKey> --event level_complete --player player_42
Game monetization has three layers. Most tools drop you straight at Offers — pricing, FOMO, bundling. That's the wrong end. Durable revenue is made deeper, in the core loop and the economy balance beneath it. That's exactly the layer socialgraffa instruments.
Where every currency is minted and burned.
Whether the economy holds as players climb.
Pricing and packaging on top of a healthy loop.
Your agent reads the live economy snapshot from /api/v1/advisor/economy and tells you which lever to pull — faucet, sink or scarcity — grounded in a 13-concept economics corpus. Not an AI copilot bolted onto an offer wall: the loop itself, run by your agents.
Point Claude Code, Cursor, Cline, Windsurf — any MCP client — at socialgraffa and your agent gets tools
covering stats, retention, funnels, economy, games, identity, server-side ingest and billing checkout. A tool
result and --json output are the same bytes.
# Local, for Claude Code / Cursor / Cline / Windsurf $ sgf mcp-serve # Remote — zero install, Bearer your API key URL: https://mcp.socialgraffa.com/sse Auth: Authorization: Bearer sgf_...
$0.01 per monthly active player — roughly a fifth of what Amplitude charges. No per-seat tax, unlimited agent keys, free under 10k MAU. We arm the challengers, not the incumbents.
An agent authenticates with its tenant key and gets back a checkout URL: sgf billing checkout studio
Failures carry a stable code and a distinct exit code. Once published, codes are never reworded.
| Exit | Meaning | What to do |
|---|---|---|
| 2 | usage | fix the call, do not retry |
| 3 | auth | fix the credential |
| 4 | permission | do not retry, escalate |
| 5 | not found | check the id |
| 6 | validation | fix the payload |
| 7 | rate limited | back off and retry |
| 8 | network | retry is reasonable |
| 9 | server | retry once, then report |
Yes. sgf signup is keyless — it works before you have a credential — and creates a studio tenant plus its first API key with no card and no admin in the loop. The one step an agent can't do is pay: a human opens the Stripe Checkout URL once to upgrade.
Those hand you charts and leave the operating to you. socialgraffa is built around the operator's job — economy source/sink tuning, retention by cohort and the funnels players drop out of — in plain language for the people who own them, at a tenth of Amplitude's price. And it's agent-first end to end, so your LiveOps engineers can drive the same numbers from the sgf CLI or an MCP client as structured JSON. Not a chat copilot bolted onto a dashboard.
--player?Anonymous identity is derived from IP and user-agent. Agents share both — one CLI version is one user-agent, and agents often share an egress IP — so without a stable --player id every agent behind that IP collapses into a single player. It cannot be backfilled.
A discarded event still answers HTTP 200 — the ingest endpoint returns {"beep":"boop"} when it drops an event as a bot. The CLI treats that as a hard failure with a hint, so an agent never believes a dropped event succeeded.
Run sgf init --agent-schema. It returns every command, argument, flag, type and the full list of error codes — generated from the same table that drives the parser, help text and MCP tools, so it cannot drift. If it's not in the schema, it doesn't exist.
Free under 10k players. Or let your engineers wire it up in one install — server-side events and queries for retention, funnels and economy, all as structured JSON.
$ npm install -g socialgraffa $ sgf overview --game <gameId> --from 2026-08-01 --json
Everything the dashboard shows, your agents read as ruled tables — or as structured JSON with
--json. Real prod numbers, no browser, no analyst in the loop. One install and
sgf is your economy cockpit.
Step-by-step conversion read from real prod events — ruled tables with drop-off bars at every stage. The same numbers your agents get from --json.
Your engineers and agents run the instrumentation — but everything they capture lands in a complete, real-time dashboard. Currency source/sink, retention cohorts, funnels, live players and journeys, all in one place. No terminal required, no analyst in the loop.
Currency source, sink and net — track every gem and coin flowing in and out, per platform, day by day.