Pennylane MCP server
Pennylane in any MCP client, through Memtro: Pennylane does not publish this server. Memtro's Pennylane connector reads Pennylane through its API with the credentials you connect, and one endpoint hands those tools, every other system you connect and Memtro's memory tools to Claude Code, Cursor, Claude Desktop or anything else that speaks Streamable HTTP, as you.
What the model can do
Pennylane accounting: customer and supplier invoices with amounts, dates and payment status, quotes, customers, suppliers, bank transactions and the trial balance for a period. Can create and update customers and suppliers, add a customer contact, draft, finalize, email, mark paid or delete customer invoices, create, email and set the status of quotes, invoice a quote, mark supplier invoices paid or validated, and record a bank transaction.
Reads
pennylane_customer_invoicesCustomer invoices and credit notes, newest invoice date first: number, label, customer id, date, deadline, amount in the invoice currency…pennylane_supplier_invoicesSupplier invoices (bills), newest invoice date first: number, label, supplier id, date, deadline, amount, payment status…pennylane_customersCustomers (companies and individuals): name, type, emails, VAT and registration numbers, payment conditions, and the id the invoice tools filter by.pennylane_suppliersSuppliers: name, emails, VAT and registration numbers, payment method, and the id the supplier invoice tool filters by.pennylane_transactionsBank transactions, newest first: date, label, amount and currency, with totals per currency.pennylane_trial_balanceThe trial balance for a period: each ledger account's number, label, total debits and total credits.pennylane_quotesQuotes, newest first: number, label, customer id, date, validity deadline, amounts and status (pending, accepted, denied, expired, invoiced)…
Acts, when you ask
These change something in Pennylane. The model is told to use them only when you ask for exactly that, and each one is granted by name: per team on a shared connection, by the owner on a personal one.
pennylane_create_customerCreates a company customer in Pennylane.pennylane_create_supplierCreates a supplier in Pennylane.pennylane_update_customerChanges a customer's details in Pennylane.pennylane_update_supplierChanges a supplier's details in Pennylane.pennylane_add_customer_contactAdds a contact person to a customer in Pennylane.pennylane_create_invoice_draftCreates a draft customer invoice in Pennylane.pennylane_finalize_invoiceFinalizes a draft customer invoice or credit note in Pennylane: it is given its legal number and can no longer be edited or deleted.pennylane_send_invoice_emailEmails a finalized customer invoice or credit note to the customer, from Pennylane, using the company's billing email template.pennylane_mark_invoice_paidMarks a customer invoice as paid in Pennylane, without matching it to a bank transaction.pennylane_delete_draft_invoicePermanently deletes a draft customer invoice or draft credit note in Pennylane.pennylane_invoice_quoteCreates a draft customer invoice from a quote in Pennylane, with the quote's customer and lines.pennylane_create_quoteCreates a quote for a customer in Pennylane.pennylane_send_quote_emailEmails a quote to the customer from Pennylane, using the company's billing email template.pennylane_set_quote_statusSets a quote's status in Pennylane (pending, accepted, denied, expired, invoiced).pennylane_set_supplier_invoice_paymentMarks a supplier invoice (bill) as paid, or back to to be paid, in Pennylane.pennylane_validate_supplier_invoiceValidates a supplier invoice's accounting in Pennylane, moving it to the Complete state for the accountant.pennylane_create_transactionRecords a bank transaction on one of the company's bank accounts in Pennylane (a manual entry, e.g. cash or an account with no bank feed).
Connect it
First connect Pennylane on Dashboard → Connections, then add Memtro to your client once. The Pennylane tools appear alongside the tools of everything else you have connected; nothing is configured per connector.
Claude Code
The Memtro plugin registers the server and a skill for when to use it; the tools are then available in every session.
claude plugin marketplace add memtro-org/claude-memtro
claude plugin install memtro@memtro --config api_key=sk-memtro-...Cursor
Add the server to .cursor/mcp.json in the project, or to the global file under ~/.cursor/.
{
"mcpServers": {
"memtro": {
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Claude Desktop
Create a personal API key on Dashboard → Profile → API keys. In Claude Desktop add an MCP server of type HTTP with URL https://platform.memtro.com/api/mcp and the header Authorization: Bearer sk-memtro-…
OpenCode
A remote server in opencode.json.
{
"mcp": {
"memtro": {
"type": "remote",
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Pi
One command: pi mcp add memtro --url https://platform.memtro.com/api/mcp --bearer-token-env-var MEMTRO_API_KEY. Tools arrive as mcp__memtro__*. The pi-memtro extension registers it for you, alongside Memtro as the model.
Any other client
Add an MCP server of type HTTP (Streamable HTTP, stateless) at https://platform.memtro.com/api/mcp with the header Authorization: Bearer sk-memtro-.... Codex, Zed, Windsurf, Cline and the SDKs all take a remote server this way.
Who may use it
The key identifies the person, and the server offers that person the tools they may use everywhere else in Memtro. A shared Pennylane connection is used by the teams an administrator granted it to, tool by tool, on the Permissions page; a personal connection is used by its owner alone, and its tools that act stay off until the owner allows them. See Teams and permissions and Connectors.
Ask it like this
- › Which customer invoices are unpaid, and how much is outstanding?
- › What do we still owe Northwind on supplier invoices?
- › What is the balance of account 401 at the end of September?
- › Turn the accepted Acme quote into an invoice and finalise it
- › Create a supplier called Brightwave Ltd
Questions
- Is this an official Pennylane MCP server?
- No. It is Memtro's MCP server with Memtro's Pennylane connector behind it: the connector reads Pennylane through its API with the credentials you connect on Dashboard → Connections, and Pennylane publishes nothing here. The same endpoint carries every other system you connect and Memtro's memory tools.
- What does it cost?
- Nothing on top of Memtro. One price per organisation by its number of users, from $50 a month for up to 10 users after a 7-day free trial, with every connector, the MCP server, jobs and memory included. You bring your own model keys.
- Can it change anything in Pennylane?
- Only when you ask, and only what it has been granted: create a company customer; create a supplier; update a customer's details; update a supplier's details; add a contact to a customer; create a draft customer invoice; finalize a draft customer invoice (numbered, can no longer be edited); email a customer invoice to the customer; mark a customer invoice paid; delete a draft customer invoice (permanent); create a draft invoice from a quote; create a quote; email a quote to the customer; set a quote's status; mark a supplier invoice paid or to be paid; validate a supplier invoice's accounting; record a bank transaction. Every other tool reads, searches or lists. An administrator grants each acting tool by name per team, and a personal connection acts only after its owner allows it.
- Which clients work?
- Any MCP client that speaks Streamable HTTP: Claude Code, Cursor, Claude Desktop, OpenCode, Codex, Zed, Windsurf, Cline and the Anthropic and OpenAI SDKs. There is no local process to run; the server is remote and authenticated with your key.