Skip to main content
Glama
Luminc

peil-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PEIL_API_KEYYesScoped API key from Peil, created under Settings → Developer settings. Required for any tool that reads or writes your data.
PEIL_API_URLNoOverride the API base URL. Defaults to https://api.peil.app/api/v1.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_clients

List the user's clients (names to use with the other Peil tools).

log_hoursA

Log worked hours for a client in Peil's timesheet.

Omit rate to use the client's default rate. date is ISO YYYY-MM-DD. Requires the timesheet:write key permission.

list_unbilled

List billable hours not yet on any invoice, grouped per client.

draft_invoice

Create a DRAFT invoice from a client's unbilled hours in a period.

Nothing is sent to the client — the user reviews the draft in Peil (or asks explicitly to send it via send_invoice). Grouping: 'summary' (one line per description), 'by_project', or 'per_day'. Requires invoices:write.

send_invoiceA

Send an invoice to the client BY EMAIL. Irreversible and client-facing.

invoice is a numeric id or invoice number. Only call this when the user has explicitly confirmed sending this specific invoice. Requires invoices:send.

orientation_snapshot

Where does the user stand financially? Outstanding, overdue, drafts, YTD.

edit_hoursA

Edit an existing time entry. Only the fields you pass are changed.

Confirm with the user before editing an entry that's already on a sent/paid invoice (the server blocks it with INVOICE_LOCK). Requires timesheet:write.

delete_hours

Delete a time entry. Destructive — confirm with the user first.

Entries on a sent/paid/archived invoice are blocked server-side. Requires timesheet:write.

get_client_details

Show a client's details, including whether a default rate is configured.

create_client

Create a new client. Requires clients:write.

Set a default_rate so hours logged for this client aren't billed at €0.

update_clientA

Update a client's details. Only the fields you pass change. Requires clients:write.

delete_clientA

Delete a client. Destructive — confirm first.

Blocked (409) if the client has projects or sent/paid invoices. Requires clients:write.

list_invoices

List invoices, most recent first. Optionally filter by status and/or client.

set_invoice_status

Change an invoice's status (e.g. mark paid). Requires invoices:write.

invoice is a numeric id or invoice number. This does NOT email anyone — it only records the status. Use send_invoice to actually email the client.

update_invoice

Update safe invoice fields (due date, payment date, notes). Requires invoices:write.

Line items and amounts are not edited here — redraft from hours for those.

delete_invoice

Delete an invoice. Destructive — confirm first.

Paid invoices can't be deleted (archive instead); sent invoices are blocked unless the user is sure. Requires invoices:write.

archive_invoice

Archive an invoice (hidden from default views, kept for records). Requires invoices:write.

schedule_sendA

Schedule a DRAFT invoice to be emailed at a future time. Client-facing.

scheduled_at is an ISO datetime (e.g. 2026-07-20T09:00:00). Only call this when the user has explicitly confirmed sending this invoice at this time. Requires invoices:send.

cancel_scheduled_sendB

Cancel a previously scheduled send. Requires invoices:send.

send_reminderA

Email a payment reminder for a sent/overdue invoice. Irreversible, client-facing.

Only call this when the user has explicitly confirmed reminding about this specific invoice. Requires invoices:send.

get_reminder_copyB

Show the user's custom reminder email copy and schedule.

set_reminder_copy

Set the reminder email copy for one tone/language. Requires invoices:write.

Tones: pre_due (before due date), overdue (0–7 days late), formal (>7 days). Other tones/languages are preserved. Use {invoice_number}, {total_amount}, {due_date} placeholders as in Peil's editor.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Luminc/peil-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server