Final POS Docs

io.github.Final-CommercePublished by GitHub account Final-Commercev1.0.0Updated Oct 28, 2026

Search the Final POS REST API documentation.

The publisher's own server: Final POS – Custom POS Builder

VerifiedStreamable HTTPWeb executableDeveloper ToolsData & AnalyticsBusiness & Commerce

Overview

AI-generated overview

Official Final POS remote MCP server that lets an assistant read and manage a merchant's back office and build custom point-of-sale apps.

What you can do
  • Build and deploy POS apps: create flows from blueprints, ground calls against Final APIs, validate, preview and deploy
  • Manage catalog: products, variants, categories, options, modifiers and media
  • Track inventory: stock levels, transfers, suppliers, purchase orders and reorder rules
  • Handle orders, customers, bookings, team roles, outlets and taxes
  • Read sales and financial reports, and discover or call any allowed tool by name
When to use it
Use it when you run a store on Final POS and want an assistant to build or update checkout, kiosk or counter apps, or to look after catalog, stock, orders, customers and reports from a chat client.
Requirements
A remote Streamable HTTP endpoint; nothing to install locally. A Final account signed in via OAuth 2.1 with PKCE, or a fai_ connection key sent as an Authorization Bearer header for clients without OAuth. You pick one company and the allowed packs when connecting.
Before you install
The agent acts as the connected user on one company and can write, deploy and delete data within allowed packs; deploys, deletes and bulk changes should be confirmed. Payments, refunds and voids are not available over MCP. Connection keys are shown once and must be kept secret. Final logs each tool call with redacted argument previews. Usage is billed under your Final plan.

Installation

In SourceWeft

  1. Open Final POS Docs in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.Final-Commerce%2Ffinal-docs/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "final-pos-docs": {
      "type": "http",
      "url": "https://docs.finalpos.com/mcp"
    }
  }
}

README

[Final]

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

[MCP Registry: com.finalpos/final] [Add to Cursor] [Install in VS Code] [License: Apache-2.0]

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

bash
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

bash
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:

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

Cursor

[Add to Cursor]

Or in ~/.cursor/mcp.json:

json
{  "mcpServers": {    "final": { "url": "https://ai.finalpos.com/mcp" }  }}

VS Code (GitHub Copilot)

Install in VS Code, or:

bash
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:

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.

PackProductWhat it coversListed by default
catalogHubProducts, variants, categories, options, modifiers, product photos and the media library✓
inventoryHubStock levels and history, transfers, suppliers, purchase orders, reorder rules, stock CSV import/export
ordersHubOrders, refunds and e-commerce order sync (read-only: the till takes payments)
customersHubCustomer records, notes, order history and customer import
reportsHubFinancial summary, sales and payment breakdowns, employee sales, sessions, transactions, record export
teamHubTeam members, roles and permissions
storeHubOutlets, stations, taxes and Hub extensions
bookingsHubBookable services: rules, resources, availability, holds and confirmations
buildFlowBuild and deploy Final POS apps: API grounding, blueprints, flow files, preview sandboxes, validation, deploy✓
build_dataFlowCustom 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: [email protected]. 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

Source: README.md at commit 240bdf0

Tools

0
SourceWeft has not read this server's tools yet.

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declaredRequired10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Finalpos integrations