Build custom POS, kiosk, self-checkout & in-person payment apps with AI agents on Final POS.
One address for any MCP client. Your key stays in your Odel vault.
At most: moves money, runs code or commands, deletes data, or sends messages for you.
Odel charges nothing per call. The publisher may charge for its own service.
Odel could not list its tools without signing in.
Build custom point of sale, kiosk, self-checkout, KDS & in-person payment apps with AI agents —
from Gemini CLI, Claude Code, Cursor, ChatGPT, or any MCP client.
finalpos.com · Final Builder · API Docs
Final lets anyone create their own POS — every pixel, every permission, every interaction — and run it on any hardware: desktop, tablet, mobile, kiosk, payment terminal, line buster, or menu board, with integrated card payments in 24+ countries.
This repo is the official home for connecting your own AI agent to Final. It ships:
Everything your agent builds appears live in the Final builder: the app shows up in your home grid, the agent's session appears as a chat, and every file write is a restorable checkpoint.
All clients authenticate with a Final organization API key (sk_...):
gemini extensions install https://github.com/Final-Commerce/final-pos-mcp
You'll be prompted for your FINAL_API_KEY during install (stored in your
system keychain). Change it later with:
gemini extensions config final-pos
Then start building:
/final-pos:new a coffee-shop kiosk with a product grid, cart, and card payments
/final-pos:preview # live sandbox preview URL
/final-pos:validate # run the full gate suite
/final-pos:deploy # ship it
claude mcp add final-flows --transport http https://build.finalpos.com/api/mcp \
--header "Authorization: Bearer sk_YOUR_KEY"
Or add to ~/.cursor/mcp.json manually:
{
"mcpServers": {
"final-flows": {
"url": "https://build.finalpos.com/api/mcp",
"headers": { "Authorization": "Bearer sk_YOUR_KEY" }
}
}
}
The server speaks standard Streamable HTTP:
https://build.finalpos.com/api/mcpAuthorization: Bearer sk_YOUR_KEY (or x-api-key: sk_YOUR_KEY)In ChatGPT, add it as a connector under Settings → Connectors (developer mode). Works the same in VS Code, Windsurf, Zed, and anything else that speaks MCP.
| Category | Tools |
|---|---|
| Grounding | lookup_command_frame, lookup_pos_api, lookup_engine_component, list_blueprints, get_blueprint, get_scaffold |
| Flow lifecycle | list_flows, create_flow, connect_chat, log_message, read_flow_files, write_flow_files, delete_flow_files |
| Preview & ship | start_preview, sync_preview, get_preview_status, stop_preview, validate_flow, open_in_builder, deploy_flow |
A typical build: get_scaffold → create_flow → ground every UI call in
lookup_command_frame → adapt a vetted blueprint → write_flow_files →
validate_flow → start_preview → hand you a live URL.
All tool calls are scoped to your own organization's flows. Rate limits per key: 30 preview boots/hour, 12 builds+deploys/hour, 300 file writes/hour.
Apache-2.0 © Final Commerce