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에 포함되어 있습니다.)