---
title: "Agent plugin"
description: "Connect Flowie Exchange to your coding agent in one command: an MCP server with 34 curated e-invoicing tools, 14 hosted agent skills, and the CLI. Public beta."
canonical: "https://docs.get-flowie.com/build-with-ai/plugin"
source: "https://docs.get-flowie.com/build-with-ai/plugin.html"
---

# Agent plugin

AI Agents

# Agent plugin

**Public beta.** Everything on this page works today and is free to use. Tool names, skill contents and the CLI surface can still change between releases — we version them and announce every change in the [changelog](<../changelog.html>), but do not pin a production workflow to an exact tool name yet. See [What beta means](<#beta>).

Give your coding agent the Flowie Exchange tools, the know-how to use them correctly, and an account it can open by itself. Three surfaces, one setup:

Surface| What it gives the agent| Status  
---|---|---  
[MCP server](<#mcp>) | **Hands.** 34 curated tools — send and receive invoices, resolve a company on Peppol, track lifecycle, check country compliance. | Beta · live  
[Agent skills](<#skills>) | **Know-how.** 14 hosted skills that tell an agent which endpoint answers a question, and which mistake not to make. | Beta · live  
[CLI](<#cli>) | **A terminal.** The same operations from a shell or from CI, with no model in the critical path. | Private beta  
  
The tools and the skills are meant to be installed together. An MCP server on its own makes your agent rediscover every trap in cross-border e-invoicing; the skills are where we wrote those down.

## Quickstart

Pick your agent. Every command below points at the **sandbox** — no key, no signup, and nothing you run can reach a real tax authority.

### Claude Code
[code] 
    claude mcp add flowie-exchange https://back.flowie.ink/exchange/mcp
[/code]

### Cursor, VS Code, Codex & anything else that speaks MCP

Add the server to your client’s MCP configuration:
[code] 
    {
      "mcpServers": {
        "flowie-exchange": {
          "url": "https://back.flowie.ink/exchange/mcp"
        }
      }
    }
[/code]

### Get a key without leaving the agent

Your agent can open its own sandbox account — no human, no form:
[code] 
    curl -X POST https://back.flowie.ink/exchange/v1/sandbox/bootstrap \
      -H 'Content-Type: application/json' -d '{}'
[/code]

That returns an `flw_test_…` key, an organization and a company. Send it as `Authorization: Bearer <key>` on every subsequent call. For production, or to act on a real user’s account, read [Agent onboarding](<agent-onboarding.html>).

## MCP server

Two endpoints, same authentication:

Endpoint| Tools| Use it when  
---|---|---  
`/exchange/mcp`| ~34, curated| Almost always. Small enough to leave room in the context window for the actual task.  
`/exchange/mcp/full`| Every documented operation| You need sandbox control, platform/white-label or AFNOR certification routes.  
Environment| Base  
---|---  
Sandbox| `https://back.flowie.ink/exchange/mcp`  
Production| `https://back.p2p-flowie.com/exchange/mcp`  
  
Authentication is a bearer token on every call — a user JWT or an `flw_*` API key — and the token’s organization scopes every read and write. **No money moves:** payment fields are invoice metadata only.

The server describes itself at `/.well-known/mcp/server-card.json`, and names its authorization server at `/.well-known/oauth-authorization-server`. An agent that follows the discovery chain finds both without being told. Full tool catalogue and worked workflows: [MCP server reference](<index.html#mcp>).

## Agent skills

A skill is a Markdown file that teaches an agent how to do one job with this API — which endpoint answers the question, what the fields mean, and the mistake that looks like success. They execute nothing, so they cost nothing at runtime, and they are what stops an agent inventing a field the API does not have.

The catalogue is discoverable and content-addressed:
[code] 
    curl https://docs.get-flowie.com/.well-known/agent-skills/index.json
[/code]

Every entry carries a `url` and a `sha256` digest, so a client can cache a skill and tell when it changed. Fourteen are published today:

Skill| What it covers  
---|---  
`send-invoice`| Send a compliant e-invoice to any recipient in 47 countries.  
`receive-invoices`| Webhooks or polling, and how to choose.  
`check-reachability`| Is this company reachable, and on which network.  
`track-lifecycle`| Delivery and approval statuses, including the French 200–213 set.  
`register-on-peppol`| Register a company and claim its identifier.  
`country-compliance`| What each jurisdiction requires, and by when.  
`sandbox-bootstrap`| Open an account with no human in the loop.  
`search-documents`| The filter language, with worked queries.  
`handle-webhooks`| Events, retries and signature verification.  
`record-payment`| Payment metadata on an invoice — and what it is not.  
`generate-french-invoice`| A compliant sample for every French business case.  
`change-platform`| Portability: move a company without losing the clock.  
`debug-failed-request`| Read an error and fix the cause, not the symptom.  
`connect-mcp`| Wire this server into an agent that has never seen it.  
  
Most MCP clients load skills from the index automatically once the server is connected. If yours does not, point it at the raw file — for example `https://docs.get-flowie.com/skills/send-invoice/SKILL.md`.

## CLI

**Private beta.** The CLI is not published yet. Ask us at [developers@flowie.fr](<mailto:developers@flowie.fr>) and we will add you.

The CLI covers the same ground from a terminal, for the cases where a model in the loop is a liability rather than a help — a CI job, a runbook, a migration you need to be able to re-run and diff. It also runs an MCP server locally over stdio, if you would rather your agent talk to a process you started than to an endpoint we host.

We will document install and commands here when it leaves private beta. Until then the hosted MCP server above is the supported path, and everything an agent can do through it is also reachable over plain HTTP: see the [API reference](<../reference/index.html>).

## Check it works

One request proves the whole chain — transport, discovery and tool listing:
[code] 
    curl -X POST https://back.flowie.ink/exchange/mcp \
      -H 'Content-Type: application/json' \
      -H 'Accept: application/json, text/event-stream' \
      -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{
            "protocolVersion":"2024-11-05","capabilities":{},
            "clientInfo":{"name":"my-agent","version":"0"}}}'
[/code]

A `result` carrying `serverInfo.name: "flowie-exchange"` means you are connected. A `404` means you reached an older deployment — tell us, because that is a bug on our side, not a configuration problem on yours.

## What beta means

Concretely, so you can decide what to build on:

  * **Stable enough to build on:** the endpoints, the authentication model, the sandbox bootstrap, and the skill index URL. These are covered by our [deprecation policy](<../deprecation-policy.md>) like any other part of the API.
  * **Still moving:** individual tool names and arguments, the composition of the curated set, and skill contents. A renamed tool breaks a prompt rather than a compiler, so we announce every change in the [changelog](<../changelog.html>) — read it before pinning.
  * **Not covered yet:** the CLI, which is private beta and carries no compatibility promise at all.
  * **Breaking changes** to the underlying API still ship only in a new major under a new URL prefix. That does not change in beta.



Building something on this? [Tell us](<mailto:developers@flowie.fr>) — during beta that is the fastest way to get a tool renamed back, a skill corrected, or a missing capability added.
