Xero MCP Server (Vercel)
README.md
# Xero MCP server (Vercel version)
This lets Claude write to Xero directly (invoices, contacts, payments,
bills, and more).
It reuses the official Xero MCP server code
(https://github.com/XeroAPI/xero-mcp-server) for all the Xero logic.
The only new part is `api/mcp.ts`, which exposes it as a live web
address instead of a local-only tool.
## What you need
- A GitHub account (free)
- Your existing Vercel account
- A Xero Custom Connection (Client ID + Secret)
## Setup, step by step
### 1. Create a Xero Custom Connection
1. Go to https://developer.xero.com/app/manage
2. Click "New app"
3. Choose "Custom Connection"
4. Pick the organisation: Savili Maiava and Darryl Scott Pty Ltd
5. Copy the Client ID and Client Secret somewhere safe
### 2. Push this code to GitHub
1. Create a new, empty repo on GitHub (e.g. `xero-mcp-vercel`)
2. Do NOT add a README when creating it (this folder already has one)
3. Follow GitHub's "push an existing folder" instructions with this
folder
### 3. Import into Vercel as a NEW project
1. In Vercel, click "Add New" → "Project"
2. Import the `xero-mcp-vercel` GitHub repo
3. This creates a separate project from theedgemarina-website
### 4. Add environment variables in Vercel
Before deploying (or right after, then redeploy), add these three,
under Project Settings → Environment Variables:
- `XERO_CLIENT_ID` — from step 1
- `XERO_CLIENT_SECRET` — from step 1
- `MCP_ACCESS_KEY` — make up any long random password yourself
### 5. Deploy
Click Deploy. Vercel gives you a URL like:
`https://xero-mcp-vercel.vercel.app`
### 6. Add to Claude as a custom connector
Your connector URL is:
`https://xero-mcp-vercel.vercel.app/api/mcp?key=YOUR_MCP_ACCESS_KEY`
(replace with your real domain and the password from step 4)
Add that under Claude Settings → Connectors → Add custom connector.
### 7. Test it
Ask Claude to list your Xero contacts, then try creating a test
contact. Check it appears in Xero.
## Security notes
- Nobody can use this URL without the password in it. Keep it secret.
- The Custom Connection only reaches the one Xero organisation you
picked in step 1.
- No database is used or needed — tokens are fetched fresh from Xero
on every request.
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessSyncing