Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HETZNER_TOTP_SECRET | No | Hetzner TOTP secret if 2FA is enabled. Shown when you enable 2FA. | |
| OPENCOLLECTIVE_TOKEN | Yes | Personal Token from OpenCollective dashboard (For Developers -> Personal Tokens). Required for write operations. | |
| HETZNER_ACCOUNT_EMAIL | Yes | Hetzner account email address. Required for invoice tools. | |
| HETZNER_ACCOUNT_PASSWORD | Yes | Hetzner account password. Required for invoice tools. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| oc_get_account | Get detailed information about an OpenCollective account/collective by slug. Returns account profile, stats (balance, budget, total received/spent), social links, and metadata. Works without authentication for public data. |
| oc_search_accounts | Search for OpenCollective accounts/collectives. Supports filtering by search term and account type (COLLECTIVE, ORGANIZATION, INDIVIDUAL, FUND, PROJECT, EVENT). |
| oc_get_logged_in_account | Get information about the currently authenticated account. Requires OPENCOLLECTIVE_TOKEN to be set. |
| oc_edit_account | Edit an OpenCollective account/collective profile. Requires authentication. Use oc_get_account first to obtain the account ID. Only provided fields will be updated. |
| oc_edit_account_setting | Edit an account setting like monthly spending limits. Requires authentication with account scope. Common keys:
|
| oc_set_budget | Set the yearly budget goal for a collective. Example: Set 800 EUR yearly budget for goingdark collective. Requires token with 'account' scope. |
| oc_get_members | List members and backers of an OpenCollective account. Returns member roles (ADMIN, MEMBER, BACKER, etc.), donation totals, and linked account info. |
| oc_list_expenses | List expenses for an OpenCollective account with filtering. Supports filtering by status, type, tags, date range, and search term. Use account_slug to filter by collective, from_account_slug to filter by payee. |
| oc_get_expense | Get detailed information about a specific expense by ID or legacy ID. |
| oc_create_expense | Submit a new expense to an OpenCollective collective. Supports INVOICE, RECEIPT, FUNDING_REQUEST, GRANT, and UNCLASSIFIED types. Each expense requires at least one line item with description and amount. The payee is the account that will receive the payment. The account is the collective the expense is submitted to. Requires authentication. For bookkeeping expenses (e.g. when collective has negative balance), submit as INVOICE type. |
| oc_edit_expense | Edit an existing expense. Only provided fields will be updated. Requires authentication and appropriate permissions. |
| oc_delete_expense | Delete an expense. Requires authentication and appropriate permissions. |
| oc_process_expense | Process an expense: approve, reject, pay, hold, release, etc. Available actions: APPROVE, UNAPPROVE, REQUEST_RE_APPROVAL, REJECT, MARK_AS_UNPAID, SCHEDULE_FOR_PAYMENT, UNSCHEDULE_PAYMENT, PAY, MARK_AS_SPAM, MARK_AS_INCOMPLETE, HOLD, RELEASE. Requires authentication and admin/host permissions. |
| oc_list_transactions | List transactions for an OpenCollective account (the ledger). Shows credits and debits with amounts, descriptions, linked expenses/orders. Supports filtering by type (CREDIT/DEBIT), date range, kind, and search term. |
| oc_execute_graphql | Execute a raw GraphQL query or mutation against the OpenCollective API v2. Use this as an escape hatch for operations not covered by other tools. The API endpoint is https://api.opencollective.com/graphql/v2. Authentication is applied automatically if OPENCOLLECTIVE_TOKEN is set. |
| hetzner_list_invoices | List invoices from Hetzner Cloud. Returns paginated invoice data. Requires HETZNER_ACCOUNT_EMAIL and HETZNER_ACCOUNT_PASSWORD to be set. Uses browser automation to fetch invoices from accounts.hetzner.com. |
| hetzner_get_invoice | Get details of a specific Hetzner Cloud invoice by ID. Requires HETZNER_ACCOUNT_EMAIL and HETZNER_ACCOUNT_PASSWORD to be set. |
| hetzner_get_latest_invoice | Get the most recent Hetzner Cloud invoice. Fetches the first page of invoices and returns the latest one. Requires HETZNER_ACCOUNT_EMAIL and HETZNER_ACCOUNT_PASSWORD to be set. Useful for automated monthly bookkeeping: fetch the latest Hetzner invoice and then use oc_create_expense to submit it to OpenCollective. |
| hetzner_get_invoice_pdf | Download a Hetzner invoice as PDF. Returns the PDF content as base64-encoded string. Requires HETZNER_ACCOUNT_EMAIL and HETZNER_ACCOUNT_PASSWORD to be set. |
| hetzner_parse_invoice_pdf | Download and parse a Hetzner invoice PDF to JSON. Extracts invoice data like invoice number, date, amount, net, VAT, etc. Requires HETZNER_ACCOUNT_EMAIL and HETZNER_ACCOUNT_PASSWORD to be set. |
| hetzner_get_invoice_details | Get detailed invoice information from Hetzner usage portal. Fetches invoice line items as CSV from usage.hetzner.com. Requires HETZNER_ACCOUNT_EMAIL, HETZNER_ACCOUNT_PASSWORD, and HETZNER_CUSTOMER_NUMBER to be set. |
| cloudflare_list_invoices | List billing history from Cloudflare. Returns billing items with cost and date. When convert_to_eur is True (default), automatically converts USD amounts to EUR using historical exchange rates from the European Central Bank (via Frankfurter API). Each invoice includes:
Requires CLOUDFLARE_API_TOKEN to be set. Uses the Cloudflare API (deprecated but functional /user/billing/history endpoint). |
| cloudflare_get_invoice | Get details of a specific Cloudflare billing item by ID. When convert_to_eur is True (default), automatically converts USD amounts to EUR using historical exchange rates from the European Central Bank. Returns invoice with:
Requires CLOUDFLARE_API_TOKEN to be set. |
| cloudflare_get_latest_invoice | Get the most recent Cloudflare billing item. Fetches the latest billing item with cost and date. When convert_to_eur is True (default), automatically converts USD amounts to EUR using historical exchange rates from the European Central Bank. Returns invoice with:
Requires CLOUDFLARE_API_TOKEN to be set. Useful for automated monthly bookkeeping: fetch the latest Cloudflare bill and then use oc_create_expense to submit it to OpenCollective. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| opencollective_overview | Overview of OpenCollective MCP tools. |
| expense_creation_guide | Guide for creating expenses correctly. |
| budget_guide | Guide for setting budgets. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |