Skip to content

Use Charm from Claude and ChatGPT (MCP)

Charm ships an MCP (Model Context Protocol) server on top of the public API, so AI assistants like Claude and ChatGPT can read and act on your loyalty program — “how many points does jane@example.com have?”, “give her 500 bonus points”, “list rewards redeemed this week” — using the same guarded endpoints as the REST API.

  • Endpoint: https://charm.appfleece.app/api/mcp (Streamable HTTP)
  • Auth: a Charm API key from Settings → API in the Charm admin — either sent directly as a header, or handed over once through the OAuth consent page, depending on the client.

Browser assistants (claude.ai, ChatGPT): add the endpoint URL as a custom connector — nothing else. The assistant discovers Charm’s OAuth flow on its own and opens a consent page where you paste your API key once; the connector then runs on short-lived tokens derived from that key. Connected assistants are listed under Settings → API → Connected assistants, where one click disconnects them.

Header-capable clients (Claude Code, IDEs, custom MCP clients): send the key yourself:

claude mcp add --transport http charm https://charm.appfleece.app/api/mcp --header "Authorization: Bearer chrm_live_..."
  • Tools mirror the API. Every public API endpoint is exposed as an MCP tool, generated from the same registry — path, query, and body parameters flatten into one tool argument object, so the tools can never drift from the API.
  • Your key’s scopes are the assistant’s capabilities. A read-only key exposes only read tools; granting a write scope adds the matching mutation tools. Revoking the key cuts the assistant off entirely.
  • Same guards as HTTP. Every tool call passes the same scope checks, rate limits, and idempotency handling as a direct API request. Mutations accept an optional idempotency_key argument; without one, each call is treated as a fresh “do this now” instruction.