# How to integrate Xero MCP with Grok Build

```json
{
  "title": "How to integrate Xero MCP with Grok Build",
  "toolkit": "Xero",
  "toolkit_slug": "xero",
  "framework": "Grok Build",
  "framework_slug": "grok-build",
  "url": "https://composio.dev/toolkits/xero/framework/grok-build",
  "markdown_url": "https://composio.dev/toolkits/xero/framework/grok-build.md",
  "updated_at": "2026-05-12T10:30:48.664Z"
}
```

## Introduction

### How to integrate Xero MCP with Grok Build
[Grok Build](https://docs.x.ai/build/overview) is xAI's terminal coding agent. It runs on Grok 4.5, plans its work before it acts, and can run multiple sub-agents in parallel. It also reads Claude Code's MCP configuration, so any server you already have in a .mcp.json is picked up with no changes.
In this guide, I will show you how to connect your Xero account to Grok Build through Composio, so it can list all active Xero tenant connections, show latest contacts added this week, retrieve all open quotes for this month, and more without leaving the terminal. Composio holds the OAuth tokens for you, and Grok Build only calls the tools you approve.

## Also integrate Xero with

- [ChatGPT Work](https://composio.dev/toolkits/xero/framework/chatgpt)
- [Antigravity](https://composio.dev/toolkits/xero/framework/antigravity)
- [OpenAI Agents SDK](https://composio.dev/toolkits/xero/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/xero/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/xero/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/xero/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/xero/framework/codex)
- [Kimi Code](https://composio.dev/toolkits/xero/framework/kimi)
- [Cursor](https://composio.dev/toolkits/xero/framework/cursor)
- [VS Code](https://composio.dev/toolkits/xero/framework/vscode)
- [OpenCode](https://composio.dev/toolkits/xero/framework/opencode)
- [OpenClaw](https://composio.dev/toolkits/xero/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/xero/framework/hermes-agent)
- [CLI](https://composio.dev/toolkits/xero/framework/cli)
- [Google ADK](https://composio.dev/toolkits/xero/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/xero/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/xero/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/xero/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/xero/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/xero/framework/crew-ai)

## TL;DR

### Why use Composio over a standalone MCP server?
- Read and write access. Composio's Xero integration lets Grok Build take real actions like creating drafts, sending updates, and labeling records, not just reading data.
- 1,000+ SaaS toolkits out of the box. One endpoint gives you a full catalog of pre-built connectors, from Gmail and Slack to Notion, Linear, and Salesforce.
- One MCP server for every app. Wire up a single Composio server instead of maintaining a separate MCP entry for each app.
- Smart, context-aware tool loading. Grok Build caps how many tools it holds in a single request. Composio loads only the tools a task needs, so you do not spend that budget on tools you are not using.
- Cross-app automation. Chain actions across apps in one run. Pull a thread, summarize it in Notion, and post the highlights to Slack from a single prompt.

## Connect Xero to Grok Build

### Prerequisites
- Grok Build installed and signed in. Install with curl -fsSL https://x.ai/cli/install.sh | bash on macOS or Linux, or irm https://x.ai/cli/install.ps1 | iex on Windows PowerShell. On first launch Grok opens a browser to authenticate; for headless or CI use, set an XAI_API_KEY environment variable instead (create the key at [console.x.ai](https://console.x.ai/)).
- Access to the Xero account you want to connect.
- The [Composio MCP endpoint](https://dashboard.composio.dev/login?utm_source=toolkits&utm_medium=framework_template&utm_campaign=grok-build&utm_content=composio_connect). Composio's server is remote and hosted, so there is nothing to run locally and no tunnel to set up.
### Step-by-step: Connect Xero to Grok Build
### 1. Install and verify Grok Build
Install the CLI, then restart your shell so the grok binary lands on your PATH:

```bash
curl -fsSL https://x.ai/cli/install.sh | bash
which grok
```

## What is the Xero MCP server, and what's possible with it?

The Xero MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Xero account. It provides structured and secure access to your accounting data, so your agent can retrieve contacts, manage connections, update invoices, and monitor quotes automatically on your behalf.
- Connection management: Instantly list all active Xero tenant connections linked to your account, making it easy for your agent to select and operate on the right organization.
- Contact retrieval and lookup: Fetch detailed, up-to-date lists of business contacts including filtering, paging, and incremental updates to keep your records synchronized and actionable.
- Quote management and tracking: Retrieve, filter, or search through your sales quotes so your agent can help you stay on top of prospective business and follow up faster.
- Invoice updating and automation: Modify details of existing invoices—such as amounts, due dates, and line items—allowing your agent to keep your invoicing accurate and up to date without manual edits.

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `XERO_CREATE_BANK_TRANSACTION` | Create Bank Transaction | Create a bank transaction in Xero. Use SPEND for payments out or RECEIVE for money received. |
| `XERO_CREATE_CONTACT` | Create Contact | Create a new contact in Xero. Contacts can be customers, suppliers, or both. |
| `XERO_CREATE_INVOICE` | Create Invoice | Create a new invoice in Xero. Supports both sales invoices (ACCREC) and bills (ACCPAY). |
| `XERO_CREATE_ITEM` | Create Item | Create an inventory item in Xero. Items can be tracked for sales and/or purchases. |
| `XERO_CREATE_MANUAL_JOURNAL` | Create Manual Journal | Create one or more manual journals (journal entries) in Xero with journal lines. Manual journals must balance (debits equal credits). |
| `XERO_CREATE_PAYMENT` | Create Payment | Create a payment in Xero to link an invoice with a bank account transaction. |
| `XERO_CREATE_PURCHASE_ORDER` | Create Purchase Order | Create a purchase order in Xero to order goods/services from suppliers. |
| `XERO_GET_ACCOUNT` | Get Account | Retrieve a specific account from Xero's chart of accounts by its unique ID. Returns detailed account information including code, name, type (BANK, REVENUE, EXPENSE, etc.), status (ACTIVE/ARCHIVED), tax settings, bank details (for BANK accounts), and classification. Use XERO_LIST_ACCOUNTS to get account IDs if you don't already have one. |
| `XERO_GET_ASSET` | Get Asset | Retrieve a specific asset by ID from Xero. Returns depreciation details and book value. |
| `XERO_GET_BALANCE_SHEET_REPORT` | Get Balance Sheet Report | Retrieve Balance Sheet report from Xero. Shows assets, liabilities, and equity at a specific date. Liability and credit balances appear as negative numbers in the response. Response structure is Reports → Rows → Sections; account lines are nested inside group sections and summary totals (e.g., 'Total Current Assets') appear in SummaryRows. |
| `XERO_GET_BUDGET` | Get Budget | Retrieve a budget from Xero. Budgets track planned vs actual spending by account. |
| `XERO_GET_CONNECTIONS` | Get Connections | Tool to list active Xero connections. Use to retrieve all current tenant connections for the authenticated user and resolve the correct tenant_id before making data requests. When multiple tenants are returned, never assume the first connection is correct — always explicitly pass the intended tenant_id to every subsequent call. Using a wrong or stale tenant_id can silently return or modify data for a different organisation. |
| `XERO_GET_CONTACTS` | Get Contacts | Tool to retrieve a list of contacts. Use when you need up-to-date contact information with filtering, paging, or incremental updates. |
| `XERO_GET_INVOICE` | Get Invoice | Retrieve a specific invoice by ID from Xero. Returns full invoice details including line items and status. |
| `XERO_GET_ITEM` | Get Item | Retrieve a specific item by ID from Xero. Returns item code, name, pricing, and tax details. |
| `XERO_GET_MANUAL_JOURNAL` | Get Manual Journal | Retrieve a specific manual journal by ID from Xero. Returns full details including journal lines. |
| `XERO_GET_ORGANISATION` | Get Organisation | Retrieve organisation details from Xero. Returns company info, base currency, timezone, financial year settings, SalesTaxBasis, SalesTaxPeriod, etc. Response fields are nested under data.data.Organisations[0]. Use Timezone when computing date ranges to avoid boundary errors. |
| `XERO_GET_PROFIT_LOSS_REPORT` | Get Profit & Loss Report | Retrieve Profit & Loss report from Xero. Shows income, expenses, and net profit for a specified period. Response rows are labeled (e.g., 'Net Profit', SummaryRow); parse by row label, not array index. Aggregates multiple tax codes — not suitable for tax compliance reporting. |
| `XERO_GET_PROJECT` | Get Project | Retrieve a specific project by ID from Xero. Returns project details, deadlines, and status. |
| `XERO_GET_PURCHASE_ORDER` | Get Purchase Order | Retrieve a specific purchase order by ID from Xero. Returns full details including line items and status. |
| `XERO_GET_QUOTES` | Get Quotes | Tool to retrieve a list of quotes. Use when you need to list, filter, or page through sales quotes. Use after obtaining the tenant ID via connections. |
| `XERO_GET_TRIAL_BALANCE_REPORT` | Get Trial Balance Report | Retrieve Trial Balance report from Xero. Shows all account balances (debits and credits) at a specific date. Use to verify that total debits equal total credits and to prepare financial statements. Credit balances appear as negative numbers in the response. |
| `XERO_LIST_ACCOUNTS` | List Accounts | Retrieve chart of accounts from Xero. Returns all accounting codes used for categorizing transactions. Use AccountID (not name or code) as the unique identifier for accounts. Results may be paginated; increment the page parameter until empty results are returned to avoid missing accounts in large organisations. |
| `XERO_LIST_ASSETS` | List Assets | Retrieve fixed assets from Xero. Assets track depreciation and book value of capital equipment. |
| `XERO_LIST_ATTACHMENTS` | List Attachments | List all attachments for a specific entity in Xero (invoice, contact, etc.). |
| `XERO_LIST_BANK_TRANSACTIONS` | List Bank Transactions | Retrieve bank transactions from Xero. Includes SPEND, RECEIVE, and transfer types; unfiltered results include DELETED transactions that skew totals. Dates returned in /Date(milliseconds_since_epoch)/ format. Rate limit: ~60 requests/minute per org; heavy pagination may trigger 429 errors. |
| `XERO_LIST_CREDIT_NOTES` | List Credit Notes | Retrieve list of credit notes from Xero. Credit notes are issued to reduce amounts owed by customers. |
| `XERO_LIST_FILES` | List Files | Retrieve files from Xero Files. Lists documents stored in Xero's file management system. |
| `XERO_LIST_FOLDERS` | List Folders | Retrieve folders from Xero Files. Lists document folders in Xero's file management system. |
| `XERO_LIST_INVOICES` | List Invoices | Retrieve a list of invoices from Xero. Results include both sales invoices (Type=ACCREC) and bills (Type=ACCPAY) by default; filter by Type in the `where` clause when only one is needed. Supports filtering by status, contact, date range, and pagination. |
| `XERO_LIST_ITEMS` | List Items | Retrieve items (inventory/products) from Xero. Items can be tracked for sales and/or purchases. |
| `XERO_LIST_JOURNALS` | List Journals | Retrieve journals from Xero. Journals show the accounting entries for all transactions. Omitting filters returns the full historical journal ledger and can produce very large responses — use If-Modified-Since and/or paymentsOnly to narrow scope. No date range filter parameter exists. Results are returned inside a Journals array field. |
| `XERO_LIST_MANUAL_JOURNALS` | List Manual Journals | Retrieve manual journals from Xero. Manual journals are used for period-end adjustments and corrections. |
| `XERO_LIST_PAYMENTS` | List Payments | Retrieve list of payments from Xero. Payments link invoices to bank transactions; invoices may have multiple partial/split payment records. Response Date fields use Xero's /Date(milliseconds)/ format requiring custom parsing. |
| `XERO_LIST_PROJECTS` | List Projects | Retrieve projects from Xero. Projects track time and costs for client work. |
| `XERO_LIST_PURCHASE_ORDERS` | List Purchase Orders | Retrieve list of purchase orders from Xero. Purchase orders track goods/services ordered from suppliers. |
| `XERO_LIST_TAX_RATES` | List Tax Rates | Retrieve tax rates from Xero. Shows available tax codes and rates for the organization. Use returned tax codes as valid `TaxType` values in other tools — invalid values cause ValidationException errors. |
| `XERO_LIST_TRACKING_CATEGORIES` | List Tracking Categories | Retrieve tracking categories from Xero. Tracking categories are used to segment data for reporting (e.g., departments, regions). |
| `XERO_POST_INVOICE_UPDATE` | Update Invoice | Tool to update an existing invoice. Use when you need to modify the details of an invoice after it's been created. |
| `XERO_UPDATE_CONTACT` | Update Contact | Update an existing contact in Xero. Only provided fields will be updated. |
| `XERO_UPLOAD_ATTACHMENT` | Upload Attachment | Upload a file attachment to a Xero entity (invoice, contact, etc.). Supports PDF, images, and documents. |

## Supported Triggers

None listed.

## Creating MCP Server - Stand-alone vs Composio SDK

Once connected, Grok Build can access the Xero MCP server via Composio to run the app actions you authorize, directly from your terminal.

## Complete Code

None listed.

## How to build Xero MCP Agent with another framework

- [ChatGPT Work](https://composio.dev/toolkits/xero/framework/chatgpt)
- [Antigravity](https://composio.dev/toolkits/xero/framework/antigravity)
- [OpenAI Agents SDK](https://composio.dev/toolkits/xero/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/xero/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/xero/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/xero/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/xero/framework/codex)
- [Kimi Code](https://composio.dev/toolkits/xero/framework/kimi)
- [Cursor](https://composio.dev/toolkits/xero/framework/cursor)
- [VS Code](https://composio.dev/toolkits/xero/framework/vscode)
- [OpenCode](https://composio.dev/toolkits/xero/framework/opencode)
- [OpenClaw](https://composio.dev/toolkits/xero/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/xero/framework/hermes-agent)
- [CLI](https://composio.dev/toolkits/xero/framework/cli)
- [Google ADK](https://composio.dev/toolkits/xero/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/xero/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/xero/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/xero/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/xero/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/xero/framework/crew-ai)

## Related Toolkits

- [Stripe](https://composio.dev/toolkits/stripe) - Stripe is a global online payments platform offering APIs for managing payments, customers, and subscriptions. Trusted by businesses for secure, efficient, and scalable payment processing worldwide.
- [Alpaca](https://composio.dev/toolkits/alpaca) - Alpaca is a stock and crypto trading platform for commission-free trading, real-time market data, and algorithmic strategies. Use it to build brokerage apps, trading bots, and portfolio workflows with market connectivity.
- [Alpha vantage](https://composio.dev/toolkits/alpha_vantage) - Alpha Vantage is a financial data platform offering real-time and historical stock market APIs. Get instant, reliable access to equities, forex, and technical analysis data for smarter trading decisions.
- [Altoviz](https://composio.dev/toolkits/altoviz) - Altoviz is a cloud-based billing and invoicing platform for businesses. It streamlines online payments, expense tracking, and customizable invoice management.
- [Benzinga](https://composio.dev/toolkits/benzinga) - Benzinga provides real-time financial news and data APIs for market coverage. It helps you track breaking news and actionable market insights instantly.
- [Brex](https://composio.dev/toolkits/brex) - Brex provides corporate credit cards and spend management tailored for startups and tech businesses. It helps optimize company cash flow, streamline accounting, and accelerate business growth.
- [Chaser](https://composio.dev/toolkits/chaser) - Chaser is accounts receivable automation software that sends invoice reminders and helps businesses get paid faster. It streamlines the collections process to save time and improve cash flow.
- [Clientary](https://composio.dev/toolkits/clientary) - Clientary is a platform for managing clients, invoices, projects, proposals, and more. It streamlines client work and saves you serious admin time.
- [Coinbase](https://composio.dev/toolkits/coinbase) - Coinbase is a platform for buying, selling, and storing cryptocurrency. It makes exchanging and managing crypto simple and secure for everyone.
- [Coinranking](https://composio.dev/toolkits/coinranking) - Coinranking is a comprehensive cryptocurrency market data platform offering access to real-time coin prices, market caps, and historical data. Get accurate, up-to-date stats for thousands of digital assets in one place.
- [Coupa](https://composio.dev/toolkits/coupa) - Coupa is a business spend management platform for procurement, invoicing, and expenses. It helps organizations streamline purchasing, control costs, and gain complete visibility over financial operations.
- [CurrencyScoop](https://composio.dev/toolkits/currencyscoop) - CurrencyScoop is a developer-friendly API for real-time and historical currency exchange rates. Easily access fiat and crypto data for smart, up-to-date financial applications.
- [Daffy](https://composio.dev/toolkits/daffy) - Daffy is a modern charitable giving platform with a donor-advised fund. Easily set aside funds, grow them tax-free, and donate to over 1.7 million U.S. charities.
- [Eagle doc](https://composio.dev/toolkits/eagle_doc) - Eagle doc is an AI-powered OCR API for invoices and receipts. It delivers fast, reliable, and accurate document data extraction for seamless automation.
- [Elorus](https://composio.dev/toolkits/elorus) - Elorus is an online invoicing and time-tracking software for freelancers and small businesses. Easily manage finances, bill clients, and track work in one place.
- [Eodhd apis](https://composio.dev/toolkits/eodhd_apis) - Eodhd apis delivers comprehensive financial data, including live and historical stock prices, via robust APIs. Easily access reliable, up-to-date market insights to power your apps, dashboards, and analytics.
- [Fidel api](https://composio.dev/toolkits/fidel_api) - Fidel api is a secure platform for linking payment cards to web and mobile apps. It enables real-time card transaction monitoring and event-based automation for businesses.
- [Finage](https://composio.dev/toolkits/finage) - Finage is a secure API platform delivering real-time and historical financial data for stocks, forex, crypto, indices, and commodities. It empowers developers and businesses to access, analyze, and act on market data instantly.
- [Finmei](https://composio.dev/toolkits/finmei) - Finmei is an invoicing tool that simplifies billing, invoice management, and expense tracking. Ideal for automating and organizing your business finances in one place.
- [Fixer](https://composio.dev/toolkits/fixer) - Fixer is a currency data API offering real-time and historical exchange rates for 170 currencies. Instantly access accurate, up-to-date forex data for your applications and workflows.

## Frequently Asked Questions

### What is the difference between the Composio Tool Router and a standalone Xero MCP server?

A standalone Xero MCP server gives Grok Build a fixed set of Xero tools tied to that one server. The Composio Tool Router lets Grok Build load tools from Xero and many other apps on demand, based on the task, all through a single endpoint.

### Does Grok Build support MCP?

Yes. Grok Build ships with native MCP support. Add a server with the grok mcp add command, from the in-session /mcps modal, or by editing ~/.grok/config.toml. It also reads Claude Code-style .mcp.json files, so Grok Build discovers the tools automatically.

### Can I reuse the same MCP config I already use with Claude Code?

Yes. Grok Build has zero-migration compatibility with Claude Code's configuration, so the same Composio server entry works in both without edits.

### How safe is my Xero data with Composio?

Tokens, keys, and configuration are encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant, so your Xero data and credentials are handled to that standard.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
