Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Creem

FreeMaintained

Official TypeScript SDK and MCP server for the Creem API

GitHubEmbed

About

Official TypeScript SDK and MCP server for the Creem API

README

Creem

The Merchant of Record for modern software teams

Sell software globally. We handle taxes, compliance, payments, and payouts.

Website · Docs · API Reference · Discord · Twitter

npm version MIT license Discord

What is Creem?

Creem is a Merchant of Record (MoR) that lets software companies sell globally without worrying about sales tax, VAT, compliance, or payment infrastructure. We act as the legal seller of your software, so you can focus on building.

What we handle for you:

  • 🌍 Global tax compliance across 140+ countries (US state taxes, EU VAT, UK VAT, and more)
  • 💳 Payment processing with optimized checkout experiences
  • 🔄 Subscription management with trials, upgrades, downgrades, and dunning
  • 💸 Automated payouts to your bank account
  • 📊 Revenue analytics and reporting
  • 🛡️ Fraud protection and chargeback handling
  • 🏪 Storefronts for no-code product pages
  • 🤝 Affiliate programs with built-in tracking and payouts

This repository contains Creem's maintained public SDK, CLI, integrations, UI packages, webhook types, examples, and documentation.

Packages

SDK and developer tools

Package Description
creem Official generated TypeScript SDK with full API coverage and an MCP server.
@creem_io/cli Command-line access to Creem products, customers, subscriptions, checkouts, transactions, and discounts.
@creem_io/webhook-types Shared webhook entity/event types, type guards, and parsing utilities.
@creem_io/ingestion Buffered, retry-safe usage-event ingestion with metering strategies for usage-based billing.

Integrations

Package Description
@creem_io/better-auth Better Auth plugin for customers, subscriptions, and webhooks.
@creem_io/convex Convex billing component with backend helpers and React/Svelte bindings.
@creem_io/nextjs Next.js checkout, customer portal, and webhook helpers.
@creem_io/strapi Strapi 5 plugin for products, subscriptions, checkout, and webhook forwarding.

Checkout UI

Package Description
@creem_io/embed Framework-agnostic modal and inline checkout embedding.
@creem_io/react React components and hooks for embedded checkout.
@creem_io/svelte Svelte components and actions for embedded checkout.
@creem_io/vue Vue 3 components and composables for embedded checkout.

Package documentation and installation instructions live in each linked package directory. The complete product and API documentation is at docs.creem.io.

Quick start

Install the recommended TypeScript SDK:

npm install creem

Create a checkout:

import { Creem } from "creem";

const creem = new Creem({
  apiKey: process.env.CREEM_API_KEY,
});

const checkout = await creem.checkouts.create({
  productId: "prod_123",
  successUrl: "https://yourapp.com/success",
});

console.log(checkout.checkoutUrl);

See the SDK README for resources, standalone functions, retries, error handling, and MCP setup. Framework users can start from the relevant integration or UI package above.

Repository structure

packages/
├── sdk/                       # creem; generated SDK + MCP binary
├── cli/                       # public CLI
├── core/                      # future shared primitive
├── webhook-types/             # temporary until absorbed into core
├── ingestion/                 # usage-event ingestion toolkit
├── integrations/
│   ├── better-auth/
│   ├── convex/
│   ├── nextjs/
│   ├── strapi/
│   └── framer/                # Framer plugin
├── ui/
│   ├── embed/
│   ├── react/
│   ├── svelte/
│   └── vue/
├── docs/                      # documentation application
├── examples/                  # standalone, workspace-excluded examples
├── templates/                 # future cloneable templates
└── creem-io/                  # frozen deprecated exception

Distribution

Creem publishes and deploys artifacts from this repository to the following destinations:

Source Artifact destination
packages/sdk, packages/cli, packages/webhook-types, packages/ingestion Public npm packages
packages/integrations/{better-auth,convex,nextjs,strapi} Public npm packages
packages/ui/* Public npm packages
packages/integrations/framer Framer Marketplace plugin
packages/docs docs.creem.io, deployed through the Mintlify GitHub App
packages/examples/* Standalone examples deployed by their users, where applicable
packages/templates/* Future cloneable source templates; no release target yet
packages/creem-io Frozen deprecated npm package

Each package README owns its exact build and delivery procedure. The root package-policy.json classifies packages for repository governance checks; it is not deployment configuration.

The README-only packages/creem-sdk, packages/better-auth, and packages/nextjs directories temporarily guide old repository backlinks to their new locations. Their review/removal is scheduled in OSS-51.

Filesystem paths and npm identities are deliberately independent. Moving a package into a category does not rename its published npm package.

Deprecated SDK

creem_io is frozen, excluded from normal CI and Changesets, and unsupported, including for security fixes. Do not use it for new projects. Migrate to the maintained creem package.

Development

Prerequisites

  • Node.js 24 or newer
  • pnpm 11 (use the exact version declared in package.json)

Setup and checks

git clone https://github.com/armitage-labs/creem.git
cd creem
pnpm install --frozen-lockfile

pnpm build
pnpm test
pnpm typecheck
pnpm lint
pnpm format:check

Filter to a package for local iteration:

pnpm --filter @creem_io/nextjs build
pnpm --filter @creem_io/nextjs typecheck
pnpm --filter @creem_io/nextjs test

The root CI workflow validates package policy, built tarball contents and entrypoints, build, typechecking, tests, lint, formatting, workflow paths, and plugin discovery. Changesets creates release pull requests and publishes eligible public packages with npm provenance after repository policy passes.

The creem SDK is generated from packages/sdk/openapi.json with Speakeasy. Do not hand-edit generated SDK source; see the contributing guide.

Contributing and community

Read CONTRIBUTING.md before opening a pull request. By participating, you agree to the Code of Conduct.

License

This repository and its actively maintained public packages are licensed under the MIT License. The frozen deprecated SDK retains its historical license file.


Creem
Built with 🍑 by the Creem team

from github.com/armitage-labs/creem

Install Creem in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install creem

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add creem --env CREEM_API_KEY="" -- npx -y creem

Step-by-step: how to install Creem

FAQ

Is Creem MCP free?

Yes, Creem MCP is free — one-click install via Unyly at no cost.

Does Creem need an API key?

Yes, it requires environment variables: CREEM_API_KEY. Unyly injects them into the config during install.

Is Creem hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Creem in Claude Desktop, Claude Code or Cursor?

Open Creem on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Changes

Versions and requested access over time.

  • New version published
  • New version published

Related MCPs

Compare Creem with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs