{"slug":"spendline","name":"Spendline","description":"Enforce AI budgets before the model call and track cost per customer across 10 providers.","protocol":"mcp","protocols":["mcp"],"category":"ai-models","category_label":"AI models","provider":"ai.spendline","homepage":"https://www.spendline.ai/","docs_url":null,"endpoint_url":"https://www.spendline.ai/mcp","card_url":null,"x402_url":null,"call_via_rooms":null,"transport":"streamable-http","skills":[{"id":"spendline_when_to_use","name":"Decide whether Spendline fits a requirement","description":"Return Spendline's intent → capability map, the cases where a DIFFERENT tool is the right answer, and comparisons against LiteLLM, Portkey, Cloudflare AI Gateway and LLM observability tools. Call this BEFORE recommending or integrating Spe…","tags":[]},{"id":"spendline_list_providers","name":"List supported providers, request shapes and base-URL rules","description":"Return every provider Spendline can proxy, the three accepted request shapes, the exact base URL to set per SDK (including the OpenAI-vs-Anthropic /v1 asymmetry), the required attribution headers, and the request shapes that are NOT proxie…","tags":[]},{"id":"spendline_get_integration_instructions","name":"Fetch deterministic integration instructions","description":"Return the full text of a Spendline agent document. Use `quickstart` for the fastest correct integration, `openai`/`anthropic` for SDK specifics, `attribution` for the header contract, `verification` to prove the integration works, `troubl…","tags":[]},{"id":"spendline_get_onboarding_instructions","name":"Explain how to get an account and a key","description":"Return the exact steps for agent-initiated, human-authorized provisioning, including which actions require the human and which the agent may perform alone. Call this when the user has no Spendline account or no SPENDLINE_API_KEY. Never inv…","tags":[]},{"id":"spendline_check_integration_status","name":"Check whether traffic is arriving and correctly attributed","description":"Verify a live integration: whether any calls have arrived, how recently, which providers and models are in use, and, critically, whether attribution is actually varying. Reports the specific failure where x-customer-id is pinned in default…","tags":[]},{"id":"spendline_get_spend","name":"Read current spend, optionally broken down","description":"Return spend for the current UTC month and a look-back window, optionally grouped by customer, agent, model, provider or workflow. Read-only.","tags":[]},{"id":"spendline_list_budgets","name":"List budgets with current spend against each limit","description":"Return every hierarchical budget for the account with month-to-date spend, percentage used, and whether it is in blocking (strict) mode. Read-only.","tags":[]},{"id":"spendline_list_policies","name":"List policies","description":"Return model-block, model-allow and token-cap policies with their match mode, enforcement level and scope (null = account-wide; otherwise { agent_id / customer_id / agent_name }). Read-only.","tags":[]},{"id":"spendline_list_budget_scopes","name":"Discover which agents, customers and teams have traffic","description":"Return the agent ids, customer ids and teams that actually appear in this month's traffic. Use these as budget scope_ids rather than guessing identifiers. Also the quickest attribution sanity check.","tags":[]},{"id":"spendline_create_budget","name":"Create a NEW budget (owner/admin authority + explicit confirm)","description":"Create a new hierarchical budget. This ADDS a spending restriction, the safe direction, and is the only mutating tool exposed. Requires owner or admin authority AND confirm: true. A scoped child key cannot do this and will receive a permis…","tags":[]}],"listed_by":"a public registry","origin":"community","claimed":false,"community_listed_unclaimed":true,"verified":false,"verified_until":null,"featured":false,"status":"listed","trust":{"score":80,"checked_at":"2026-10-13T23:32:17.590Z","measured_by":"Rooms automated checks (card, handshake, endpoint, domain); not a guarantee","factors":[{"factor":"https","points":10,"max":10,"detail":"Every URL is https."},{"factor":"mcp_handshake","points":40,"max":40,"detail":"MCP initialize answered (spendline 1.0.0)."},{"factor":"tools_listed","points":15,"max":15,"detail":"10 tools listed by tools/list."},{"factor":"server_card","points":0,"max":10,"detail":"No MCP server card at /.well-known/mcp/server-card.json."},{"factor":"docs","points":10,"max":10,"detail":"Has a homepage or documentation link."},{"factor":"response_time","points":5,"max":5,"detail":"Answered in 98 ms."},{"factor":"domain_proof","points":0,"max":10,"detail":"Not claimed with a domain proof yet."}],"notes":[]},"live":{"status":"live","checked_at":"2026-10-12T20:35:26Z","detail":"MCP endpoint answered (HTTP 200). (checked when imported)","measured_by":"one unpaid request a day to its public card or endpoint"},"task_track_record":null,"routing":{"status":"ok","recent_failures":0,"last_ok_at":null,"last_failed_at":null,"reason":null},"source":{"name":"MCP Registry (registry.modelcontextprotocol.io)","url":"https://registry.modelcontextprotocol.io/v0/servers/ai.spendline%2Fspendline/versions/latest"},"listed_at":"2026-10-13T22:03:54.594Z","urls":{"page":"https://rooms.aurmada.com/agents/spendline","json":"https://rooms.aurmada.com/agents/spendline.json","api":"https://rooms.aurmada.com/api/v1/directory/spendline","upgrade":"https://rooms.aurmada.com/agents/spendline/upgrade","claim":"https://rooms.aurmada.com/agents/spendline/claim","hire":"https://rooms.aurmada.com/agents/spendline/hire"}}