{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.Servosity/xero-mcp","description":"Every Xero Accounting read plus a local SQLite ledger  -  aging, reconciliation, and GL tie-out","title":"Xero MCP","repository":{"url":"https://github.com/servosity/msp-skills","source":"github","subfolder":"skills/xero"},"version":"0.1.4","icons":[{"src":"https://raw.githubusercontent.com/servosity/msp-skills/main/docs/assets/social/xero/xero-512x512.png","mimeType":"image/png","sizes":["512x512"]}],"packages":[{"registryType":"mcpb","identifier":"https://github.com/Servosity/msp-skills/releases/download/xero-v0.1.4/xero-mcp.mcpb","version":"0.1.4","fileSha256":"f2b96cd3f59fa3c37be1d26d43a2c698d33c6ce6cea4df82b6a973663b2519d8","transport":{"type":"stdio"},"environmentVariables":[{"description":"Set the XERO_ACCESS_TOKEN credential for the Xero MCP server.","isRequired":true,"isSecret":true,"name":"XERO_ACCESS_TOKEN"},{"description":"Authorization endpoint the login flow opens. Change it only if Xero moves the endpoint.","default":"https://login.xero.com/identity/connect/authorize","name":"XERO_AUTHORIZATION_URL"},{"description":"Base URL for the Xero API. Leave the prefilled default unless your account uses a different regional or self-hosted host.","default":"https://api.xero.com/api.xro/2.0","name":"XERO_BASE_URL"},{"description":"Client ID of your Xero app (developer.xero.com > My Apps). Set it with the client secret to run the OAuth2 flow; leave blank if you paste an access token instead.","isSecret":true,"name":"XERO_CLIENT_ID"},{"description":"Client secret paired with XERO_CLIENT_ID.","isSecret":true,"name":"XERO_CLIENT_SECRET"},{"description":"Optional. Sets XERO_OAUTH2 for the Xero MCP server.","isSecret":true,"name":"XERO_OAUTH2"},{"description":"The Xero organisation ('tenant') GUID sent as the Xero-Tenant-Id header. Every call requires it; `connections list` returns the tenants your token can reach.","isRequired":true,"name":"XERO_TENANT_ID"},{"description":"Token endpoint the client-credentials exchange posts to. Leave the prefilled default unless your tenant uses a different token endpoint.","default":"https://identity.xero.com/connect/token","name":"XERO_TOKEN_URL"},{"description":"Set to 1 to keep credentials off disk. The token cache becomes a no-op, so the connector mints a fresh token each run instead of writing one to config.toml. Leave blank for the default cached behaviour.","name":"XERO_NO_CONFIG_WRITE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-06T18:44:51.071872Z","publishedAt":"2026-09-06T18:44:51.071872Z","updatedAt":"2026-09-06T18:44:51.071872Z","isLatest":true}}}
