Xledger Server
БесплатноНе проверенProvides read-only access to Xledger accounting data via GraphQL API for querying invoices, balances, projects, timesheets, and more.
Описание
Provides read-only access to Xledger accounting data via GraphQL API for querying invoices, balances, projects, timesheets, and more.
README
An MCP (Model Context Protocol) server that provides read-only access to the Xledger accounting system via its GraphQL API.
Use it with Claude, VS Code Copilot, or any MCP-compatible AI assistant to query your financial data — invoices, account balances, projects, timesheets, and more.
Features
- 9 read-only tools covering core accounting data
- Compatible with Xledger GraphQL API v2
- Token-based authentication (no OAuth complexity)
- Zero runtime dependencies beyond the MCP SDK
- TypeScript with full type safety
Tools
| Tool | Description |
|---|---|
get_ar_transactions |
Customer invoices (Accounts Receivable) — filter by date, outstanding only |
get_ap_transactions |
Supplier invoices (Accounts Payable) — filter by date, outstanding only |
get_account_balances |
GL account balances by fiscal year and period |
get_projects |
Project financials — revenue, cost, hours, billability |
get_timesheets |
Timesheet entries — hours per employee per project |
get_journal_entries |
Raw GL transactions with account, amount, project |
get_employees |
Employee list with employment dates |
get_customers |
Customer lookup with name search |
get_revenue_summary |
Aggregated revenue by customer for a date period |
All tools are annotated with readOnlyHint: true — they never modify data in Xledger.
Quick Start
Prerequisites
- Node.js 18+
- A Xledger account with GraphQL API access
- An API token (generate at: Xledger > Administration > System Access > GraphQL/API tokens)
Install and Build
git clone https://github.com/Eyevinn/xledger-mcp-server.git
cd xledger-mcp-server
npm install
npm run build
Configure
Set the required environment variable:
export XLEDGER_GRAPHQL_TOKEN=your-token-here
| Variable | Required | Default | Description |
|---|---|---|---|
XLEDGER_GRAPHQL_TOKEN |
Yes | — | Your Xledger API token |
XLEDGER_API_URL |
No | https://www.xledger.net/graphql |
API endpoint (use https://demo.xledger.net/graphql for testing) |
Run
npm start
The server communicates over stdio — it's designed to be launched by an MCP client, not run standalone.
Configuration
Claude Desktop / Claude Code
Add to your Claude configuration (~/.claude/settings.json or Claude Desktop config):
{
"mcpServers": {
"xledger": {
"command": "node",
"args": ["/path/to/xledger-mcp-server/dist/index.js"],
"env": {
"XLEDGER_GRAPHQL_TOKEN": "your-token-here"
}
}
}
}
VS Code (GitHub Copilot)
Add to .vscode/mcp.json:
{
"servers": {
"xledger": {
"command": "node",
"args": ["/path/to/xledger-mcp-server/dist/index.js"],
"env": {
"XLEDGER_GRAPHQL_TOKEN": "your-token-here"
}
}
}
}
Tool Details
get_ar_transactions
Get customer invoices with optional filters.
Parameters:
first(number, default: 50) — Number of records (max 200)outstandingOnly(boolean, default: false) — Only unpaid invoicesfromDate(string, YYYY-MM-DD) — Invoice date fromtoDate(string, YYYY-MM-DD) — Invoice date to
get_ap_transactions
Get supplier invoices with optional filters. Same parameters as get_ar_transactions.
get_account_balances
Get GL account balances.
Parameters:
fiscalYear(number) — Fiscal year, defaults to current yearperiodNumber(number, 1-12) — Month. Returns YTD if omittedfirst(number, default: 200) — Number of records (max 500)
get_projects
Get projects with financial data.
Parameters:
first(number, default: 100) — Number of records (max 500)activeOnly(boolean, default: true) — Only active projectsbillableOnly(boolean, default: false) — Only billable projects
get_timesheets
Get timesheet entries.
Parameters:
first(number, default: 100) — Number of records (max 500)fromDate/toDate(string, YYYY-MM-DD) — Date rangeinvoicedOnly(boolean) — Only invoiced entriesnotInvoiced(boolean) — Only uninvoiced entries
get_journal_entries
Get raw GL transactions.
Parameters:
first(number, default: 50) — Number of records (max 200)fromDate/toDate(string, YYYY-MM-DD) — Date range (usescreatedAtas proxy sincepostedDateis not filterable in API v2)fiscalYear(number) — Client-side fiscal year filter
get_employees
Get employee list.
Parameters:
first(number, default: 100) — Number of recordsactiveOnly(boolean, default: true) — Only currently employed
get_customers
Get customers (subledgers).
Parameters:
first(number, default: 100) — Number of recordssearch(string) — Partial name/code match (client-side)
get_revenue_summary
Get aggregated revenue by customer.
Parameters:
fromDate(string, YYYY-MM-DD, required) — Period starttoDate(string, YYYY-MM-DD, required) — Period end
Xledger API v2 Notes
This server is compatible with Xledger's GraphQL API v2 schema, which introduced several changes:
- Filter syntax: Direct field suffixes (e.g.,
invoiceDate_gte) instead of{ AND: [{ field, op, value }] } - OrderBy: Array of
{ field, direction }enums instead of single object - Removed filters: Some fields are no longer filterable (
fiscalYearon account balances,descriptionon subledgers,billableon projects,postedDateon journal entries). These are handled with client-side filtering. - SystemValue: Uses
.nameinstead of.description
Development
npm install
npm run build # Compile TypeScript
npm test # Run tests
npm run dev # Watch mode (recompile on changes)
npm run lint # Type-check without emitting
Security
- The API token grants read access scoped to your Xledger tenant
- Never commit tokens to version control — use environment variables
- All tools are read-only (no mutations)
- Consider using Xledger's token scope controls to limit access to only the data you need
License
MIT — see LICENSE
About Eyevinn Technology
Eyevinn Technology is a Stockholm-based consultancy specializing in video streaming technology. We contribute to the open source community through our GitHub organization and Open Source Cloud platform.
Установить Xledger Server в Claude Desktop, Claude Code, Cursor
unyly install xledger-mcp-serverСтавит в Claude Desktop, Claude Code, Cursor и VS Code — сам разбирается с npx, uvx и сборкой из исходников.
Впервые? Поставь CLI: curl -fsSL https://unyly.org/install | sh
Или настроить вручную
Выполни в терминале:
claude mcp add xledger-mcp-server -- npx -y github:Eyevinn/xledger-mcp-serverFAQ
Xledger Server MCP бесплатный?
Да, Xledger Server MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Xledger Server?
Нет, Xledger Server работает без API-ключей и переменных окружения.
Xledger Server — hosted или self-hosted?
Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.
Как установить Xledger Server в Claude Desktop, Claude Code или Cursor?
Открой Xledger Server на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Xledger Server with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
