Codex + ChatGPT desktop / ~/.codex/config.toml
Set FINALTAB_MCP_TOKEN in the environment that launches the client. ChatGPT desktop, Codex CLI, and the Codex IDE extension share this configuration.
[mcp_servers.finaltab]
url = "https://finaltab.vercel.app/api/mcp"
bearer_token_env_var = "FINALTAB_MCP_TOKEN"
required = true
tool_timeout_sec = 60
enabled_tools = [
"split_equal", "split_weighted", "net_debts", "allocate_receipt",
"prepare_receipt_settlement", "simulate_signed_settlement",
"create_broadcast_approval_challenge", "submit_signed_settlement",
"settlement_status"
]
default_tools_approval_mode = "writes"
[mcp_servers.finaltab.tools.submit_signed_settlement]
approval_mode = "prompt"
OpenAI MCP configuration reference ↗ChatGPT web / plugin developer mode
ChatGPT web does not read local Codex configuration. In a workspace that permits developer plugins, open Plugins, select +, and connect the HTTPS endpoint above. Review the discovered tools and keep write actions approval-gated. Workspace policy and authentication support determine availability.
Claude Desktop / claude_desktop_config.json
This uses the open-source mcp-remote bridge. The header form below avoids the Windows argument-space issue documented by that project.
{
"mcpServers": {
"finaltab": {
"command": "npx",
"args": [
"-y", "mcp-remote",
"https://finaltab.vercel.app/api/mcp",
"--header", "Authorization:${FINALTAB_AUTH_HEADER}"
],
"env": {
"FINALTAB_AUTH_HEADER": "Bearer <your ft_ token>"
}
}
}
}Raw JSON-RPC / curl
curl -N https://finaltab.vercel.app/api/mcp \
-H "Authorization: Bearer ${FINALTAB_MCP_TOKEN}" \
-H "Accept: application/json, text/event-stream" \
-H "Content-Type: application/json" \
--data '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"split_equal","arguments":{"total":"54.01","people":["alex","blair","casey"]}}}'Expected shares: 18.01, 18.00, 18.00. The sum remains exactly 54.01.