Skip to main content

Introduction

The Alguna Model Context Protocol (MCP) server lets an AI assistant work inside your Alguna account: look up customers and subscriptions, create products, plans and quotes, issue invoices, define metrics and ingest usage — through natural language, using the same operations as the Public API. Use it when you want an assistant to do billing work for you (or your team) rather than writing an integration.

What is MCP?

Model Context Protocol is an open standard that lets AI assistants connect to external systems through a defined set of tools and resources. Alguna's server provides:
  • Direct account access — query and change your Alguna data without writing code
  • Live data — every tool call reads or writes your account as it is now
  • Core billing coverage — customers, products, pricing, plans and bundles, subscriptions and their versions, invoices, billable metrics and events
  • Role-bound access — connect with OAuth and the assistant can only do what your Alguna role allows, re-checked on every request; revoke the connection at any time
Actively evolving. The Alguna MCP server is under active development. Tools and behaviour may change as coverage expands. Feedback and bug reports go to support@alguna.io or your shared Slack channel.

Prerequisites

  • An Alguna account whose role allows whatever the assistant should be able to do. With OAuth the assistant inherits your permissions exactly; with an API key it gets the full tool surface.
  • An MCP client that supports remote servers — Claude, Cursor, ChatGPT, or any client that can add a custom connector or run mcp-remote.
Actions cannot be undone. Anything the assistant does through a tool — creating customers, subscriptions or invoices, ingesting events, cancelling a subscription — is a real change in your account, and there is no automatic rollback.You are responsible for reviewing what the assistant is about to do, verifying the data it is creating or modifying, and understanding the implications. Keep human-in-the-loop confirmation on for every tool call, and develop against sandbox first.

Connect

The server URL is:
The server supports OAuth with dynamic client registration, so most clients connect without you handling an API key. The connection signs in as you, is limited to what your role allows on every request, and can be revoked at any time.
1

Open the MCP page in the dashboard

Go to Settings → Connections → MCP and click Connect a client. It shows the server URL above and the clients currently connected.
2

Add a custom connector in your AI client

In your client, add a new remote MCP server (the wording varies — “custom connector”, “remote MCP server”, “add integration”) and paste the server URL.
3

Sign in and approve

The client redirects you to Alguna to sign in and approve the connection. Once approved it appears under Settings → Connections → MCP, where you can disconnect it later.

With an API key

Clients that cannot do OAuth against a remote server can bridge through mcp-remote, passing an API key in the Authorization header. Requires Node.js 20 or later.
Replace your-api-key-here with a key from Settings → Connections → Developers → API keys.
API keys are not scoped to a role. A connection authenticated this way gets the full tool surface, unlike an OAuth connection, which is bounded by your role and re-checked on every request. Treat the key as a secret: keep it in environment variables or your client’s secret store, never in a committed config file.

Available tools and resources

The server covers the core of the billing platform: customers, products and pricing, plans and bundles, subscriptions and their versions, invoices, and usage metering. It is a curated subset of the Public API, not a mirror of it — wallets, credits, credit notes, refunds, payments, tax and insights are available over the API but not yet as tools.
If you need a tool that is missing, or a tool behaves incorrectly, contact us on Slack or at support@alguna.io.
Tool names below are the identifiers your client shows when it asks you to approve a call.

Customers

See Customer management.

Subscriptions

See Subscriptions.
See Versioning.

Products and pricing

See Configure products.
See Plans and Pricing models.

Invoicing

See One-off invoices.

Usage metering

See Define metrics and Send usage events.

Resources

The server also publishes reference documents an assistant can read to understand your data before acting: Clients that support MCP resources load these automatically as context.

How to use it

Once connected, talk to Alguna through your assistant in plain language. The assistant picks the tool, fills in the parameters and — if you keep confirmations on — shows you the call before it runs.

Read first

Start with lookups to see how the assistant maps your words onto tools:

Then write

Give the assistant the same facts you would put in an API request. Missing required fields are asked for.

Chain operations

Multi-step requests work, and the assistant carries IDs between calls:

Good habits

Give identifiers

Customer, subscription and invoice IDs (or customer aliases) remove ambiguity and save a lookup round-trip.

Ask for filters

"Overdue invoices for customer X" is one call; "all invoices" is many pages.

Confirm before writing

Read the proposed tool call before approving it. Writes are real and are not rolled back.

Know the boundary

The tool set is a subset of the API. If no tool exists for what you need, the API may still support it.

Errors

Tool failures return the API's error message. Common ones:
  • Authentication failed — for OAuth, reconnect from Settings → Connections → MCP; for an API key, check that the key is correct and has not been revoked
  • Permission denied — your role does not allow the action; OAuth connections are bounded by your role and re-checked on every request
  • Not found — the ID or alias does not exist in this environment (sandbox and production are separate)
  • Validation error — a required field is missing or a value is invalid; the message names the field. See Errors
  • Rate limited — wait, then retry

Support