# BlackLine MCP connector

The BlackLine connector brings BlackLine users, teams, roles and reports into Claude, ChatGPT, Cursor and the Elaichi Agent, so each person can manage access and pull reports from a chat window inside their own BlackLine permissions.

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

## Facts

| | |
| --- | --- |
| Application | BlackLine |
| Category | Accounting |
| AI tools | 22 |
| Authentication | Connects with an API key |
| 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 BlackLine is connected

- Who is on the Entity 12 close team in BlackLine?
- Add Priya Shah to the Treasury team as a preparer
- List every BlackLine user with an administrator role

## Connect BlackLine in Elaichi

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

1. Open Connections, choose Add connection, and pick BlackLine.
2. Optionally set Share with, then press Connect.
3. Paste a BlackLine API key. One person generates a token in BlackLine 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 BlackLine tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## BlackLine 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.

## BlackLine 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.

## BlackLine 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 BlackLine 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 BlackLine 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 BlackLine through Elaichi

### Bring a new accountant into BlackLine on day one

Accounting. Create the user, add them to the right close team and assign the role they need before their first reconciliation lands.

### Clean up roles after a reorganization

Finance systems. List every BlackLine user and their roles, spot people carrying permissions they no longer need, and remove or reassign roles in one pass.

### Answer who has access to what

Internal audit. Pull the full list of BlackLine users, teams and product roles so a segregation of duties review starts from live records rather than a stale spreadsheet.

### Reshape close teams as entities change

Controllership. Create a team for a new entity, move preparers and reviewers between teams, and retire teams that no longer map to the ledger.

### Offboard a leaver from BlackLine fast

IT. Remove a departing employee from their BlackLine teams and roles, or delete the user entirely, the same afternoon HR confirms the exit.

### Find the right BlackLine report quickly

Finance operations. Ask for the available BlackLine reports, open the one you need by name and read what it covers without clicking through the reporting menu.

## Elaichi vs Zapier MCP vs Composio for BlackLine

All three can connect BlackLine 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 BlackLine tools | Allow or restrict single BlackLine 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 BlackLine 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 BlackLine to Claude?

Open Elaichi, choose BlackLine from the catalog and paste in a BlackLine API key; that is the only sign-in step, with no client ID or secret to generate. Then in Claude go to Customize, then Connectors, then Add, and paste the endpoint https://api.elaichi.ai/mcp. Sign in to Elaichi when Claude asks and BlackLine is ready to use.

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

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

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

With BlackLine connected, an agent can list and look up BlackLine users, teams, roles and product roles, create or update users and teams, add people to teams, assign or remove roles, and find and open BlackLine reports. In practice that means asking things like who is on the Entity 12 close team or which users hold an administrator role, and getting an answer from live BlackLine records. Short, concrete asks work better than long sentences.

### Does connecting BlackLine give the AI access to every user, team and role?

No. Every call to BlackLine runs inside the permissions of the person who signed in, so an agent can only see and change the BlackLine users, teams and roles that person could already manage. Elaichi can narrow that further with restrictions, and it can never widen it.

### Can my team share one BlackLine connection?

Yes. One person connects BlackLine with an API key and shares the connection with a team in Elaichi, and nobody else ever sees or handles that key. Each teammate still signs in to Elaichi as themselves, so the audit log names the actual person behind every BlackLine change.

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

Yes. Restrictions in Elaichi work per action, so you can allow reading BlackLine users and reports while blocking deleting users, removing roles or editing teams. A restricted action is left out of the AI client's tool list entirely, so it cannot be called no matter what someone types.

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

Offboarding a person in Elaichi ends their access to BlackLine through every AI client at once. If they had shared a BlackLine connection with their team, that connection keeps working for everyone else. Disconnecting BlackLine once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client at the same time.

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

Yes. BlackLine 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 BlackLine?

Yes. Both let Claude, ChatGPT or Cursor use BlackLine. 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 BlackLine call.

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

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 BlackLine: one address, restrictions per role or user, and $15 per user per month. Both have role permissions and a log of every call.

## All 22 BlackLine tools

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

- **List all BlackLine users** (List). List all BlackLine users. Returns an array of user records, each including its id; use filter, sort, and sortOrder to narrow results and fields to trim the response.
- **Get single BlackLine user by ID** (Get). Get a single BlackLine user by id. Returns the user object including its id. Use fields to select which fields to return. Required: id.
- **Create a BlackLine user** (Create). Create a new user in BlackLine. Returns the created user object including its id. Required: user request body (JSON).
- **Update a BlackLine user by ID** (Update). Update an existing BlackLine user by id. Returns the updated user object including its id. Required: id and a user request body (JSON).
- **Delete a BlackLine user by ID** (Delete). Trigger the asynchronous deprovision process for a BlackLine user by id. Returns the deprovision process response; use the deprovision status endpoint to poll progress. Required: id.
- **BlackLine users assign role** (Assign). Assign one or more role-product assignments to a BlackLine user. Returns an empty 204 response on success. Required: user_id (path) and a JSON array body of role-product assignment objects; role ids are listed by the Roles API and product ids are provided by BlackLine Support.
- **BlackLine users remove role** (Delete). Unassign a single role and product from a BlackLine user. Returns an empty 204 response on success. Required: user_id.
- **List all BlackLine me** (List). Get information about the currently logged-in user in BlackLine. Returns the logged-in user record including its id and profile attributes.
- **List all BlackLine teams** (List). List BlackLine teams. Returns team records including their id and upstream-defined attributes.
- **Get single BlackLine team by ID** (Get). Get a BlackLine team by id. Returns the team record including its id and upstream-defined attributes. Required: id.
- **Create a BlackLine team** (Create). Create a BlackLine team. Returns the created team record including its id and upstream-defined attributes. Requires a JSON team request body.
- **Update a BlackLine team by ID** (Update). Update a BlackLine team by id. Returns the updated team record including its id and upstream-defined attributes. Requires: id and a JSON team request body.
- **Delete a BlackLine team by ID** (Delete). Delete a BlackLine team by id. Returns an empty 204 response on success. Required: id.
- **List all BlackLine roles** (List). List all roles available in the BlackLine instance. Returns an array of role records, each including its id. This endpoint takes no query parameters.
- **List all BlackLine user teams** (List). List the BlackLine teams a user is assigned to, one team record per assignment. Returns: id. Required: user_id.
- **BlackLine user teams add user** (Add). Assign one or more BlackLine teams to a user by sending a list of team ids. Returns an empty 204 response on success. Required: user_id and a list of team ids.
- **BlackLine user teams remove user** (Delete). Unassign a single team from a BlackLine user. Returns an empty 204 response on success. Required: user_id and team_id.
- **Create a BlackLine token** (Create). Generate a BlackLine OAuth access token from client credentials. Returns the OAuth token payload used to authenticate subsequent BlackLine API requests; its fields are defined by BlackLine's 200tokenResponse type. Required: grant_type, scope, client_id, client_secret. username and password are additionally required for the Resource Owner flow, the only supported grant_type.
- **List all BlackLine reports** (List). List the Blackline reports that have been run for the authenticated user. Returns report run entries with their id, the value to pass as reportRunId when downloading or exporting a report.
- **Get single BlackLine report by ID** (Get). Get the data of a completed Blackline report run by id and export type. Returns the report data itself; its columns and layout are specific to the report that was run, so they cannot be enumerated in advance. Required: id, export_type.
- **List all BlackLine product roles** (List). List all available role and product combinations in BlackLine. Returns role-product items including roleId and productId.
- **List all BlackLine user role products** (List). List all the roles and products assigned to a user in BlackLine. Returns a collection of role-product assignment records, each with its roleId and productId. Required: user_id.
