Perkss
Sign in

Model Context Protocol · coming soon

Perkss, as tools an agent can call.

Thirteen tools an assistant can call to set a programme up: the company, the mechanics, the stores, the pass and the join screen. Configuration, not transactions.

Connect

One config block.
No wrapper to write.

Point any MCP client at the server and sign in. Tools, schemas and scopes are discovered on connect - there is no key to paste and none to leak.

mcp.json
{"mcpServers":{"perkss":{"type":"http","url":"<published at launch>"}}}
  • TransportStreamable HTTP
  • AuthOAuth · no API key
  • Tools13 · read and write split
  • Scopesonboarding · config:read · config:write
  • Endpoint published when the server ships

Tools

Thirteen tools,
typed and scoped.

A strict read and write split, scoped per connection. Nothing in v1 deletes, and every mechanics change asks first.

Read

6 tools
  • get_onboarding_status

    Where setup is, and the next stepconfig:read

  • get_program

    The programme and its mechanicsconfig:read

  • get_brand

    Name, colours and logoconfig:read

  • get_wallet_design

    How the pass looksconfig:read

  • get_registration_screen

    What a member sees when joiningconfig:read

  • get_stores

    Locations, and which await a POS loginconfig:read

Write

7 tools
  • create_company

    Once, at the start of a sessiononboarding

  • create_program

    Cashback or stamps, as a draftconfig:write

  • update_program

    Mechanics, behind a confirmationconfig:write

  • create_store

    Name and address; no credentialsconfig:write

  • update_brand

    Read back before it is writtenconfig:write

  • update_wallet_design

    Colours and artwork on the passconfig:write

  • update_registration_screen

    The join screen a member lands onconfig:write

Scopes are granted at connect. A read-scoped session cannot invoke a write tool, whatever the client claims.

A run

Onboarding, done
by the agent.

One instruction becomes a configured draft. Going live stays a deliberate step you take yourself, in the CMS.

Prompt

Set up a stamp card for the shop - tenth coffee free, and a wallet pass to match.

Tool calls made during one setup run
#TOOLRESULT
1get_onboarding_statusstep: company
2create_companycompany created
3create_programstamps · goal 10
4create_storeawaiting POS login
5update_wallet_designpass design set

Draft ready · review and activate in the CMS

The rest of it

Built for models,
not scraped by them.

Skills

Packaged multi-step actions - launch a programme, run a win-back - as one call.

Agent-readable docs

Every page as clean markdown, plus llms.txt and an OpenAPI spec.

Every MCP client

Anything spec-compliant connects. The roster below is what we run in CI.

Clients

4 tested · 3 planned
  • Claude CodeTerminal, project-scopedTested
  • Claude DesktopConfig in mcp.jsonTested
  • CursorComposer and agent modeTested
  • VS CodeCopilot agent modeTested
  • Codex CLIOpenAI, config via TOMLPlanned
  • WindsurfCascadePlanned
  • ZedContext serversPlanned

Any spec-compliant client connects - these are the ones we run in CI.

Also for developers

The same API, by hand.

Partner API

Eighteen endpoints, OAuth 2.0, idempotency required on every money write.

TypeScript SDK

The same calls, typed, generated from the spec the docs are built from.

Wallet passes

A pass link per customer, updated whenever their balance moves.

Let an agent set it up.

The contract is locked. The server follows.

Read the docs