Get started
Tell your assistant
Read getfinero.com/skill.md and connect me to FineroOr give it the MCP server directly
https://api.getfinero.com/functions/v1/mcpWorks with any assistant that speaks MCP, or any that can read a URL. There is nothing to install: Finero has no CLI, and the skill tells an agent what to do rather than running anything.
One thing has to happen first, and only a person can do it: an admin creates the connection in Finero, under Settings, then API and agents. Skip it and the assistant will appear to connect and then fail on its first real question.
The rule this is built on
An agent may choose when. It must never choose what.
Invoice text arrives from your customers' systems, so it is treated as data that could be hostile rather than as instructions. Anything an injected instruction could reach is something where picking the moment is harmless. That is why an agent can start a sync, which was going to run anyway, and why raising a payment link is restricted and bounded.
Three ways in
Pick by who is doing the calling, and by how much you want to set up.
An Agent Skill, the simplest way to start
A skill is one page of instructions written for an assistant rather than for you. Give yours getfinero.com/skill.md and it learns what Finero is, what it is allowed to do, and how to connect. There is nothing to install and nothing to configure first. If your assistant keeps skills as files, save it as finero-receivables/SKILL.md.
The MCP server, when a person is present
The session acts as the person who approved it, so the assistant sees exactly the rows they see. Streamable HTTP, authorised with OAuth 2.1, and published to the official MCP registry as com.getfinero/finero, so a client that can resolve a name does not need a URL at all. Detail on the MCP server page.
The HTTP API, when nothing is attended
A key acts as the workspace rather than as a person, which is right for a sync job or a backend service and wrong for an assistant. See the API documentation and how credentials work.
Connecting takes three steps
- 01
An admin creates the connection
In Finero, under Settings, then API and agents. Finero shows a client ID and a client secret once, and does not store the secret, so copy both before closing the dialog. This step cannot be done by the assistant, and skipping it is the single most common reason a connection fails later.
- 02
Paste them into your assistant, then approve
Add Finero as a connector, paste the credentials, and complete the browser flow. You approve a consent screen naming what the assistant will be able to reach. Consent is recorded per person, so it is one click, once, rather than a prompt on every connection.
- 03
Ask it something
"How much is outstanding?" "Which invoices are overdue?" "Did the sync run?" The assistant reads your workspace as you, so it sees exactly the rows you see. To point an agent at Finero without any configuration at all, hand it getfinero.com/skill.md.
What it can and cannot do
The second list is the part worth reading. Most of it is enforced in the database rather than in the assistant, so it holds whatever an assistant is asked to do.
It can
- Invoices and their ageing, filtered and counted
- Payments, and how each was applied back to an invoice
- Payment links that exist, and their settlement state
- ERP connections and sync history, and it can start a sync
- Which collections automations are on, and what they actually did
It cannot
- Email, message or otherwise write anything a customer reads
- Delete anything, on any surface
- Create a payment link for more than the installment still owes
- Create or withdraw a link at all, unless connected by an administrator
- See any row the person who approved it cannot see
Payment links are the only writes, and three properties are why they were allowed at all.
- A link is not a charge. It is a URL, and no money moves unless a person chooses to pay it.
- The amount cannot be inflated. The database refuses a link for more than the installment still owes, under a lock. Asking for more does not work, and neither does racing.
- Withdrawal is reversible. Deactivating sets a status. Nothing is deleted, and a replacement link can be issued immediately.
What you need to provide
An agent cannot bootstrap itself into your workspace, deliberately. One person has to do one thing first, and it takes about a minute.
- An administrator. Only an admin can create an agent connection, and only an admin's connection can raise or withdraw payment links. A member's agent is refused by the database, not by the interface.
- One paste, once. The client ID and secret are shown a single time. Finero never stores the secret, so there is no reveal later and no support route to recover it. If it is lost, revoke the connection and create another.
- Consent, per person. Each person connecting approves once. Their session then carries their own access, which is what lets you revoke one person without disturbing anyone else.
If something goes wrong, look one step later than you expect. A missing connection does not stop the assistant connecting. It connects, lists what it can do, and then fails on the first real request. That is authorisation failing, not the connection, and the fix is almost always step one.
For the agent reading this
Everything a machine needs is published and generated, so none of it can drift from what the product does:
- /agents.md, the agent contract: capabilities, boundaries and every entry point
- /skill.md, the Agent Skill
- OpenAPI specification and the generated API reference
- /.well-known/api-catalog, an RFC 9727 index of every API surface
- /llms.txt, a summary of the product
The tool list is whatever the server answers at runtime, and the API surface is whatever the specification says. Nothing on this page restates either, because a second copy is the one that goes stale and gets believed.