ledger-service MCP server

by mprokopov

4 294 downloads Not rated yet GPL-3.0
GitHub

About

ledger-service is an MCP server that provides tools for accessing and managing ledger files through Claude. It is intended for users who want to interact with ledger data via Claude's MCP interface.

Details

License
GPL-3.0

Explore

- Lists all accounts in a ledger file for a given year
- Retrieves the balance of a specific account
- Shows detailed transaction register for an account
- Configurable ledger base path via LEDGER_BASE_PATH
- Installable from PyPI as a Python package
- Can be debugged with the MCP Inspector

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name ledger-service MCP server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

- Python 3.13 or higher
- uv package manager
- Node.js and npm (for debugging)

uv pip install ledger-service

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>

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.

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

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "ledger-service mcp server": {
            "ledger-mcp-server": {
                "command": "uv",
                "args": [
                    "pip",
                    "install",
                    "ledger-service"
                ]
            }
        }
    }
}

McpServers

{
    "ledger-mcp-server": {
        "command": "uv",
        "args": [
            "pip",
            "install",
            "ledger-service"
        ]
    }
}

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

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

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.