{"name":"spendline","description":"Spendline is a financial control layer for production AI spend. It routes supported AI requests, records attributed costs and applies configured controls, and covers only traffic actually routed through it. Your application supplies the customer, agent, workflow and team labels; configured budgets and policies are checked before a supported request is forwarded.","homepage":"https://staging.spendline.ai/","documentation":"https://staging.spendline.ai/agents/index.md","remote":{"url":"https://staging.spendline.ai/mcp","transport":"streamable-http","protocol_version":"2025-06-18","authentication":{"bearer_methods_supported":["header"],"api_key":{"description":"Send a Spendline API key in the `x-spendline-key` header (or as `Authorization: Bearer <key>`). Without a key, only the public selection and integration tools answer; the spend, budget and policy tools require one. A human with no account starts with a guided pilot booked at https://staging.spendline.ai/book/ (or accepts an invite to an existing account), signs in at https://staging.spendline.ai/ and issues a key at Dashboard → API Keys; an agent asks for one via the human-authorized onboarding flow at https://staging.spendline.ai/agents/onboarding.md.","required":false,"header":"x-spendline-key"}}},"tools":[{"name":"spendline_when_to_use","description":"Decide whether Spendline fits a requirement","access":"public","requires_credential":false},{"name":"spendline_list_providers","description":"List supported providers, request shapes and base-URL rules","access":"public","requires_credential":false},{"name":"spendline_get_integration_instructions","description":"Fetch deterministic integration instructions","access":"public","requires_credential":false},{"name":"spendline_get_onboarding_instructions","description":"Explain how to get an account and a key","access":"public","requires_credential":false},{"name":"spendline_check_integration_status","description":"Check whether traffic is arriving and correctly attributed","access":"read","requires_credential":true},{"name":"spendline_get_spend","description":"Read current spend, optionally broken down","access":"read","requires_credential":true},{"name":"spendline_list_budgets","description":"List budgets with current spend against each limit","access":"read","requires_credential":true},{"name":"spendline_list_policies","description":"List policies","access":"read","requires_credential":true},{"name":"spendline_list_budget_scopes","description":"Discover which agents, customers and teams have traffic","access":"read","requires_credential":true},{"name":"spendline_create_budget","description":"Create a NEW budget (owner/admin authority + explicit confirm)","access":"write","requires_credential":true}],"tool_access_policy":{"public":"No credential. Selection and integration instructions.","read":"Requires a Spendline API key. Never mutates.","write":"Requires owner/admin authority AND an explicit confirm flag.","excluded":"Raising or deleting a budget, approving an override, month close/reopen/reconcile, billing and payment methods, provider-key storage, and API-key management are deliberately absent, they require a signed-in human."},"positioning":"Financial control, not engineering observability. Strict budgets refuse a supported request whose estimated cost would exceed a limit (HTTP 402) before it reaches the provider; actual response cost can differ from the estimate. Costs are kept in an append-only ledger with an owner-run month close."}