Final POS Flows (direct)

Registre officiel Autres

Flow's direct endpoint for sk_ keys. For all of Final in one server, use com.finalpos/final.

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

Remote (streamable-http)
Claude Code
claude mcp add --transport http final-pos-flows-direct 'https://flow.finalpos.com/api/mcp' --header 'Authorization: <Bearer sk_... Flow organization key. New setups: use https://ai.finalpos.com/mcp (com.finalpos/final) instead.>'
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "final-pos-flows-direct": {
            "type": "http",
            "url": "https://flow.finalpos.com/api/mcp",
            "headers": {
                "Authorization": "<Bearer sk_... Flow organization key. New setups: use https://ai.finalpos.com/mcp (com.finalpos/final) instead.>"
            }
        }
    }
}

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. Final MCP server: build custom POS apps with AI
  2. Connect
  3. What your agent can do
  4. Safety and permissions
  5. Privacy and support
  6. Flow's direct endpoint
  7. FAQ
  8. About this repository
  9. License

Final MCP server: build custom POS apps with AI

Connect Claude, ChatGPT, Gemini, Cursor, Codex or any MCP client to Final:

build custom POS apps with Flow (checkout flows, self-checkout kiosks, payment terminals)
and run the store behind them from Hub, through one server.

https://ai.finalpos.com/mcp

Connect · What it can do · Tool reference · FAQ · finalpos.com


The Final MCP server is the official Model Context Protocol server for Final, the commerce platform for custom point of sale. One remote endpoint, https://ai.finalpos.com/mcp, gives an AI agent access to every Final product the merchant allows:

  • Flow, the custom POS app builder: describe a checkout and the agent builds it from vetted screen blueprints, grounded in Final's version-locked POS APIs, then validates it, returns a live preview link and deploys it to payment terminals, tablets and kiosks. Counter POS, self-checkout, restaurant ordering, kitchen displays and in-person payment apps.
  • Hub, the back office behind those apps: products and catalog, stock and purchase orders, orders, customers, sales reports, team and roles, outlets, taxes, bookings.

You sign in with your Final account (OAuth 2.1) and choose the company and what the agent may do. There is nothing to install or run locally.

Endpointhttps://ai.finalpos.com/mcp
TransportStreamable HTTP
AuthOAuth 2.1 with PKCE (sign in with Final), or a fai_ connection key as Authorization: Bearer
Registry namecom.finalpos/final
Acts asThe person who connected it, on one company, within the packs they allowed
CostFree to connect; what the agent does follows your Final plan, as if you did it in Final

Connect

Most clients only need the URL. They open a Final sign-in page where you pick the company and the packs, then they're connected.

Claude (claude.ai, Claude Desktop)

Settings → Connectors → Add custom connector, URL https://ai.finalpos.com/mcp.

ChatGPT

Settings → Apps & Connectors → Advanced settings → Developer mode, then Create with the URL https://ai.finalpos.com/mcp.

Claude Code
claude mcp add --transport http final https://ai.finalpos.com/mcp

Run /mcp in Claude Code and choose Authenticate. Or install the plugin, which adds the server together with the Final playbook skill. Inside Claude Code:

/plugin marketplace add Final-Commerce/final-pos-mcp
/plugin install final@final
Gemini CLI
gemini extensions install https://github.com/Final-Commerce/final-pos-mcp

The extension adds the server, the Final playbook and commands: /final-pos:stock, /final-pos:sales, /final-pos:new, /final-pos:preview, /final-pos:validate and /final-pos:deploy. Sign in once with /mcp auth final inside Gemini CLI. To add only the server:

gemini mcp add --transport http final https://ai.finalpos.com/mcp
Cursor

Or in ~/.cursor/mcp.json:

{
  "mcpServers": {
    "final": { "url": "https://ai.finalpos.com/mcp" }
  }
}
VS Code (GitHub Copilot)

Install in VS Code, or:

code --add-mcp '{"name":"final","type":"http","url":"https://ai.finalpos.com/mcp"}'
Codex, scripts and clients without OAuth

Create a connection key at ai.finalpos.com/connections. It is shown once, and the page prints the exact snippet for each client. For Codex, add this to ~/.codex/config.toml:

[mcp_servers.final]
url = "https://ai.finalpos.com/mcp"
http_headers = { "Authorization" = "Bearer fai_YOUR_KEY" }

Any other client: POST https://ai.finalpos.com/mcp with Authorization: Bearer fai_YOUR_KEY.

Keys that start with sk_ (Flow) or fpm_ (Hub) belong to those products' own servers and are not accepted here. Create a fai_ key instead, or use OAuth.

Check that it works

Ask your agent: "Use Final to tell me which company you're connected to and which packs you can use." It calls get_connection and list_packs.

What your agent can do

Tools are grouped in packs. When you connect you choose which packs the agent may use, and those are also the OAuth scopes. To keep the model's context small, a connection lists only a few packs at a time. The core tools reach the rest: find_tools searches every allowed pack, and call_tool calls any allowed tool by name.

| Pack | Product | What it covers | Listed by default | |---|---|---|:-:| | catalog | Hub | Products, variants, categories, options, modifiers, product photos and the media library | ✓ | | inventory | Hub | Stock levels and history, transfers, suppliers, purchase orders, reorder rules, stock CSV import/export | | | orders | Hub | Orders, refunds and e-commerce order sync (read-only: the till takes payments) | | | customers | Hub | Customer records, notes, order history and customer import | | | reports | Hub | Financial summary, sales and payment breakdowns, employee sales, sessions, transactions, record export | | | team | Hub | Team members, roles and permissions | | | store | Hub | Outlets, stations, taxes and Hub extensions | | | bookings | Hub | Bookable services: rules, resources, availability, holds and confirmations | | | build | Flow | Build and deploy Final POS apps: API grounding, blueprints, flow files, preview sandboxes, validation, deploy | ✓ | | build_data | Flow | Custom tables (the app database), the secrets vault and Flow extensions | |

Tool names carry their product: hub_get_products, hub_find_low_stock, flow_create_flow, flow_deploy_flow. TOOLS.md lists every tool, with its pack, whether it changes data, and its arguments.

Core tools (always listed): get_connection, list_packs, find_tools, call_tool, enable_packs, disable_packs, switch_company.

Things to ask

Building custom POS apps (Flow)

  • "Build a coffee-shop kiosk with a product grid, modifiers, a cart and card payments, then give me a preview link."
  • "Add a tip screen to my counter app and validate it."
  • "Create a self-checkout flow for a small grocery store with barcode scanning and a receipt screen."
  • "Ship the latest version of my self-checkout flow."

An app build usually runs flow_get_scaffold → flow_create_flow → flow_lookup_command_frame (grounding) → flow_get_blueprint → flow_write_flow_files → flow_validate_flow → flow_start_preview, and returns a live preview URL. Everything the agent builds also appears in the Final builder, where every file write is a restorable checkpoint.

Running the store (Hub)

  • "Which products are below their reorder point at the Main Street outlet? Draft a purchase order for the usual supplier."
  • "Compare last week's sales by category with the week before."
  • "Add these 40 products from the attached spreadsheet, with photos."
  • "Who were my top ten customers this month, and what did they buy?"
  • "Set up a 45-minute massage as a bookable service with two therapists."

Safety and permissions

  • Your role still applies. Every Hub call runs as the person who connected, and Hub checks their live role on each call. Owner-only actions stay owner-only.
  • Packs are the permission. The agent can only call tools in the packs you allowed. You can change packs or disconnect at any time at ai.finalpos.com/connections, and disconnecting revokes every token at once.
  • Writes are labelled. Read tools carry readOnlyHint, and deploys and deletes carry destructiveHint, so clients can ask before acting. The server tells agents to confirm deploys, deletes and bulk changes with you.
  • Money stays on the till. Taking payments, refunding and voiding orders are not available over MCP.
  • Secrets never pass through the model. flow_request_secret asks you to enter an API key in the builder.
  • Everything is logged. The Connections page shows each connected client and every call it made, live.
  • Flow limits: Flow allows 30 preview boots, 12 builds and deploys, and 300 file writes per hour.

Privacy and support

  • What Final keeps. The connection (who made it, the company and the packs), the token it uses to reach Hub and Flow (encrypted), and a log of each tool call: the tool, the outcome, how long it took, and redacted previews of the arguments and result. You see that log on the Connections page.
  • What Final doesn't see. Your conversation. MCP clients send tool calls, not the chat around them.
  • Disconnecting deletes the stored token and revokes every token issued to that connection.
  • Privacy policy · Terms
  • Support: support@finalpos.com. For problems with this guide or the plugin, open an issue.

Flow's direct endpoint

Setups made before the gateway may still use https://flow.finalpos.com/api/mcp with a Flow sk_ key (registry name com.finalpos.build/final-flows). It keeps working, but new setups should use https://ai.finalpos.com/mcp, which includes Flow.

FAQ

What is the Final MCP server?

It is the official MCP server for Final POS. One remote URL, https://ai.finalpos.com/mcp, lets an AI assistant read and manage a merchant's Final back office (Hub) and build point-of-sale apps (Flow).

Can ChatGPT or Claude manage my Final POS inventory?

Yes. Allow the inventory pack when you connect. The agent can check stock levels, find low stock, suggest reorders, raise purchase orders and record received goods.

Can an AI agent build a POS app on Final?

Yes. With the build pack the agent creates a flow, writes the app against Final's version-locked APIs and vetted screen blueprints, validates it, and returns a live preview URL. You launch it from the Final builder.

Do I need an API key?

No, if your client supports OAuth (Claude, ChatGPT, Claude Code, Cursor, Gemini CLI, VS Code): just sign in with Final. Codex and scripts use a fai_ key from ai.finalpos.com/connections.

Which company does it act on?

The one you pick when you connect. If your account has several, the agent can call switch_company.

Can the agent take payments or issue refunds?

No. Payments, refunds and voids happen on the till. Orders are read-only over MCP.

Why does my agent only see a few tools?

Clients put every listed tool into the model's context, and quality drops with long lists. The agent finds the rest with find_tools, calls them with call_tool, or lists a whole pack with enable_packs.

Is there a cost?

Connecting is free. What the agent does is billed like the same work done in Final yourself, under your Final plan.

Where are the Final POS API docs?

At finalpos.com/docs. An agent building an app doesn't need them separately: the build pack grounds every call against Final's version-locked APIs (flow_lookup_pos_api, flow_lookup_command_frame).

About this repository

This repo holds the public setup guide, the MCP Registry entries (server.json, legacy/), the Gemini CLI extension (gemini-extension.json, GEMINI.md, commands/), the Claude Code and Cursor plugin marketplaces (.claude-plugin/, .cursor-plugin/, and plugins/final/, which both share) and the generated tool reference with its machine-readable twin catalog.json, which the server card at https://ai.finalpos.com/.well-known/mcp/server-card.json also reads. GEMINI.md and the Claude skill are the same playbook, and CI checks that they match. The server itself is hosted by Final; no code from this repo runs on your machine.

License

Apache-2.0 © Final Commerce

Questions fréquentes

Qu'est-ce que Final POS Flows (direct) ?

Flow's direct endpoint for sk_ keys. For all of Final in one server, use com.finalpos/final.

Comment installer Final POS Flows (direct) ?

Il fonctionne comme serveur distant. Dans Claude Code : claude mcp add --transport http final-pos-flows-direct 'https://flow.finalpos.com/api/mcp' --header 'Authorization: <Bearer sk_... Flow organization key. New setups: use https://ai.finalpos.com/mcp (com.finalpos/final) instead.>'. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour Final POS Flows (direct) ?

Oui. Il attend Authorization, à renseigner dans sa configuration.

Final POS Flows (direct) est-il open source ?

Oui. Son code est sur GitHub sous licence Apache-2.0.

Qui maintient Final POS Flows (direct) ?

Il est publié par Final-Commerce. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.