Back to System Ops

Ledger

Access and managing ledger files.

Last updated: 1/27/2026

README

# 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

```bash
uv pip install ledger-service
```

## Debugging

Using the inspector to debug the server:

```bash
npx @modelcontextprotocol/inspector \
  uv \
  --directory /path/to/ledger-service \
  run \
  ledger-service
```

![MCP Inspector debugging interface](mcp-server-debug.png)

### 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>
  
  ```json
  "mcpServers": {
    "ledger-service": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/ledger-service",
        "run",
        "ledger-service"
      ]
    }
  }
  ```
</details>

<details>
  <summary>Production Configuration</summary>
  
  ```json
  "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

Installation

Add this MCP to your configuration:

{
  "mcpServers": {
    "ledger": {
      // See GitHub repository for configuration
    }
  }
}

See the GitHub repository for full installation instructions.