# Moment MCP connector

The Moment connector lets Claude, ChatGPT, Cursor or the Elaichi Agent create billing customers, raise and void bills, send payment requests, run payment pages and capture payments in Moment, inside each person's own access, with every action logged.

Source: https://elaichi.ai/connectors/moment/

## Facts

| | |
| --- | --- |
| Application | Moment |
| Category | Payment Gateway |
| AI tools | 33 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 33 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Moment is connected

- Show bills created for this billing account this month.
- Which payment pages are live right now?
- Create a billing customer for Northwind and send a bill.

## Connect Moment in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Moment.
2. Optionally set Share with, then press Connect.
3. Paste a Moment API key. One person generates a token in Moment and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Moment tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Moment to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Moment to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Moment to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Moment to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Moment tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Moment through Elaichi

### Raise a bill once the work ships

Finance. Ask for a bill against the right billing account in Moment as soon as a project closes, then pull it back by ID to check the amount before it goes out.

### Void a bill issued in error

Accounts receivable. When a customer was billed twice or for the wrong amount, void the bill in Moment and create the corrected one in the same conversation.

### Send a payment request to close a deal

Sales. Create a payment request in Moment for the agreed amount while the customer is still on the call, then check its status later without opening Moment.

### Fix billing details after a call

Support. Update a billing customer or billing account in Moment straight from the support conversation, so the next bill goes to the right name and address.

### Run a payment page for an event

Operations. Set up a payment page in Moment, list the payments that have come through it, and deactivate the page once registration closes.

### Capture an authorized payment when due

Finance. Capture a payment in Moment once goods are delivered, then pull the payment record to confirm it settled and note the reference in your books.

## Frequently asked questions

### How do I connect Moment to Claude?

Connect Moment in Elaichi first: paste the API key from your Moment account and save. There is no OAuth application to register and no client ID or secret to generate. Then in Claude go to Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp. Sign in to Elaichi and Moment is available in Claude.

### Does Moment work with ChatGPT and Cursor as well as Claude?

Yes. Once Moment is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any MCP client and the Elaichi Agent. You connect Moment once and every client you use picks it up.

### What can an AI agent actually do with my Moment data?

With Moment connected, an agent can create and update billing customers and billing accounts, raise, update and void bills, create and manage payment requests and payment pages, start payment sessions, capture payments and look up any of these records by ID. Because Moment offers a wide set of actions, short concrete asks such as "void bill 4821" or "list payments on the spring event page" work better than long paragraphs.

### Does connecting Moment give the AI access to every payment and customer?

No more than the person who connected it already has. Access to Moment follows the API key that was used, and each person still signs in to Elaichi as themselves, so every action is tied to a named person. Elaichi can narrow what an agent may do in Moment, for example allowing lookups but not captures, and it can never widen access beyond what the key allows.

### Can my team share one Moment connection?

Yes. One person connects Moment with the API key and shares the connection with a team in Elaichi, and nobody else ever sees or handles the key. Each teammate still signs in to Elaichi as themselves, so the audit log shows exactly who created a bill or captured a payment in Moment.

### Can I stop an agent from deleting or changing things in Moment?

Yes. In Elaichi you can restrict actions on Moment one by one, for example blocking bill voids, payment captures or deleting payment pages while still allowing lookups. A blocked action is never advertised to Claude, ChatGPT or any other client, so no prompt, however worded, can reach it.

### What happens to a Moment connection when someone leaves?

Offboarding a person in Elaichi ends their access to Moment at once, in every client they used. If they had shared their Moment connection with a team, it keeps working for everyone else. Disconnecting Moment in Elaichi removes it from Claude, ChatGPT, Cursor and every other client in one step.

## All 33 Moment tools

Every tool below is callable through https://api.elaichi.ai/mcp once Moment is connected, subject to the toolbox it is in and the restrictions on the caller.

- **Create a Moment billing customer** (Create). Create a new billing customer in Moment. Returns the customer object including id, external_reference, name, email, balance, payment_rules, and metadata. Required: external_reference, name.
- **Update a Moment billing customer by ID** (Update). Update a Moment billing customer by id. Only provided fields are changed. Returns the updated customer object including id, external_reference, name, email, balance, payment_rules, and metadata. Required: id.
- **Get single Moment billing customer by ID** (Get). Get a Moment billing customer by id. Returns: id, external_reference, name, email, phone, currency, balance, payment_rules, metadata, customer_id, order_id. Required: id.
- **Create a Moment billing account** (Create). Create a Moment billing account for an existing or new customer. Returns the created account object including id, external_reference, customer_id, name, currency, and balance.
- **Update a Moment billing account by ID** (Update). Update an existing Moment billing account by id. Returns the updated account including id, external_reference, customer_id, name, currency, balance, payment_rules, and metadata. Required: id.
- **Get single Moment billing account by ID** (Get). Get a Moment billing account by id or external reference. Returns: id, external_reference, customer_id, name, currency, balance, payment_rules, metadata, order_id. Required: id.
- **Create a Moment billing bill** (Create). Create a new bill in Moment for a customer or account. Returns the created bill including id, external_reference, status, amount_due, amount_paid, amount_remaining, and metadata. Required: external_reference, currency, amount_due. Pass either customer or account as a Moment ID, external reference, or nested object to create on the fly.
- **Update a Moment billing bill by ID** (Update). Update an existing Moment bill. Only provided fields are changed. Returns the updated bill including id, external_reference, status, amount_due, amount_paid, amount_remaining, and metadata. Required: id.
- **Get single Moment billing bill by ID** (Get). Get a Moment bill by its unique identifier or external reference. Returns the bill object including id, external_reference, customer_id, account_id, status, currency, amounts, payment_rules, and metadata. Required: id.
- **Create a Moment bill void** (Create). Void a bill in Moment, permanently making it uncollectable. Returns the voided bill object including id, status, amount_due, amount_remaining, and customer_id. Required: bill_id. This operation is irreversible and voided bills cannot be paid or updated.
- **Create a Moment payment page** (Create). Create a new Moment payment page. Returns the created page including id, status, page_url, currency, title, amount, custom_fields, and timestamps. Required: currency, title.
- **Get single Moment payment page by ID** (Get). Get a Moment payment page by id. Returns the page object including id, status, page_url, currency, title, amount, and timestamps. Required: id.
- **Update a Moment payment page by ID** (Update). Update an existing Moment payment page by id. Returns the updated page including id, status, page_url, currency, title, amount, and timestamps. Required: id.
- **Delete a Moment payment page by ID** (Delete). Delete a payment page in Moment by id. Returns an empty 204 response on success. Required: id. Only pages with no successful or attempted payments can be deleted.
- **Moment payment pages list payments** (List). List payments collected through a Moment payment page. Returns: id, payment_page_id, status, amount, currency, customer, custom_fields, payment_id, products, checkout_session_id, delivery_address, metadata, created_at, updated_at. Required: payment_page_id.
- **Moment payment pages deactivate** (Deactivate). Mark a Moment payment page as inactive by payment page id. Returns the updated page including id, status, page_url, amount, currency, title, and updated_at. Required: payment_page_id.
- **Create a Moment payment request** (Create). Create a new Payment Request in Moment for collecting a payment. Returns the created payment request including id, type, status, amount, currency, link or push details, and metadata. Required: amount, currency.
- **Get single Moment payment request by ID** (Get). Get a Payment Request in Moment by its unique id. Returns the payment request including id, status, type, amount, currency, link details, metadata, and timestamps. Required: id.
- **Update a Moment payment request by ID** (Update). Update an existing Payment Request in Moment. Only unpaid and unexpired requests can be updated. Returns the updated payment request including id, type, status, amount, currency, link details, and timestamps. Required: id.
- **Delete a Moment payment request by ID** (Delete). Delete a Moment Payment Request by id. Returns an empty 204 response on success. Required: id.
- **Create a Moment payment session** (Create). Create a payment session in Moment. Returns the payment session object including id, type, amount, currency, status, payment_outcome, session_url, mode, created_at and updated_at. Required: amount, currency.
- **Get single Moment payment session by ID** (Get). Get a payment session in Moment by id. Returns the full payment session object including id, type, amount, currency, status, payment_outcome, session_url, mode, created_at and updated_at. Required: id.
- **Moment payments capture** (Action). Capture an authorised Moment payment. Returns the updated payment including id, status, amount, currency, capture_method, authorised_amount, paid_amount, voided_amount, created_at, and updated_at. Required: payment_id. Only for payments with capture_method: manual that have not expired.
- **Get single Moment payment by ID** (Get). Get a Moment payment by id. Returns the payment object including id, status, amount, currency, capture_method, intent, authorised_amount, paid_amount, voided_amount, created_at, and updated_at. Required: id.
- **Moment payments void** (Action). Void an authorised Moment payment, releasing the full remaining authorised amount. Returns the updated payment including id, status, amount, currency, capture_method, authorised_amount, paid_amount, voided_amount, created_at, and updated_at. Required: payment_id. Only for manual-capture payments in succeeded status with remaining authorised amount.
- **Create a Moment redemption** (Create). Create a redemption in Moment to redeem a voucher. Returns the redemption including id, status, version, amount, currency, operations, created_at, and updated_at. Required: type, source.
- **Moment redemptions confirm** (Action). Confirm a reserved redemption in Moment to consume the reserved funds. Returns the updated redemption including id, status, version, amount, currency, operations, created_at, and updated_at. Required: redemption_id.
- **Get single Moment redemption by ID** (Get). Get a redemption by id in Moment. Returns the redemption including id, status, version, amount, currency, operations, created_at, and updated_at. Required: id.
- **List all Moment redemption types** (List). List supported redemption types in Moment. Returns a list of redemption type descriptors, each including type, category, name, description, capabilities, and required_fields. No caller parameters required.
- **Create a Moment payment capture** (Create). Capture funds for a Moment payment. Returns the updated payment object including id, status, amount, paid_amount, and payment_method_details. Required: payment_id. Optional: amount to capture a partial amount; omit it to capture the full remaining authorised amount.
- **Create a Moment payment void** (Create). Void the remaining authorised amount for a Moment payment. Returns the updated payment object including id, status, amount, currency, voided_amount, payment_method_details, and updated_at. Required: payment_id. The void always releases the full remaining authorised amount and increments voided_amount.
- **List all Moment payment page transactions** (List). List transactions for a Moment payment page. Returns each transaction with id, payment_page_id, status, amount, currency, customer, products, metadata, created_at, and updated_at. Required: payment_page_id. Max 100 transactions per page.
- **Moment stored value balances lookup** (Action). Look up a stored value balance in Moment. Returns the balance, currency, source credentials, and provider metadata. Required: type and source.
