ledger-mcp-server
Manage ledger files by accessing account balances, transaction histories, and account listings. Facilitate financial tracking and reporting through efficient ledger management tools.
Author

mprokopov
Quick Info
Actions
Tags
ledger-service MCP server
MCP Server for accessing and managing ledger files through Claude.
Components
Tools
The server implements three tools for ledger management:
- list-accounts: Lists all accounts in the ledger
- Takes "year" as a required argument
-
Returns formatted list of all available accounts
-
account-balance: Gets the balance for a specific account
- Takes "year" and "account" as required arguments
-
Returns the current balance for the specified account
-
account-register: Shows the transaction register for an account
- Takes "year" and "account" as required arguments
- Returns detailed transaction history for the specified account
Installation
Prerequisites
- Python 3.13 or higher
uvpackage manager- Node.js and npm (for debugging)
Install from PyPI
uv pip install ledger-service
Debugging
Using the inspector to debug the server:
npx @modelcontextprotocol/inspector \
uv \
--directory /path/to/ledger-service \
run \
ledger-service
Configure Claude Desktop
Add the server configuration to Claude Desktop's config file:
On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
Development Configuration
```json "mcpServers": { "ledger-service": { "command": "uv", "args": [ "--directory", "/path/to/ledger-service", "run", "ledger-service" ] } } ```Production Configuration
```json "mcpServers": { "ledger-service": { "command": "uvx", "args": [ "ledger-service" ] } } ```Development
Local Setup
- Clone the repository
- Create and activate a virtual environment
- Install dependencies:
The base path can be configured by modifying the LEDGER_BASE_PATH constant in server.py.
License
GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007
