ledger-service logo

ledger-service

by MCP-Mirror

MCP Server for accessing and managing ledger files through Claude. It provides tools to list accounts, get account balances, and view transaction registers.

View on GitHub

Last updated: N/A

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
  • uv package 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

MCP Inspector debugging interface

MCP Inspector debugging interface

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

<details> <summary>Development Configuration</summary>
"mcpServers": {
  "ledger-service": {
    "command": "uv",
    "args": [
      "--directory",
      "/path/to/ledger-service",
      "run",
      "ledger-service"
    ]
  }
}
</details> <details> <summary>Production Configuration</summary>
"mcpServers": {
  "ledger-service": {
    "command": "uvx",
    "args": [
      "ledger-service"
    ]
  }
}
</details>

Development

Local Setup

  1. Clone the repository
  2. Create and activate a virtual environment
  3. 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