What is Model Context Protocol (MCP) Server + Xero OAuth?
A reference MCP server that supports remote connections and integrates Xero OAuth, deployable to Cloudflare Workers. It acts as an OAuth server for MCP clients and an OAuth client for Xero, allowing developers to build authenticated MCP tools linked to a user’s Xero account.
How to use Model Context Protocol (MCP) Server + Xero OAuth?
Clone the repository, install dependencies (npm install), create a Xero OAuth app, and set secrets via Wrangler (XERO_CLIENT_ID, XERO_CLIENT_SECRET, COOKIE_ENCRYPTION_KEY). Set up a KV namespace, then deploy with wrangler deploy. Test the remote server using the MCP Inspector at https://mcp-xero-oauth.<your-subdomain>.workers.dev/sse. Configure clients (e.g., Claude Desktop) using the command npx mcp-remote <SSE endpoint>. Local development instructions are also provided.
Key features of Model Context Protocol (MCP) Server + Xero OAuth
- Remote MCP connections with built-in Xero OAuth authentication
- Acts as OAuth server for MCP clients and client for Xero
- Deployed on Cloudflare Workers using durable objects and KV storage
- Automatic token refresh (Xero tokens expire after 30 minutes)
- Multi-tenant support for Xero organizations
- Role-based tool access (e.g., “generateImage” restricted to allowed users)
Use cases of Model Context Protocol (MCP) Server + Xero OAuth
- Letting users sign in with Xero to access accounting tools via MCP clients
- Providing a template for integrating any OAuth provider with a remote MCP server
- Restricting sensitive tools (e.g., image generation) to specific Xero users
- Deploying a production-grade, self-hosted MCP server with authentication
Comments