# CMiC MCP connector

The CMiC connector brings vendor invoices, vouchers, purchase order matching, checks and subcontractor insurance into Elaichi, so Claude, ChatGPT, Cursor or any MCP client can read and update accounts payable as the person who signed in.

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

## Facts

| | |
| --- | --- |
| Application | CMiC |
| Category | Erp |
| AI tools | 388 |
| Authentication | App credentials |
| Bring 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. Connected tools are never listed one by one, however few there are. The endpoint advertises `search_tools` and `execute_tool` instead |

## What you can ask once CMiC is connected

- Which vendor invoices are still outstanding on the Riverside project?
- Register this invoice from Apex Electric with its line items
- Has subcontractor insurance for Delta Concrete expired this month?

## Connect CMiC in Elaichi

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

1. Open Connections, choose Add connection, and pick CMiC.
2. Optionally set Share with, then press Connect.
3. Paste your CMiC app credentials. CMiC authenticates the app rather than a person. One person supplies the credentials once, and everyone else works through Share with.

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

## CMiC MCP connector for 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.

## CMiC MCP connector for 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.

## CMiC MCP connector for 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 CMiC 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

Every scope the client asks for starts ticked except "Delete data and remove access", which you tick yourself. Calling a CMiC tool needs "Run your connected tools". 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. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with CMiC through Elaichi

### Register a vendor invoice with its lines

Accounts payable. After the mail run, ask the agent to register each vendor invoice in CMiC with its detail lines and the job it belongs to. It lands in the invoice register ready for review.

### Match a voucher to its purchase order

Accounts payable. Check that a subcontractor bill lines up with the purchase order before it becomes a voucher, and raise the voucher in CMiC only when the quantities and amounts agree.

### See what is still owed to vendors

Finance. Ask which CMiC invoices are outstanding for a vendor or a project and get the list with amounts, with no report request to anyone.

### Cut and correct vendor checks

Finance. Create a check for an approved batch of vouchers in CMiC, or update one that was issued with the wrong date or amount, from the same conversation.

### Keep subcontractor insurance on file

Risk and compliance. Record a subcontractor's new certificate of insurance in CMiC, update it when it renews, and remove expired entries so a project does not pay an uninsured trade.

### Answer a sub's payment question fast

Project management. When a subcontractor asks where their money is, pull the voucher from CMiC, see which pay mode it was selected for and whether a check went out, all without leaving the chat.

## Elaichi vs Zapier MCP vs Composio for CMiC

All three can connect CMiC to an AI assistant, and all three have admin controls. They differ in where access lives and how you pay.

| What to check | Elaichi | Zapier MCP | Composio |
| --- | --- | --- | --- |
| Where the AI connects | One address for the whole organization. Endpoint: https://api.elaichi.ai/mcp | A server per member, created at sign-in. | An MCP endpoint per team, or an SDK. |
| Control over CMiC tools | Allow or restrict single CMiC tools, per role or user. | App and action restrictions on the account. | Role permissions, down to the action. |
| Record of calls | One audit entry per CMiC call. | A History tab of tool calls. | A log of every tool call. |
| Single sign-on | SAML or OIDC, plus SCIM, on Gold. | SAML on Enterprise. | SAML and OIDC on Enterprise. |
| Price | $15 per user per month. | 2 tasks per successful call. | Billed per tool call. |

Sources: Zapier MCP [docs](https://docs.zapier.com/mcp/get-started/quickstart), [security](https://docs.zapier.com/mcp/manage/security), [usage](https://docs.zapier.com/mcp/features/usage); Composio [docs](https://docs.composio.dev/docs/composio-connect), [gateway](https://composio.dev/mcp-gateway), [enterprise](https://composio.dev/enterprise), [pricing](https://composio.dev/pricing). Checked September 2026.

Longer take: [Zapier MCP alternative](/blog/zapier-mcp-alternative/) and [when you don't need an MCP gateway](/blog/when-you-dont-need-an-mcp-gateway/).

## Frequently asked questions

### How do I connect CMiC to Claude?

First connect CMiC in Elaichi by entering the CMiC app credentials your administrator gives you. There is no OAuth application to register and no client ID or secret to generate. Then open Claude, go to Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp. Claude signs you in to Elaichi and your CMiC invoices, vouchers and checks are available in the chat.

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

Yes. Once CMiC 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 CMiC once and every client picks it up.

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

With CMiC connected, an agent can register a vendor invoice with its line items, check a bill against its purchase order and raise the voucher, list which invoices are still outstanding for a vendor or job, create or correct a check, and add, update or remove a subcontractor's insurance record. Short, concrete asks such as "show outstanding invoices for Apex Electric" work better than long paragraphs.

### Does connecting CMiC give the AI all of my accounts payable?

No. Every call to CMiC through Elaichi runs as the person who signed in, so an agent sees only the vouchers, invoices and checks that person could already open in CMiC. Elaichi can narrow that access further with roles and restrictions, and it can never widen it beyond what CMiC itself allows.

### Can my team share one CMiC connection?

Yes. One person connects CMiC in Elaichi and shares the connection with a team, and nobody else ever handles the CMiC credentials. Each teammate still signs in to Elaichi as themselves, so the audit log names the person who registered an invoice or cut a check, not a shared account.

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

Yes. Restrictions in Elaichi apply per action, so you can allow reading CMiC invoices and vouchers while blocking the creation of checks or the deletion of insurance records. A restricted action is left out of the tool list that Claude, ChatGPT or Cursor receives and cannot be called, whatever the prompt says.

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

Offboarding a person in Elaichi ends their access to CMiC through every client at once. A CMiC connection they shared keeps working for everyone else on the team. If you want CMiC gone entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client.

### Does the CMiC MCP connector work with Gemini, Codex, Claude Code or other MCP clients?

Yes. CMiC is reached over the same MCP endpoint every client uses, so anything that speaks MCP can call it — Gemini, Codex, Claude Code, Windsurf, Cline, Zed and OpenCode among them — alongside Claude, ChatGPT, Cursor, and the Elaichi Agent. The tools on offer and the access behind them are identical whichever client asks. Only the setup screen differs.

### Is Elaichi an alternative to Zapier MCP for CMiC?

Yes. Both let Claude, ChatGPT or Cursor use CMiC. Zapier MCP fits a team that already automates in Zapier, since each person signs in and acts as themselves in that account. Elaichi fits when IT wants one address for the whole company, per-tool rules by role, and a record of every CMiC call.

### How is Elaichi different from Composio for CMiC?

Composio gives AI agents tools and sign-in handling across 1,000+ apps, for developers building agents or people using an assistant, billed per tool call. Elaichi gives a company's own people governed access to CMiC: one address, restrictions per role or user, and $15 per user per month. Both have role permissions and a log of every call.

## All 388 CMiC tools

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

- **List all CMiC ap paymode pay sel** (List). Ap paymode pay sel. Returns: PA_COMP_CODE, PA_VEN_CODE, PA_VOU_INV_CODE, PA_VOU_INV_DATE, PA_AMT.
- **Create a CMiC ap reg inv with detail** (Create). Create Bulk AP Registered Invoices With Details. Bulk-creates AP registered invoices with optional nested detail lines. Returns: index, status, ApriVUuid, ApRegInvDet, message.
- **Create a CMiC ap voucher no sc with detail** (Create). Create Multiple Vouchers (Bulk Insert up to 1000 Records). Returns: VouNum, VouBchNum, index, status, ApVoucherNoScDetail.
- **List all CMiC apvoucherpo** (List). Retrieve By Query Params. Returns: DiscriminatorCode, Vou1099Code, VouBchNum, VouCashAccCode, VouCatCode.
- **Create a CMiC apvoucherpo** (Create). Create with PO Detail. Returns: DiscriminatorCode, Vou1099Code, VouBchNum, VouCashAccCode, VouCatCode.
- **Create a CMiC apvoucherpo batch** (Create). Create Multiple Records. Returns: DiscriminatorCode, Vou1099Code, VouBchNum, VouCashAccCode, VouCatCode.
- **Create a CMiC validatepo** (Create). ValidatePo for Standard POs. Returns: valid, reason. Required: compCode, venCode, poNum, releaseNum.
- **List all CMiC apallvouchers** (List). Endpoint to check the distribution Copy. The AP Voucher API in CMiC allows you to quickly find AP voucher numbers, which are our internal reference numbers for accounts payable invoices. Returns: VouJobCompCode, VouJobCode, VouInvSeriesCode, VouInvCode, VouGsthldbkCode.
- **Get single CMiC apallvoucher by ID** (Get). Retrieve A Specific Voucher By Voucher Number. Returns: VouJobCompCode, VouJobCode, VouInvSeriesCode, VouInvCode, VouGsthldbkCode. Required: id.
- **List all CMiC apcheque** (List). Query an AP Cheque. Returns: Chq1099Code, ChqAccCode, ChqBankCompCode, ChqBchNum, ChqCompCode.
- **Create a CMiC apcheque** (Create). Create an AP Cheque. Returns: Chq1099Code, ChqAccCode, ChqBankCompCode, ChqBchNum, ChqCompCode.
- **Update a CMiC apcheque by ID** (Update). Update an AP Cheque. Returns: Chq1099Code, ChqAccCode, ChqBankCompCode, ChqBchNum, ChqCompCode. Required: id.
- **List all CMiC apinsurance** (List). Retrieve AP Insurance by Multiple Compliance Types. Returns: InsCertNum, InsCompCode, InsCoverTypeCode, InsInscompCode, InsInscompName.
- **Create a CMiC apinsurance** (Create). Create a AP Insurance. Returns: InsCertNum, InsCompCode, InsCoverTypeCode, InsInscompCode, InsInscompName.
- **Get single CMiC apinsurance by ID** (Get). Retrieve a Specific AP Insurance By VUUID. Returns: InsCertNum, InsCompCode, InsCoverTypeCode, InsInscompCode, InsInscompName. Required: id.
- **Update a CMiC apinsurance by ID** (Update). Update a Specific AP Insurance. Returns: InsCertNum, InsCompCode, InsCoverTypeCode, InsInscompCode, InsInscompName. Required: id.
- **Delete a CMiC apinsurance by ID** (Delete). Delete a Specific AP Insurance. Required: id.
- **List all CMiC apinvoutstanding** (List). Retrieve Outstanding Invoice By Code. Returns: CompanyCode, VendorCode, InvoiceCode, InvoiceVoucherNum, OutstandingBucketName.
- **Get single CMiC apinvoutstanding by ID** (Get). Retrieve a Specific AP Outstanding Invoice By Invoice Voucher Number. Returns: CompanyCode, VendorCode, InvoiceCode, InvoiceVoucherNum, OutstandingBucketName. Required: id.
- **Get single CMiC apreggrp by ID** (Get). Retrieve a Specific Invoice Registry Group By VUUID. Returns: AprgCode, AprgCompCode, DiscriminatorCode, AprgDesc, AprgRowid. Required: id.
- **List all CMiC apreginv** (List). Retrieve AP Registered Invoices By Code. Returns: Apri1099Code, Apri1099Name, ApriAdjustingInvCode, ApriCashAccCode, ApriChgCode.
- **Create a CMiC apreginv** (Create). Create an AP Registered Invoice. Returns: Apri1099Code, Apri1099Name, ApriAdjustingInvCode, ApriCashAccCode, ApriChgCode. Required: ApriPayByManualChqFlag, ApriCompCode, ApriVenCode, ApriCurrName, ApriInvCode, ApriInvDate, ApriDueDate, ApriAmt, ApriGroupCode, ApriInvSerCode.
- **Get single CMiC apreginv by ID** (Get). Retrieve A Specific AP Registered Invoice By VUUID. Returns: Apri1099Code, Apri1099Name, ApriAdjustingInvCode, ApriCashAccCode, ApriChgCode. Required: id.
- **Create a CMiC apreginvdet** (Create). Create an AP Registered Invoice Detail Line. Returns: ApridLineNum, ApridTax1Code, ApridTax2Code, ApridTax3Code, ApridUserTypeCode.
- **Get single CMiC apreginvdet by ID** (Get). Retrieve A Specific AP Registered Invoice Detail Line By VUUID. Returns: ApridLineNum, ApridTax1Code, ApridTax2Code, ApridTax3Code, ApridUserTypeCode. Required: id.
- **List all CMiC apreginvdetails** (List). Retrieve Registered Invoice Details by Code. Returns: AprdistInvCode, AprdistInvVenCode, AprdistInvCompCode, AprdistLineNum, AprdistCompCode.
- **Get single CMiC apreginvdetail by ID** (Get). Retrieve A Specific Registered Invoice Details by VUUID. Returns: AprdistInvCode, AprdistInvVenCode, AprdistInvCompCode, AprdistLineNum, AprdistCompCode. Required: id.
- **List all CMiC apvendor** (List). Retrieve AP Vendor by Code. A vendor is an entity a company purchases products or services from, resulting in invoices and payments. Returns: BpvenCompCode, BpvenCompName, BpvenBpCode, BpvenBpName, BpvenPayRegionCode.
- **Create a CMiC apvendor** (Create). Create a AP Vendor. A vendor is an entity a company purchases products or services from, resulting in invoices and payments. Returns: BpvenCompCode, BpvenCompName, BpvenBpCode, BpvenBpName, BpvenPayRegionCode.
Required: BpvenCompCode, BpvenBpCode, BpvenCheckMergeFlag, BpvenSpecialTermsFlag, BpvenTermCode, BpvenCurrCode, BpvenApDeptCode, BpvenApAccCode, BpvenCashDeptCode, BpvenCashAccCode, BpvenExpDeptCode, BpvenExpAccCode, BpvenPpeDeptCode, BpvenPpeAccCode, BpvenDiscDeptCode, BpvenDiscAccCode, BpvenHldbkDeptCode, BpvenHldbkAccCode.
- **Get single CMiC apvendor by ID** (Get). Retrieve a Specific AP Vendor by VUUID. Returns: BpvenCompCode, BpvenCompName, BpvenBpCode, BpvenBpName, BpvenPayRegionCode. Required: id.
- **Update a CMiC apvendor by ID** (Update). Update a Specific AP Vendor. Returns: BpvenCompCode, BpvenCompName, BpvenBpCode, BpvenBpName, BpvenPayRegionCode. Required: id.
- **Delete a CMiC apvendor by ID** (Delete). Delete a Specific AP Vendor. Required: id.
- **Create a CMiC apvoucher** (Create). Create Voucher Header and Details. Returns: Vou1099Code, VouBchName, VouBchNum, VouCashAccCode, VouCatCode. Required: VouCurrCode, VouNum, VouInvAmt, VouChgCode, VouInvSeriesCode, VouPayByManualChqFlag, VouInvDate, VouContCode, VouInvCode, VouJobCode, VouFinalRfpFlag, VouCompCode, VouPostDate, VouVenCode.
- **Get single CMiC apvoucher by ID** (Get). Retrieve a Specific AP Voucher By Voucher Number with Distribution. Returns: Vou1099Code, VouBchName, VouBchNum, VouCashAccCode, VouCatCode. Required: id.
- **List all CMiC apvouchernosc** (List). Retrieve. Returns: Vou1099Code, VouBchNum, VouCashAccCode, VouCatCode, VouCatName.
- **Create a CMiC apvouchernosc** (Create). Create Voucher without Manual Distributions. Returns: Vou1099Code, VouBchNum, VouCashAccCode, VouCatCode, VouCatName.
- **List all CMiC apvouchq** (List). Retrieve Cheque by Code. Returns: VchqCompCode, VchqVenCode, VchqVenName, VchqChqNum, VchqChqCompCode.
- **List all CMiC apvoumemo** (List). Retrieve Voucher Memos By Voucher Number. Returns: VmemoVouNum, VmemoBchNum, VmemoCompCode, VmemoVenCode, VmemoCurrCode.
- **Create a CMiC apvoumemo** (Create). Create Voucher Memo. Returns: VmemoVouNum, VmemoBchNum, VmemoCompCode, VmemoVenCode, VmemoCurrCode.
- **Create a CMiC bpbank** (Create). Creating BP Bank Record. Returns: BpbBpCode, BpbBankCode, BpbBankBranchCode, BpbSwiftBicCode, BpbIbanNum.
- **Get single CMiC bpbank by ID** (Get). Retrieve BP Bank Record by VUuid. Returns: BpbBpCode, BpbBankCode, BpbBankBranchCode, BpbSwiftBicCode, BpbIbanNum. Required: id.
- **Update a CMiC bpbank by ID** (Update). Update Specific BP Bank Details. Returns: BpbBpCode, BpbBankCode, BpbBankBranchCode, BpbSwiftBicCode, BpbIbanNum. Required: id.
- **Create a CMiC checkunpostedrfp** (Create). Checkunpostedrfps. Returns: result. Required: compCode, venCode, contCode.
- **List all CMiC manualcheck** (List). Retrieve AP Manual Cheque by Code. Returns: Chq1099Code, ChqAccCode, ChqBankCompCode, ChqBchName, ChqBchNum.
- **Create a CMiC manualcheck** (Create). Create AP Manual Check With Extension. Returns: Chq1099Code, ChqAccCode, ChqBankCompCode, ChqBchName, ChqBchNum. Required: ChqAccCode, ChqDate, ChqVenCode, ChqDeptCode, ChqSeqNum, ChqAmt.
- **Get single CMiC manualcheck by ID** (Get). Retrieve a Unique AP Manual Cheque by Chq Seq Number. Returns: Chq1099Code, ChqAccCode, ChqBankCompCode, ChqBchName, ChqBchNum. Required: id.
- **List all CMiC openperiods** (List). Retrieve AP Open Periods By Code. Returns: JcctrlCompCode, ApctrlCompCode, JcctrlCurrYr, JcctrlCurrPer, JcctrlFuturePostFlag.
- **Create a CMiC postvoucher** (Create). Post Vouchers. Returns: result.
- **Get single CMiC sc rfp total by ID** (Get). Retrieve SC RFP Totals with Finder. Required: id.
- **List all CMiC scrfpdetail** (List). Retrieve SC RFP Detail By Code. Returns: VsovVouNum, VsovBchNum, VsovInvCode, VsovCompCode, VsovVenCode.
- ...and 338 more tools. Call `tools/list` via the MCP endpoint, or see the full catalog via the API, for the complete set.
