Xero MCP Server

공식

귀사의 공식 MCP 서버를 사용하여 비즈니스의 회계 데이터와 상호작용하세요.

문서

Xero MCP 서버

이것은 Xero를 위한 모델 컨텍스트 프로토콜(MCP) 서버 구현입니다. MCP 프로토콜과 Xero API 간의 브리지를 제공하여 Xero의 회계 및 비즈니스 기능에 대한 표준화된 접근을 가능하게 합니다.

기능

  • 커스텀 연결을 통한 Xero OAuth2 인증
  • 연락처 관리
  • 계정과목표 관리
  • 송장 생성 및 관리
  • MCP 프로토콜 준수

사전 요구 사항

  • Node.js (v18 이상)
  • npm 또는 pnpm
  • API 자격 증명이 있는 Xero 개발자 계정

문서 및 링크

설정

Xero 계정 생성

아직 Xero 계정과 조직이 없다면, 무료 평가판을 사용하여 여기에서 가입하여 생성할 수 있습니다.

미리 로드된 샘플 데이터가 포함되어 있으므로 데모 회사로 시작하는 것을 권장합니다. 로그인한 후, 왼쪽 상단 드롭다운을 사용하여 "데모 회사"를 선택하여 전환하십시오. 데모 회사의 데이터를 재설정하거나 국가를 변경하려면 왼쪽 상단 드롭다운을 사용하여 My Xero로 이동하면 됩니다.

참고: 급여 관련 쿼리를 사용하려면 지역이 NZ 또는 UK여야 합니다.

인증

Xero MCP 서버에서는 두 가지 인증 모드가 지원됩니다:

1. 커스텀 연결

이는 테스트 및 개발에 더 적합한 선택으로, 특정 조직에 대한 클라이언트 ID와 비밀을 지정할 수 있습니다. 또한 Claude Desktop과 같은 타사 MCP 클라이언트에 통합하는 경우 권장되는 접근 방식입니다.

Xero 개발자 계정 구성

다음 지침에 따라 커스텀 연결을 설정하십시오: https://developer.xero.com/documentation/guides/oauth2/custom-connections/

필수 범위

커스텀 연결은 생성 시기에 따라 다른 범위가 필요합니다. 관련 목록의 모든 범위를 커스텀 연결에 추가해야 합니다:

커스텀 연결 생성 시기필수 범위
2026년 4월 29일 이전SCOPES_V1 (번들 권한)
2026년 4월 29일부터SCOPES_V2 (세분화된 권한)

참고: MCP 서버는 자동으로 V1 범위를 먼저 시도하고 필요 시 V2로 폴백합니다.

XERO_SCOPES 환경 변수를 공백으로 구분된 범위 목록으로 설정하여 이를 재정의할 수 있습니다.

MCP 서버를 Claude Desktop과 통합

Claude에 MCP 서버를 추가하려면 설정 > 개발자 > 구성 편집으로 이동하여 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"
      }
    }
  }
}

XERO_SCOPES 변수는 선택 사항입니다. 생략하면 위에 나열된 기본 범위가 사용됩니다.

참고: Node Version Manager를 사용하는 경우 "command": "npx" 섹션을 실행 파일의 전체 경로로 변경하십시오. 예: Mac / Linux의 경우 your_home_directory/.nvm/versions/node/v22.14.0/bin/npx, Windows의 경우 "your_home_directory\\.nvm\\versions\\node\\v22.14.0\\bin\\npx"

2. 베어러 토큰

이는 런타임에 여러 Xero 계정을 지원하고 MCP 클라이언트가 필요에 따라 인증 흐름(예: PKCE)을 실행할 수 있도록 하려는 경우 더 나은 선택입니다. 이 경우 다음 구성을 사용하십시오:

{
  "mcpServers": {
    "xero": {
      "command": "npx",
      "args": ["-y", "@xeroapi/xero-mcp-server@latest"],
      "env": {
        "XERO_CLIENT_BEARER_TOKEN": "your_bearer_token"
      }
    }
  }
}

참고: XERO_CLIENT_BEARER_TOKEN이 정의된 경우 XERO_CLIENT_ID보다 우선합니다.

베어러 토큰의 필수 범위

베어러 토큰을 획득할 때 적절한 범위를 요청해야 합니다. 요청해야 하는 범위는 다음과 같습니다:

참고: 일부 범위는 더 세분화된 범위를 위해 사용 중단될 예정입니다. 사용 중단 일정에 대한 자세한 내용은 Xero OAuth 2.0 범위 문서를 참조하십시오.

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

사용 가능한 MCP 명령

  • list-accounts: 계정 목록 조회
  • list-contacts: Xero에서 연락처 목록 조회
  • list-credit-notes: 대변 메모 목록 조회
  • list-invoices: 송장 목록 조회
  • list-items: 품목 목록 조회
  • list-manual-journals: 수동 분개 목록 조회
  • list-organisation-details: 조직 세부 정보 조회
  • list-profit-and-loss: 손익 보고서 조회
  • list-quotes: 견적 목록 조회
  • list-tax-rates: 세율 목록 조회
  • list-payments: 지급 목록 조회
  • list-trial-balance: 시산표 보고서 조회
  • list-bank-transactions: 은행 계좌 거래 목록 조회
  • list-payroll-employees: 급여 직원 목록 조회
  • list-report-balance-sheet: 대차대조표 보고서 조회
  • list-payroll-employee-leave: 급여 직원의 휴가 기록 조회
  • list-payroll-employee-leave-balances: 급여 직원의 휴가 잔액 조회
  • list-payroll-employee-leave-types: 급여 휴가 유형 목록 조회
  • list-payroll-leave-periods: 급여 직원의 휴가 기간 목록 조회
  • list-payroll-leave-types: Xero 급여에서 사용 가능한 모든 휴가 유형 목록 조회
  • list-timesheets: 급여 타임시트 목록 조회
  • list-aged-receivables-by-contact: 연락처의 연령별 미수금 조회
  • list-aged-payables-by-contact: 연락처의 연령별 미지급금 조회
  • list-contact-groups: 연락처 그룹 목록 조회
  • list-tracking-categories: 추적 범주 목록 조회
  • create-bank-transaction: 새 은행 거래 생성
  • create-contact: 새 연락처 생성
  • create-credit-note: 새 대변 메모 생성
  • create-invoice: 새 송장 생성
  • create-item: 새 품목 생성
  • create-manual-journal: 새 수동 분개 생성
  • create-payment: 새 지급 생성
  • create-quote: 새 견적 생성
  • create-payroll-timesheet: 새 급여 타임시트 생성
  • create-tracking-category: 새 추적 범주 생성
  • create-tracking-option: 새 추적 옵션 생성
  • update-bank-transaction: 기존 은행 거래 업데이트
  • update-contact: 기존 연락처 업데이트
  • update-invoice: 기존 초안 송장 업데이트
  • update-item: 기존 품목 업데이트
  • update-manual-journal: 기존 수동 분개 업데이트
  • update-quote: 기존 초안 견적 업데이트
  • update-credit-note: 기존 초안 대변 메모 업데이트
  • update-tracking-category: 기존 추적 범주 업데이트
  • update-tracking-options: 추적 옵션 업데이트
  • update-payroll-timesheet-line: 기존 급여 타임시트의 라인 업데이트
  • approve-payroll-timesheet: 급여 타임시트 승인
  • revert-payroll-timesheet: 승인된 급여 타임시트 되돌리기
  • add-payroll-timesheet-line: 기존 급여 타임시트에 새 라인 추가
  • delete-payroll-timesheet: 기존 급여 타임시트 삭제
  • get-payroll-timesheet: 기존 급여 타임시트 조회

자세한 API 문서는 MCP 프로토콜 명세를 참조하십시오.

개발자용

설치

# Using npm
npm install

# Using pnpm
pnpm install

빌드 실행

# Using npm
npm run build

# Using pnpm
pnpm build

Claude Desktop과 통합

개발 중인 Xero MCP 서버를 Claude Desktop에 연결하려면 설정 > 개발자 > 구성 편집으로 이동하여 claude_desktop_config.json 파일에 다음을 추가하십시오:

참고: Windows의 경우 args 경로에서 폴더 간 \을 이스케이프 처리해야 합니다. 예: "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"
      }
    }
  }
}

라이선스

MIT

보안

.env 파일이나 민감한 자격 증명을 버전 관리에 커밋하지 마십시오 (안전한 기본값으로 .gitignore에 포함되어 있습니다.)