Xero MCP Server
oficialInteraja com os dados contábeis da sua empresa usando nosso servidor MCP oficial.
Documentação
Servidor MCP Xero
Esta é uma implementação de servidor do Model Context Protocol (MCP) para o Xero. Ela fornece uma ponte entre o protocolo MCP e a API do Xero, permitindo acesso padronizado aos recursos contábeis e empresariais do Xero.
Funcionalidades
- Autenticação OAuth2 do Xero com conexões personalizadas
- Gerenciamento de contatos
- Gerenciamento do plano de contas
- Criação e gerenciamento de faturas
- Conformidade com o protocolo MCP
Pré-requisitos
- Node.js (v18 ou superior)
- npm ou pnpm
- Uma conta de desenvolvedor Xero com credenciais de API
Documentação e Links
- Documentação da API Pública do Xero
- Explorador de API do Xero
- Especificações OpenAPI do Xero
- Documentação do SDK da API Pública Xero-Node
- Documentação do Desenvolvedor
Configuração
Criar uma Conta Xero
Se você ainda não tem uma conta e organização Xero, pode criar uma inscrevendo-se aqui usando o teste gratuito.
Recomendamos começar com uma Empresa de Demonstração, pois ela vem com alguns dados de exemplo pré-carregados. Depois de fazer login, alterne para ela usando o menu suspenso no canto superior esquerdo e selecionando "Empresa de Demonstração". Você pode redefinir os dados de uma Empresa de Demonstração, ou alterar o país, a qualquer momento usando o menu suspenso no canto superior esquerdo e navegando para Meu Xero.
NOTA: Para usar consultas específicas da folha de pagamento, a região deve ser NZ ou UK.
Autenticação
Há 2 modos de autenticação suportados no servidor MCP Xero:
1. Conexões Personalizadas
Esta é uma escolha melhor para testes e desenvolvimento, que permite especificar o ID do cliente e os segredos para uma organização específica. Também é a abordagem recomendada se você estiver integrando isso a clientes MCP de terceiros, como o Claude Desktop.
Configurando sua conta de Desenvolvedor Xero
Configure uma Conexão Personalizada seguindo estas instruções: https://developer.xero.com/documentation/guides/oauth2/custom-connections/
Escopos Necessários
Conexões personalizadas exigem escopos diferentes dependendo de quando foram criadas. Todos os escopos na lista relevante devem ser adicionados à sua conexão personalizada:
| Conexão Personalizada Criada | Escopos Necessários |
|---|---|
| Antes de 29 de abril de 2026 | SCOPES_V1 (permissões agrupadas) |
| A partir de 29 de abril de 2026 | SCOPES_V2 (permissões granulares) |
Nota: O servidor MCP tenta automaticamente os escopos V1 primeiro e recorre aos V2, se necessário.
Você pode substituí-los definindo a variável de ambiente
XERO_SCOPEScom uma lista de escopos separados por espaços.
Integrando o servidor MCP com o Claude Desktop
Para adicionar o servidor MCP ao Claude, vá para Configurações > Desenvolvedor > Editar configuração e adicione o seguinte ao seu arquivo claude_desktop_config.json:
{
"mcpServers": {
"xero": {
"command": "npx",
"args": ["-y", "@xeroapi/xero-mcp-server@latest"],
"env": {
"XERO_CLIENT_ID": "your_client_id_here",
"XERO_CLIENT_SECRET": "your_client_secret_here",
"XERO_SCOPES": "accounting.invoices accounting.contacts accounting.settings"
}
}
}
}
A variável XERO_SCOPES é opcional. Se omitida, os escopos padrão listados acima serão usados.
NOTA: Se você estiver usando o Node Version Manager na seção "command": "npx", altere para o caminho completo do executável, ou seja: your_home_directory/.nvm/versions/node/v22.14.0/bin/npx no Mac / Linux ou "your_home_directory\\.nvm\\versions\\node\\v22.14.0\\bin\\npx" no Windows
2. Token de Portador
Esta é uma escolha melhor se você precisar oferecer suporte a várias contas Xero em tempo de execução e permitir que o cliente MCP execute um fluxo de autenticação (como PKCE) conforme necessário. Neste caso, use a seguinte configuração:
{
"mcpServers": {
"xero": {
"command": "npx",
"args": ["-y", "@xeroapi/xero-mcp-server@latest"],
"env": {
"XERO_CLIENT_BEARER_TOKEN": "your_bearer_token"
}
}
}
}
NOTA: O XERO_CLIENT_BEARER_TOKEN terá precedência sobre o XERO_CLIENT_ID se definido.
Escopos Necessários para Token de Portador
Ao obter um token de portador, você deve solicitar os escopos apropriados. Os escopos que você deve solicitar são:
Nota: Alguns escopos estão sendo descontinuados em favor de escopos mais granulares. Consulte a documentação de Escopos do Xero OAuth 2.0 para detalhes sobre os cronogramas de descontinuação.
accounting.transactions (Deprecated)
accounting.transactions.read (Deprecated)
accounting.invoices
accounting.invoices.read
accounting.payments
accounting.payments.read
accounting.banktransactions
accounting.banktransactions.read
accounting.manualjournals
accounting.manualjournals.read
accounting.reports.read (Deprecated)
accounting.reports.aged.read
accounting.reports.balancesheet.read
accounting.reports.profitandloss.read
accounting.reports.trialbalance.read
accounting.contacts
accounting.settings
payroll.settings
payroll.employees
payroll.timesheets
Comandos MCP Disponíveis
list-accounts: Recuperar uma lista de contaslist-contacts: Recuperar uma lista de contatos do Xerolist-credit-notes: Recuperar uma lista de notas de créditolist-invoices: Recuperar uma lista de faturaslist-items: Recuperar uma lista de itenslist-manual-journals: Recuperar uma lista de diários manuaislist-organisation-details: Recuperar detalhes sobre uma organizaçãolist-profit-and-loss: Recuperar um relatório de lucros e perdaslist-quotes: Recuperar uma lista de orçamentoslist-tax-rates: Recuperar uma lista de alíquotas de impostoslist-payments: Recuperar uma lista de pagamentoslist-trial-balance: Recuperar um relatório de balancetelist-bank-transactions: Recuperar uma lista de transações de conta bancárialist-payroll-employees: Recuperar uma lista de Funcionários da Folha de Pagamentolist-report-balance-sheet: Recuperar um relatório de balanço patrimoniallist-payroll-employee-leave: Recuperar os registros de licença de um Funcionário da Folha de Pagamentolist-payroll-employee-leave-balances: Recuperar os saldos de licença de um Funcionário da Folha de Pagamentolist-payroll-employee-leave-types: Recuperar uma lista de tipos de licença da Folha de Pagamentolist-payroll-leave-periods: Recuperar uma lista dos períodos de licença de um Funcionário da Folha de Pagamentolist-payroll-leave-types: Recuperar uma lista de todos os tipos de licença disponíveis na Folha de Pagamento do Xerolist-timesheets: Recuperar uma lista de Quadros de Horários da Folha de Pagamentolist-aged-receivables-by-contact: Recupera valores a receber vencidos para um contatolist-aged-payables-by-contact: Recupera valores a pagar vencidos para um contatolist-contact-groups: Recuperar uma lista de grupos de contatoslist-tracking-categories: Recuperar uma lista de categorias de rastreamentocreate-bank-transaction: Criar uma nova transação bancáriacreate-contact: Criar um novo contatocreate-credit-note: Criar uma nova nota de créditocreate-invoice: Criar uma nova faturacreate-item: Criar um novo itemcreate-manual-journal: Criar um novo diário manualcreate-payment: Criar um novo pagamentocreate-quote: Criar um novo orçamentocreate-payroll-timesheet: Criar um novo Quadro de Horários da Folha de Pagamentocreate-tracking-category: Criar uma nova categoria de rastreamentocreate-tracking-option: Criar uma nova opção de rastreamentoupdate-bank-transaction: Atualizar uma transação bancária existenteupdate-contact: Atualizar um contato existenteupdate-invoice: Atualizar uma fatura rascunho existenteupdate-item: Atualizar um item existenteupdate-manual-journal: Atualizar um diário manual existenteupdate-quote: Atualizar um orçamento rascunho existenteupdate-credit-note: Atualizar uma nota de crédito rascunho existenteupdate-tracking-category: Atualizar uma categoria de rastreamento existenteupdate-tracking-options: Atualizar opções de rastreamentoupdate-payroll-timesheet-line: Atualizar uma linha em um Quadro de Horários da Folha de Pagamento existenteapprove-payroll-timesheet: Aprovar um Quadro de Horários da Folha de Pagamentorevert-payroll-timesheet: Reverter um Quadro de Horários da Folha de Pagamento aprovadoadd-payroll-timesheet-line: Adicionar nova linha em um Quadro de Horários da Folha de Pagamento existentedelete-payroll-timesheet: Excluir um Quadro de Horários da Folha de Pagamento existenteget-payroll-timesheet: Recuperar um Quadro de Horários da Folha de Pagamento existente
Para documentação detalhada da API, consulte a Especificação do Protocolo MCP.
Para Desenvolvedores
Instalação
# Using npm
npm install
# Using pnpm
pnpm install
Executar uma compilação
# Using npm
npm run build
# Using pnpm
pnpm build
Integrando com o Claude Desktop
Para vincular seu servidor MCP Xero em desenvolvimento ao Claude Desktop, vá para Configurações > Desenvolvedor > Editar configuração e adicione o seguinte ao seu arquivo claude_desktop_config.json:
NOTA: Para Windows, certifique-se de que o caminho args escape o \ entre pastas, ou seja, "C:\\projects\xero-mcp-server\\dist\\index.js"
{
"mcpServers": {
"xero": {
"command": "node",
"args": ["insert-your-file-path-here/xero-mcp-server/dist/index.js"],
"env": {
"XERO_CLIENT_ID": "your_client_id_here",
"XERO_CLIENT_SECRET": "your_client_secret_here"
}
}
}
}
Licença
MIT
Segurança
Por favor, não faça commit do seu arquivo .env ou de quaisquer credenciais sensíveis no controle de versão (ele está incluído no .gitignore como um padrão seguro.)