Skip the install. Get this working in under 2 minutes.
Start a free trial on cloud.anythingmcp.com, add the Falco in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.
Summary
Falco, Belgian accounting and Peppol e-invoicing: purchase and sale documents with their files, invoices received over Peppol, Peppol participant lookups, and the customers, articles and invoices of the Falco invoicing module. Mostly read-only; setting a purchase payment status and sending Peppol invoice responses are installed switched off.
Try asking
Example prompts for Falco
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Falco, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
Falco + Microsoft Copilot
Falco, Belgian accounting and Peppol e-invoicing: purchase and sale documents with their files, invoices received over Peppol, Peppol participant lookups, and the customers, articles and invoices of the Falco invoicing module. Mostly read-only; setting a purchase payment status and sending Peppol invoice responses are installed switched off.
Prerequisites
See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:
FALCO_APP_SECRET, FALCO_API_KEY
Step 1 — Get credentials
The connector needs two keys, and both are required: an application secret from the integrator and an API key from the Falco customer.
- The integrator creates an application on the Falco developer portal (dev.falco-app.be), requests the scopes it needs, for example
documents:purchases:read,documents:sales:read,peppol:inbound:read,peppol:participants:read,customers:read,articles:readandinvoices:read, and makes it Public. Its production Application Secret (as_live_...) goes intoFALCO_APP_SECRET. - The Falco customer, an administrator of the organisation on the Expert Essential or Expert Premium plan, opens API access under their initials in the Falco desktop application, picks that application by its id (
app_...) and generates an API key (sk_live_...) for their organisation. It goes intoFALCO_API_KEY. - Install the connector and run
falco_get_organizationto check both keys. The connector calls the production API,https://api.falco-app.be/v1; sandbox keys (as_test_,sk_test_) only work on the sandbox host and are refused here.
What it reads: the organisation behind the key (name, VAT number, Peppol identifier, address, IBANs, plan); purchase documents (supplier invoices and credit notes) with payment and Peppol status, event history and attached files; sale documents, including those imported as PDF or UBL; documents received over Peppol with sender, amounts, due date, payment reference and bank account; and the customers, articles and invoices of the Falco invoicing module, with invoice lines, VAT subtotals and Peppol status. It also downloads files: the main file, the UBL XML or an attachment of a purchase document, the UBL of a document received over Peppol, and the PDF of an invoice from the invoicing module.
How the AI works with it: for supplier invoices it starts with falco_list_peppol_inbound (what arrived over Peppol) and falco_list_purchase_documents (all purchase documents with their files); for sales with falco_list_sale_documents or, for documents made in the invoicing module, falco_list_invoices. To see whether a company can receive e-invoices it uses falco_find_peppol_participant with the VAT number, or falco_check_peppol_participant with a participant id such as 0208:0123456789.
Switched off at install: falco_set_purchase_payment_status and falco_send_invoice_response. The first replaces the payment status of a purchase document with not_paid, partially_paid or paid, for example after paying a supplier. The second sends an invoice response for a received document to its sender over Peppol (acknowledged, in_process, under_query, conditionally_accepted, rejected, accepted or paid); the supplier receives it at once and it cannot be withdrawn. An administrator turns them on deliberately. Even then the AI shows you the document and the new status or the response and waits for your yes.
Dates and amounts: filters take YYYY-MM-DD. Amounts are strings in the document currency, usually EUR. Lists are paged with page (from 0) and page_size (20 to 200, invoices up to 100), and the AI asks for the next page while a page comes back full.
Limits: 60 requests per minute per application secret. Above that Falco answers 429, and the AI waits and retries.
Common errors: errors follow RFC 9457 with title, detail and code. 401 means a wrong application secret or API key, or a sandbox key on production. 403 means the key lacks the scope for that area; the customer grants scopes when creating the key. 404 on a participant lookup means the company is not reachable on Peppol.
Step 2 — Install the adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Add the connector in Microsoft Copilot
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
Microsoft Copilot uses MCP servers through agents built in Copilot Studio: you add AnythingMCP to an agent as a tool, then publish the agent to Microsoft 365 Copilot and Teams. Copilot Studio connects from Microsoft's cloud over Streamable HTTP, which AnythingMCP supports.
- In Copilot Studio, open your agent (or create one), go to Tools and choose Add a tool → New tool → Model Context Protocol.
- Enter a Server name (for example
AnythingMCP), a Server description that says what the connector does, and the Server URLhttps://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID. Copilot Studio uses the description to decide when to call the server. - Under authentication, choose API key, set Type to Header and the header name to
X-API-Key, then select Create. - In Add tool, choose Create a new connection, paste an MCP API key from AnythingMCP (MCP Servers → your server → API keys) and select Add to agent.
- Try it in the agent's Test pane: ask for something that needs the
Falcotools. - Select Publish, then Channels → Microsoft 365 and Microsoft Teams, keep Make agent available in Microsoft Copilot selected and choose Add channel. See agent in Teams installs it for you; in Microsoft 365 Copilot, type @ and pick the agent.
Prefer per-user sign-in? Choose OAuth 2.0 → Dynamic discovery instead of an API key: each user then signs in to AnythingMCP the first time the agent calls it.
Self-hosting? Use your instance's public HTTPS address instead of https://cloud.anythingmcp.com. Copilot Studio connects from Microsoft's cloud, so localhost does not work.
Available tools
| Tool | What it does |
|---|---|
falco_get_organization | Get the Falco organization the API key belongs to: name, VAT number, Peppol identifier, address, IBANs, profiles, plan (expert_essential or… |
falco_list_purchase_documents | List purchase documents (supplier invoices and credit notes) in Falco, newest first: id, number, invoice and due date, currency, amount… |
falco_get_purchase_document | Get one purchase document by id: number, dates, amount, supplier, payment and Peppol status, its event history and the list of attached… |
falco_download_purchase_document_file | Download a file of a purchase document: the main file (usually the PDF), the UBL XML, or one attached file |
falco_list_sale_documents | List sale documents (sales invoices and credit notes, including those imported as PDF or UBL), newest first: id, number, dates, currency… |
falco_get_sale_document | Get one sale document by id: number, dates, amount, customer, payment status, Peppol send status, event history and attached files |
falco_list_peppol_inbound | List documents received over Peppol (incoming e-invoices and credit notes), newest first: id, received date, invoice and due date, amount… |
falco_get_peppol_inbound_document | Get one document received over Peppol by id: sender, amounts, dates, payment reference, bank account, invoice reference and payment status |
falco_download_peppol_inbound_document | Download the file of a document received over Peppol (the UBL XML as received) |
falco_find_peppol_participant | Look up the Peppol participant identifier registered for a VAT number, to see whether a company can receive e-invoices over Peppol |
falco_check_peppol_participant | Check whether a Peppol participant identifier (e.g. 0208:0123456789) is registered to receive invoices or credit notes |
falco_list_customers | List customers of the Falco invoicing module: id, name, VAT and company number, language, e-mails, phone, contact, address and Peppol… |
falco_get_customer | Get one customer of the invoicing module by id with full address, contacts and Peppol identifier |
falco_list_articles | List articles (products and services) of the invoicing module: id, descriptions, unit price excluding and including VAT, unit, category… |
falco_list_invoices | List sales invoices and credit notes created in the Falco invoicing module: id, number, type, status (draft, sent, locked), document and… |
falco_get_invoice | Get one invoice or credit note of the invoicing module with its lines (article, quantity, unit price, VAT rate, amounts), VAT subtotals… |
falco_download_invoice_pdf | Download the PDF of an invoice or credit note of the invoicing module |
falco_set_purchase_payment_status | Set the payment status of a purchase document to not_paid, partially_paid or paid, e.g. after paying a supplier |
falco_send_invoice_response | Send a Peppol invoice response for a received document to its sender: acknowledged, in_process, under_query, conditionally_accepted… |
Example prompts
- "Which supplier invoices received over Peppol this month are still unpaid, and when are they due?"
- "Show me the purchase documents from the last 30 days with supplier, amount and payment status."
- "Can the company with VAT number BE0123456789 receive e-invoices over Peppol?"
- "List the invoices from the invoicing module that were sent but not paid yet, with their amounts including VAT."
- "Download the PDF of invoice 2026-0142 from the invoicing module."
FAQ
Which Copilot is this for? Microsoft 365 Copilot at work, through agents built in Copilot Studio. The Microsoft Copilot app for personal accounts has no option to add your own MCP server.
What do I need? A work account with access to Copilot Studio (a license or a trial) to build the agent. People who use it in Microsoft 365 Copilot or Teams need access to the agent: share it with them, or ask an admin to publish it to the organization. If your organization applies data policies to Power Platform connectors, they cover MCP servers too.
The agent doesn't call the tools. Check that the header name is exactly X-API-Key and that the key belongs to the same MCP server as the URL, and make the server description specific: Copilot Studio uses it to decide when to call the server. Publish the agent again after each change; in an open chat, type "start over" to get the new version.
Next steps
- Connector landing page
- Connect to Claude
- Connect to ChatGPT
- Connect to Cursor
- Connect to Gemini
- Connect to Meta Muse
Was this guide helpful?