# How to connect Xero with ChatGPT

```json
{
  "title": "How to connect Xero with ChatGPT",
  "toolkit": "Xero",
  "toolkit_slug": "xero",
  "framework": "ChatGPT",
  "framework_slug": "chatgpt",
  "url": "https://composio.dev/toolkits/xero/framework/chatgpt",
  "markdown_url": "https://composio.dev/toolkits/xero/framework/chatgpt.md",
  "updated_at": "2026-10-12T13:44:54.199Z"
}
```

## Introduction

### How to connect Xero MCP with ChatGPT
[ChatGPT](https://chatgpt.com/) can take action across your apps and files, stay with a project for hours, and turn a goal into finished materials like sheets, slides, and docs, not just answers.
In this guide, I will explain the easiest and most secure way to connect your Xero account to ChatGPT via Composio Connect, so it can list all active xero tenant connections, show latest contacts added this week, retrieve all open quotes for this month through natural language commands without ever putting your account credentials at risk.

## Also integrate Xero with

- [Claude Code](https://composio.dev/toolkits/xero/framework/claude-code)
- [Cursor](https://composio.dev/toolkits/xero/framework/cursor)
- [Claude Cowork](https://composio.dev/toolkits/xero/framework/claude-cowork)
- [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)
- [Codex](https://composio.dev/toolkits/xero/framework/codex)
- [Kimi Code](https://composio.dev/toolkits/xero/framework/kimi)
- [Grok Build](https://composio.dev/toolkits/xero/framework/grok-build)
- [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)
- [Atomic Agent](https://composio.dev/toolkits/xero/framework/atomic-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)
- [Pydantic AI](https://composio.dev/toolkits/xero/framework/pydantic-ai)
- [AutoGen](https://composio.dev/toolkits/xero/framework/autogen)

## TL;DR

### Why use Composio over default connectors?
- Apps with read and write access. Default connectors mostly can read your data. Composio's Xero integration lets ChatGPT take actions like creating drafts, sending updates, labeling records, and more.
- 1,500+ SaaS toolkits out of the box. Composio gives you instant access to a vast catalog of pre-built connectors, from Gmail and Slack to Notion, Linear, and Salesforce.
- One MCP server for every app. Connect any of your applications on demand through a single endpoint, rather than juggling a separate server for each app.
- Smart, context-aware tool loading. Unlike traditional MCP servers that dump every available tool into the LLM context window, Composio searches for and loads only the tools relevant to the task at hand.
- Cross-app automation. Chain actions across multiple apps in a single run - fetch a thread, summarize it in Notion, and post highlights to Slack without leaving the conversation.

## Connect Xero to ChatGPT

### Prerequisites
- A ChatGPT account. We will use the [ChatGPT desktop app](https://openai.com/chatgpt/download/), and the steps are the same on the web.
- Access to the Xero workspace you want to connect.
- [Composio plugin](https://dashboard.composio.dev/login?utm_source=toolkits&utm_medium=framework_template&utm_campaign=chatgpt&utm_content=composio_connect&next=%2F~%2Forg%2Fconnect%2Fclients%2Fchatgpt).
Note: Composio connects through OAuth. You will be asked to sign in and approve specific permissions. Review the permission screen carefully if you are using a work account.
### Step-by-step: Connect Xero to ChatGPT
### 1. Install the Composio plugin
Click the button. ChatGPT opens the Composio plugin page. Click Install plugin.
[Install in ChatGPT](https://chatgpt.com/plugins/plugin_asdk_app_6a58503580c08191b78cc5bdaf4eba6e)
You can also find it inside ChatGPT: go to Settings, open Plugins, search the marketplace for Composio, and click Install plugin.
### 2. Authenticate
After you install, ChatGPT asks you to authenticate with Composio. Log in and click Allow access to authorize ChatGPT to use your Composio account.
### 3. Start using Composio
That is it. Composio tools are now available in ChatGPT. Type @Composio followed by your request, for example @Composio find unread Xero messages and summarize them, and it will run the actions you authorize. On first use it asks you to authorize Xero.
### Option 2: Add Composio as an MCP server
If you cannot use the plugin marketplace, add Composio as a custom MCP server instead.
### 1. Open the MCP settings
In ChatGPT, go to Settings and open the Plugins section. Inside the Plugins page, click the MCP tab.
### 2. Add the server
Click Add server. In the Name field enter Composio, for Type select Streamable HTTP, and in the URL field paste the Composio MCP server URL:

```bash
https://connect.composio.dev/mcp
```

## 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 retrieve 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_CREDIT_NOTE` | Create Credit Note | Create a new credit note in Xero. Credit notes are used to reduce amounts owed by customers (ACCRECCREDIT) or to suppliers (ACCPAYCREDIT). |
| `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_CREATE_QUOTE` | Create Quote | Create a new sales quote in Xero for a customer or prospect. Quotes can be sent to contacts for approval and later converted to invoices. Use this action when you need to create a formal price proposal or quotation for goods or services before issuing an invoice. |
| `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_BANK_TRANSACTION` | Get Bank Transaction | Retrieve a specific spent or received money transaction from Xero by its unique bank transaction ID. Returns full transaction details including line items, contact, bank account, amounts, and reconciliation status. Use this action when you need to fetch the details of a specific bank transaction that was previously created. |
| `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_CREDIT_NOTE` | Get Credit Note | Retrieve a specific credit note by ID from Xero. Returns full credit note details including line items, allocations, and status. Use this action when you need to fetch detailed information about a single credit note by its UUID identifier. |
| `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_PAYMENT` | Get Payment | Retrieve a specific payment by ID from Xero. Returns full payment details including associated invoice, account, and reconciliation status. Use this action when you need to inspect a particular payment record to verify its status, amount, or linked transactions. |
| `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_QUOTES` | List Quotes | Retrieve a list of sales quotes from Xero with optional filtering and pagination. Supports filtering by date ranges, contact, status, and quote number. Returns up to 100 quotes per page with full line item details. Use this action when you need to query, list, or search for quotes in a Xero organization. |
| `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_BANK_TRANSACTION` | Update Bank Transaction | Update an existing bank transaction in Xero. Use this action when you need to modify details of a previously created bank transaction such as line items, reference, date, or status. Note: Reconciled transactions cannot be updated and will return a validation error. |
| `XERO_UPDATE_CONTACT` | Update Contact | Update an existing contact in Xero. Only provided fields will be updated. |
| `XERO_UPDATE_CREDIT_NOTE` | Update Credit Note | Updates a specific credit note in Xero by its unique identifier. This action allows you to modify credit note details such as status, line items, reference numbers, and other fields after the credit note has been created. Use this action when you need to change the status of a credit note (e.g., from DRAFT to AUTHORISED), update line items, modify reference information, or make other changes to an existing credit note. The credit note must already exist in Xero - use the credit_note_id to specify which credit note to update. Not all fields can be updated depending on the current status of the credit note. |
| `XERO_UPDATE_MANUAL_JOURNAL` | Update Manual Journal | Update an existing manual journal (journal entry) in Xero by its ID. Use this action when you need to modify the narration, date, journal lines, status, or other properties of an existing manual journal. Manual journals must balance (debits equal credits) or the update will fail. Only DRAFT manual journals can have their journal lines updated; POSTED journals can have limited fields updated. |
| `XERO_UPDATE_PURCHASE_ORDER` | Update Purchase Order | Updates a specific purchase order in Xero by its unique identifier. Use this action when you need to modify an existing purchase order's details such as line items, delivery information, status, or other fields. Only the fields provided in the request will be updated; fields not included will remain unchanged. |
| `XERO_UPDATE_QUOTE` | Update Quote | Updates a specific quote in Xero by its QuoteID. Use this action when you need to modify an existing sales quote, such as changing its status, updating line items, contact details, dates, or other quote properties. Only the fields provided in the request will be updated - unprovided fields will remain unchanged. |
| `XERO_UPLOAD_ATTACHMENT` | Upload Attachment | Upload a file attachment to a Xero entity (invoice, contact, etc.). Supports PDF, images, and documents. |
| `XERO_VALIDATE_CREDENTIAL` | Validate Credential | Validate Xero API credentials by testing access to connected organisations. Returns success status and a message indicating whether authentication is working. Use this action when you need to verify that Xero API credentials are valid and properly configured before attempting other operations. This is particularly useful for troubleshooting authentication issues or confirming a new connection is operational. |

## Supported Triggers

None listed.

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

Once connected, ChatGPT can access the Xero MCP server via Composio to run actions that you authorize, directly in your workspace.

## Complete Code

None listed.

## How to build Xero MCP Agent with another framework

- [Claude Code](https://composio.dev/toolkits/xero/framework/claude-code)
- [Cursor](https://composio.dev/toolkits/xero/framework/cursor)
- [Claude Cowork](https://composio.dev/toolkits/xero/framework/claude-cowork)
- [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)
- [Codex](https://composio.dev/toolkits/xero/framework/codex)
- [Kimi Code](https://composio.dev/toolkits/xero/framework/kimi)
- [Grok Build](https://composio.dev/toolkits/xero/framework/grok-build)
- [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)
- [Atomic Agent](https://composio.dev/toolkits/xero/framework/atomic-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)
- [Pydantic AI](https://composio.dev/toolkits/xero/framework/pydantic-ai)
- [AutoGen](https://composio.dev/toolkits/xero/framework/autogen)

## 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.
- [44API](https://composio.dev/toolkits/44api) - 44API is an API service for validating VAT and tax identifiers and returning company details. Use it to verify business tax data and manage account IP whitelists quickly.
- [Airwallex](https://composio.dev/toolkits/airwallex) - Airwallex is a global financial platform providing business accounts, payments, payouts, FX, and cards. Built to simplify cross-border payments and streamline financial operations for businesses.
- [Aiwyn Tax MCP](https://composio.dev/toolkits/aiwyn_tax_mcp) - Aiwyn Tax MCP is a tax estimation service powered by Aiwyn's federal and state tax engine. It helps teams estimate tax outcomes without building tax calculation logic from scratch.
- [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.
- [Bigdata.com MCP](https://composio.dev/toolkits/bigdata_com_mcp) - Bigdata.com MCP provides grounded access to financial news, transcripts, filings, and entity intelligence. Ideal for building research workflows and generating timely market insights.
- [Billsby](https://composio.dev/toolkits/billsby) - Billsby is a subscription billing platform for managing customers, subscriptions, invoices, products, plans, usage counters, add-ons, and allowances. It helps SaaS and subscription teams automate billing operations without building complex billing logic from scratch.
- [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.
- [Cashfree](https://composio.dev/toolkits/cashfree_payments_mcp) - Cashfree is a merchant payments platform that handles collection, payouts, subscriptions, settlements, refunds, and identity verification. Simplifies merchant money lifecycle management with unified, API-driven workflows.
- [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.
- [Clarity AI MCP](https://composio.dev/toolkits/clarity_ai_mcp) - Clarity AI MCP is an MCP toolkit for simulating SFDR 2.0 fund classifications from a fund name, ISIN, or CUSIP. Use it to tap Clarity AI disclosure data and modeling without building custom sustainability-data workflows.
- [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.
- [Coinbase Agents MCP](https://composio.dev/toolkits/coinbase_agents_mcp) - Coinbase Agents MCP is Coinbase's managed toolkit exposing accounts, portfolios, orders, fills, and market data. Use it to let authorized agents inspect holdings, execute trades, perform transfers, and handle payments.
- [Coinbase Wallet MCP](https://composio.dev/toolkits/coinbase_wallet_mcp) - Coinbase Wallet MCP is Coinbase's wallet service for interacting with onchain accounts. Use it to give agents secure, structured access to inspect wallets and request onchain actions.
- [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.

## Frequently Asked Questions

### What are the differences in Tool Router MCP and Xero MCP?

With a standalone Xero MCP server, the agents and LLMs can only access a fixed set of Xero tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Xero and many other apps based on the task at hand, all through a single MCP endpoint.

### Can I use Tool Router MCP with ChatGPT?

Yes, you can. ChatGPT fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Xero tools.

### Can I manage the permissions and scopes for Xero while using Tool Router?

Yes, absolutely. You can configure which Xero scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

### How safe is my data with Composio Tool Router?

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Xero data and credentials are handled as safely as possible.

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