# BlueTally MCP connector

Connect BlueTally to Elaichi and Claude, ChatGPT, Cursor, or any MCP client can look up, check out, and update BlueTally assets and accessories, with every action tied to the person who asked.

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

## Facts

| | |
| --- | --- |
| Application | BlueTally |
| Category | Device Management |
| AI tools | 91 |
| 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 BlueTally is connected

- Which laptops are checked out to the sales team right now?
- Check out a MacBook and charger to Priya starting Monday.
- Start an audit for the second floor storage room.

## Connect BlueTally in Elaichi

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

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

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

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

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

### Check a laptop out to a new hire

IT. Ask which laptops are in stock, check one out to the new starter in BlueTally, and record the charger and dock that went with it.

### Find who has a device right now

Support. When a ticket mentions a serial number, pull up the BlueTally asset, see who it is checked out to, and read its recent activity.

### Run a stock count without a spreadsheet

Operations. Create an audit in BlueTally, walk the storeroom, and update it as each asset is found, all from a chat.

### Collect equipment when someone leaves

People. List every asset and accessory checked out to a departing employee, then check each one back into BlueTally as it is returned.

### Answer what we own and where it is

Finance. Ask how many monitors sit in each BlueTally category, or which assets are unassigned, and get the count from live records.

### Keep accessory stock accurate

Facilities. Add new keyboards, headsets, and chargers to BlueTally as they arrive, and update quantities when they move between offices.

## Elaichi vs Zapier MCP vs Composio for BlueTally

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

Connect BlueTally in Elaichi first, which asks for a BlueTally API key from your BlueTally settings. 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. Sign in to Elaichi and BlueTally is available in Claude.

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

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

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

It can look up BlueTally assets and accessories, see who has them, check them in and out, and create or update records as things change. It can also open and update audits, tidy categories, and read the activity history of any asset. Short, concrete asks such as "check laptop 0412 in" work better than long sentences.

### Does connecting BlueTally give the AI my whole inventory?

No. Every request to BlueTally runs as the person who signed in, so the AI sees only the assets, accessories, and audits that person can already see in BlueTally. Elaichi can narrow that further by team or by action, and it can never widen it.

### Can my team share one BlueTally connection?

Yes. One person connects BlueTally with an API key and shares the connection with a team in Elaichi, and nobody else ever handles the key. Each teammate still signs in as themselves, so the audit log names the person who checked out or updated each BlueTally asset.

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

Yes. Restrictions in Elaichi work per action, so you can allow lookups and checkouts in BlueTally while blocking deletes or edits. A restricted action is never advertised to Claude, ChatGPT, or Cursor at all, so no prompt can reach it.

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

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

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

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

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

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

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

## All 91 BlueTally tools

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

- **List all BlueTally accessories** (List). List all accessories in bluetally. Returns: id, name, model_number, order_number, purchase_date, purchase_cost, currency, minimum_quantity, quantity, available, category_id, manufacturer_id, supplier_id, location_id, department_id, qr_code, logo, notes, custom_fields, checked_out_to_employees, checked_out_to_locations, created_at, updated_at, unit_cost. Supports exact-match filters (name,…
- **Get single BlueTally accessory by ID** (Get). Get a single accessory in bluetally by id. Returns the full accessory object including id, name, model_number, quantity, available, custom_fields, and checked_out_to_employees. Required: id.
- **Create a BlueTally accessory** (Create). Create a new accessory in bluetally. Returns an empty 201 response on success. Requires name, quantity, and category_id.
- **Update a BlueTally accessory by ID** (Update). Update an accessory in bluetally by id. Returns an empty 200 response on success. Required: id.
- **Delete a BlueTally accessory by ID** (Delete). Delete an accessory in bluetally by id. This action is permanent and cannot be undone. Returns an empty 204 response on success. Required: id.
- **BlueTally accessories check in** (Action). Check in an accessory in bluetally, returning it to available stock. Returns an empty 201 response on success. Required: accessory_id, checkin_date (YYYY-MM-DD).
- **BlueTally accessories check out** (Action). Check out a quantity of an accessory in bluetally to an employee or location on a given date. Returns an empty 201 response on success. Required: accessory_id, quantity, checkout_date (YYYY-MM-DD).
- **List all BlueTally activity** (List). List all activity log entries in bluetally. Returns each entry's timestamp, user_id, user_name, type, event, item_id, item_name, checked_out_to_from_name, and notes. Filter by date_from/date_to, type, event, user_email, employee_email, or item id.
- **List all BlueTally assets** (List). List all assets in bluetally. Returns asset records with id, asset_id, asset_serial, purchase_cost, product_name, and custom_fields; supports sorting and exact-match filters.
- **Get single BlueTally asset by ID** (Get). Get a single asset in bluetally by id. Returns the full asset object including id, asset_id, asset_serial, product_name, purchase_cost, custom_fields, and deployed_to. Required: id.
- **Create a BlueTally asset** (Create). Create an asset in bluetally. Returns the created asset object including id, asset_id, asset_name, product_name, and custom_fields. Required: asset_id, product_id, status_id.
- **Update a BlueTally asset by ID** (Update). Update an asset in bluetally by id. Returns the updated asset object including id, asset_id, asset_serial, product_name, and custom_fields. Required: id.
- **Delete a BlueTally asset by ID** (Delete). Delete an asset in bluetally by id. Returns an empty 204 response on success. Required: id. Deletion is permanent and cannot be undone.
- **BlueTally assets check in** (Action). Check-in an asset in bluetally, optionally recording its condition, notes, and the location or department it should belong to. Returns an empty 201 response on success. Required: asset_id, checkin_date, status_id.
- **BlueTally assets check out** (Action). Check-out an asset in bluetally to an employee or location, optionally recording its condition, notes, and the expected check-in date. Returns an empty 201 response on success. Required: asset_id, checkout_date.
- **List all BlueTally audits** (List). List all bluetally audits. Returns audit records including id, audit_date, audit_status, scheduled, completed, asset_id, user_id, and created_at; sorted by audit_date ascending by default.
- **Get single BlueTally audit by ID** (Get). Get a single bluetally audit by id. Returns the full audit record including id, audit_date, audit_status, scheduled, completed, asset_id, user_id, notes, and created_at. Required: id.
- **Create a BlueTally audit** (Create). Create an audit in bluetally. Returns the created audit including id, audit_date, audit_status, scheduled, completed, asset_id, and user_id. Required: audit_date, scheduled, completed, asset_id, user_id.
- **Update a BlueTally audit by ID** (Update). Update a bluetally audit by id. Returns the updated audit including id, audit_date, audit_status, scheduled, completed, asset_id, and user_id. Required: id.
- **Delete a BlueTally audit by ID** (Delete). Delete a bluetally audit by id. Deletion is permanent and cannot be undone. Returns an empty 204 response on success. Required: id.
- **List all BlueTally categories** (List). List all categories in bluetally, filterable by exact name and category type. Returns: id, name, type, eula, skip_checkout_emails, logo, number_of_assets, number_of_accessories, number_of_components, number_of_consumables, number_of_licenses, number_of_products, assets, accessories, components, consumables, licenses, products, minimum_quantity, number_of_deployable_assets, created_at, updated_at,…
- **Get single BlueTally category by ID** (Get). Get a single bluetally category by id. Returns: id, name, type, eula, skip_checkout_emails, logo, number_of_assets, number_of_accessories, number_of_components, number_of_consumables, number_of_licenses, number_of_products, assets, accessories, components, consumables, licenses, products, minimum_quantity, number_of_deployable_assets, created_at, updated_at, openapi, info, servers, security,…
- **Create a BlueTally category** (Create). Create a category in bluetally. Returns an empty 204 response on success. Required: name and type.
- **Update a BlueTally category by ID** (Update). Update a category in bluetally by id. Returns the updated category including id, name, type, eula, skip_checkout_emails, logo, asset counts, and created_at/updated_at timestamps. Required: id.
- **Delete a BlueTally category by ID** (Delete). Delete a category in bluetally by id. Returns an empty 204 response on success. Deletion is permanent and cannot be undone. Required: id.
- **List all BlueTally components** (List). List all components in BlueTally. Returns component records with id, name, model_number, quantity, available, purchase_cost, and category_id. Supports exact-match filters (name, model_number, purchase_date, unit_cost, category_id, location_id, and more) plus sort and order.
- **Get single BlueTally component by ID** (Get). Get a specific component in BlueTally by id. Returns the full component record including id, name, model_number, quantity, available, purchase_cost, custom_fields, and checked_out_to. Required: id.
- **Create a BlueTally component** (Create). Create a component in BlueTally. Returns the created component record including id, name, quantity, available, purchase_cost, and category_id. Requires name, quantity, and category_id.
- **Update a BlueTally component by ID** (Update). Update a component in BlueTally by id. Returns the updated component record including id, name, quantity, available, purchase_cost, and category_id. Required: id.
- **Delete a BlueTally component by ID** (Delete). Permanently delete a component in BlueTally by id. This action is irreversible and cannot be undone. Returns an empty 204 response on success. Required: id.
- **BlueTally components check in** (Action). Check in a component in bluetally, returning it to stock from the asset it was checked out to. Returns an empty 201 response on success. Required: component_id, asset_id, checkin_date (YYYY-MM-DD).
- **BlueTally components check out** (Action). Check out a component in bluetally to an asset in a given quantity. Returns an empty 201 response on success. Required: component_id, asset_id, quantity, checkout_date (YYYY-MM-DD).
- **List all BlueTally consumables** (List). List all consumables in bluetally. Returns each consumable with id, name, model_number, purchase_cost, currency, minimum_quantity, available, custom_fields, checked_out_to_employees, created_at, and updated_at. Supports exact-match filters and sorting.
- **Get single BlueTally consumable by ID** (Get). Get a single consumable in bluetally by id. Returns: id, name, model_number, order_number, purchase_date, purchase_cost, currency, minimum_quantity, available, category_id, manufacturer_id, supplier_id, location_id, department_id, logo, notes, custom_fields, checked_out_to_employees, checked_out_to_locations, created_at, updated_at, unit_cost, openapi, info, servers, components, security, paths,…
- **Create a BlueTally consumable** (Create). Create a consumable in bluetally. Returns an empty 201 response on success. Required: name, quantity, category_id.
- **Update a BlueTally consumable by ID** (Update). Update a consumable in bluetally by id. Returns an empty 200 response on success. Required: id.
- **Delete a BlueTally consumable by ID** (Delete). Permanently delete a consumable in bluetally by id. This action is irreversible and cannot be undone. Returns an empty 204 response on success. Required: id.
- **BlueTally consumables check out** (Action). Check out a consumable in bluetally, recording the quantity checked out and the date of the checkout. Returns an empty 201 response on success. Required: consumable_id, quantity, checkout_date.
- **List all BlueTally departments** (List). List all departments in bluetally. Returns department records including id, name, email, phone, asset/accessory/component/consumable/license/employee counts, related ID lists, and created_at/updated_at timestamps. Supports exact-search filters on name, email, or phone and sorting by created_at, updated_at, or name.
- **Get single BlueTally department by ID** (Get). Get a single department in bluetally by id. Returns the full department object including id, name, email, phone, related asset/accessory/license/employee ID lists, and created_at/updated_at timestamps. Required: id.
- **Create a BlueTally department** (Create). Create a department in bluetally. Returns an empty 201 response on success. Requires name, email, and phone.
- **Update a BlueTally department by ID** (Update). Update a department in bluetally by id. Returns an empty 200 response on success. Required: id.
- **Delete a BlueTally department by ID** (Delete). Delete a department in bluetally by id. This action is permanent and cannot be undone. Returns an empty 200 response on success. Required: id.
- **List all BlueTally depreciations** (List). List all depreciations in bluetally. Returns depreciation records with id, name, months, minimum_value, asset/license/product id lists, and created_at/updated_at. Supports sorting and exact-match filtering by name, months, or minimum_value.
- **Get single BlueTally depreciation by ID** (Get). Get a single depreciation in bluetally by id. Returns: id, name, months, minimum_value, number_of_assets, number_of_licenses, number_of_products, assets, licenses, products, created_at, updated_at, openapi, info, servers, components, security, paths, x-readme, x-readme-fauxas. Required: id.
- **Create a BlueTally depreciation** (Create). Create a depreciation in bluetally. Returns the created depreciation including id, name, months, minimum_value, and created_at. Required: name and months.
- **Update a BlueTally depreciation by ID** (Update). Update a depreciation in bluetally by id. Returns the updated depreciation including id, name, months, minimum_value, and updated_at. Required: id.
- **Delete a BlueTally depreciation by ID** (Delete). Delete a depreciation in bluetally by id. Deleting is permanent and cannot be undone. Returns an empty 204 response on success. Required: id.
- **List all BlueTally employees** (List). List all employees in bluetally. Returns: id, name, email, title, location_id, department_id, notes, archived, number_of_assets, number_of_accessories, number_of_consumables, number_of_licenses, assets, accessories, consumables, licenses, created_at, updated_at, custom_fields, manager_id, openapi, info, servers, components, security, paths, x-readme, x-readme-fauxas. Supports exact-match filters:…
- **Get single BlueTally employee by ID** (Get). Get a single bluetally employee by id. Returns the full employee object including: id, name, email, title, location_id, department_id, notes, archived, number_of_assets, custom_fields, and created_at. Required: id.
- ...and 41 more tools. Call `tools/list` via the MCP endpoint, or see the full catalog via the API, for the complete set.
