MCP Hub
Back to servers

OpenCollective MCP Server

Provides programmatic access to OpenCollective and Hetzner Cloud to automate bookkeeping, collective management, and invoice handling. It enables AI agents to manage expenses, query transactions, and automatically reconcile hosting invoices without manual intervention.

Stars
1
Updated
Feb 13, 2026

OpenCollective MCP Server

A Model Context Protocol server that gives AI agents programmatic access to OpenCollective and Hetzner Cloud — enabling automated bookkeeping, collective management, and invoice handling without manual intervention.

What is it?

This MCP server exposes 19 tools that let AI agents interact with:

  • OpenCollective GraphQL API v2 — Manage collectives, submit expenses, process payments, query transactions, and handle members
  • Hetzner Cloud invoices — Automatically fetch, parse, and reconcile hosting invoices

The Problem

If you run an OpenCollective-backed project with infrastructure on Hetzner, you face a tedious monthly ritual:

  1. Log into Hetzner → navigate to invoices → download the PDF
  2. Manually extract the amount, date, and line items
  3. Log into OpenCollective → create a new expense → copy-paste the data
  4. Submit and wait for approval

Repeat every month. Forever.

This MCP automates it.

Who is it for?

  • Open collective maintainers who want to automate expense workflows
  • DevOps engineers running infrastructure on Hetzner who track costs via OpenCollective
  • AI developers building agents that need to manage budgets, expenses, or financial reporting
  • Bookkeepers tired of copy-pasting invoice data between systems

What can it do?

OpenCollective Operations (13 tools)

ToolWhat it does
oc_get_accountGet detailed info about any collective (balance, stats, social links)
oc_search_accountsSearch across all OpenCollective accounts
oc_get_logged_in_accountGet the authenticated user's account
oc_edit_accountUpdate collective profile (name, description, tags, currency)
oc_get_membersList members, backers, and their donation totals
oc_list_expensesQuery expenses with rich filters (status, type, date, tags)
oc_get_expenseGet full expense details by ID
oc_create_expenseSubmit new expenses (INVOICE, RECEIPT, GRANT, etc.)
oc_edit_expenseModify existing expenses
oc_delete_expenseRemove expenses
oc_process_expenseApprove, reject, pay, hold, or release expenses
oc_list_transactionsQuery the ledger (credits/debits, linked expenses)
oc_execute_graphqlEscape hatch for any GraphQL operation

Hetzner Operations (6 tools)

ToolWhat it does
hetzner_list_invoicesList all invoices (paginated)
hetzner_get_invoiceGet a specific invoice by ID
hetzner_get_latest_invoiceFetch the most recent invoice
hetzner_get_invoice_pdfDownload invoice as PDF (base64)
hetzner_parse_invoice_pdfExtract structured data from invoice PDF
hetzner_get_invoice_detailsGet line-item breakdown from usage portal

The Monthly Bookkeeping Workflow

# 1. Fetch the latest Hetzner invoice
invoice = hetzner_get_latest_invoice()

# 2. Submit it as an expense to your collective
oc_create_expense(
    account_slug="my-collective",
    description=f"Hetzner Cloud - {invoice['date']}",
    expense_type="INVOICE",
    payee_slug="my-org",
    items=[{
        "description": f"Cloud services - {invoice['date']}",
        "amount_cents": invoice['amount_cents'],
        "currency": "EUR"
    }],
    tags=["hetzner", "hosting"]
)

That's it. One agent prompt = one booked expense.

What it's NOT

  • Not a replacement for human judgment — Expenses still need approval based on your collective's policies
  • Not a financial advisory tool — It moves data, not money; you control the payouts
  • Not limited to Hetzner — The oc_execute_graphql tool lets you run any OpenCollective operation, so you can manage Stripe payouts, Wise transfers, or budget forecasting
  • Not a GUI — It's a backend for AI agents; use the OpenCollective dashboard for manual tasks

Quick Start

1. Clone and install

git clone https://github.com/your-org/opencollective-mcp.git
cd opencollective-mcp
pip install -e .

2. Configure environment

Copy .env.example to .env and fill in:

cp .env.example .env
# Edit .env with your credentials
VariableRequired forHow to get it
OPENCOLLECTIVE_TOKENWrite operationsOpenCollective dashboard → For Developers → Personal Tokens
HETZNER_ACCOUNT_EMAILInvoice toolsYour Hetzner account email
HETZNER_ACCOUNT_PASSWORDInvoice toolsYour Hetzner password
HETZNER_TOTP_SECRETInvoice tools (if 2FA)Shown when you enable 2FA

3. Run the server

# Direct
python -m opencollective_mcp

# Or via installed script
opencollective-mcp

4. Connect to Claude Desktop

Add to your ~/.claude.json:

{
  "mcpServers": {
    "opencollective": {
      "command": "python",
      "args": ["-m", "opencollective_mcp"],
      "env": {
        "OPENCOLLECTIVE_TOKEN": "your-token",
        "HETZNER_ACCOUNT_EMAIL": "you@example.com",
        "HETZNER_ACCOUNT_PASSWORD": "your-password"
      }
    }
  }
}

Why build this?

Because infrastructure costs should be visible, automated, and auditable — exactly what OpenCollective provides for open source projects.

We built this to solve our own bookkeeping pain: tracking Hetzner hosting costs for Going Dark and automatically submitting them as expenses each month. Now our AI agent does it.

If you run a collective with cloud infrastructure, this saves you 15–30 minutes every month — and eliminates human error from manual data entry.

License

Apache License 2.0


Built with FastMCP, httpx, and Playwright.

Reviews

No reviews yet

Sign in to write a review