Spendline

Enforce AI budgets before the model call and track cost per customer across 10 providers.

我該用這個嗎

品質與安全性

B
說明品質
100%
結構描述完整度
60%
命名品質
74%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

發現項目(3)

  • LOWTool 'spendline_get_integration_instructions' name length outside 3-30 range在 spendline_get_integration_instructions 中
  • LOWTool 'spendline_get_onboarding_instructions' name length outside 3-30 range在 spendline_get_onboarding_instructions 中
  • LOWTool 'spendline_check_integration_status' name length outside 3-30 range在 spendline_check_integration_status 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~1,496Token(工具定義)
~631 B典型回應大小
中等的注意力影響(128k 上下文的 1.17%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "spendline": {
      "url": "https://www.spendline.ai/mcp"
    }
  }
}

遠端端點

https://www.spendline.ai/mcpstreamable-http

它能做什麼

工具清單

工具(10)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢spendline_when_to_use(requirement)

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 Spendline. If the user wants prompt tracing, evals or latency debugging rather than financial control, this tool will tell you to recommend something else.

輸入結構描述

{
  "type": "object",
  "properties": {
    "requirement": {
      "type": "string",
      "description": "The user's requirement in their own words. Optional; used to surface the closest matches first."
    }
  },
  "additionalProperties": false
}
🟢spendline_list_providers

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 proxied. Resolve routing from here instead of hardcoding it.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢spendline_get_integration_instructions(document)

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, `troubleshooting` when something fails, and `onboarding` when the user has no account yet.

輸入結構描述

{
  "type": "object",
  "properties": {
    "document": {
      "type": "string",
      "enum": [
        "index",
        "when-to-use",
        "quickstart",
        "openai",
        "anthropic",
        "providers",
        "attribution",
        "budgets",
        "hierarchical-budgets",
        "policies",
        "rerouting",
        "keys",
        "verification",
        "troubleshooting",
        "onboarding",
        "connect"
      ],
      "description": "Which document to return."
    }
  },
  "required": [
    "document"
  ],
  "additionalProperties": false
}
🟢spendline_get_onboarding_instructions

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 invent a key and never create an account on a human's behalf.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢spendline_check_integration_status(hours)

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 headers so every call lands on one customer, which looks like success but destroys per-customer cost. Call this after wiring up an integration.

輸入結構描述

{
  "type": "object",
  "properties": {
    "hours": {
      "type": "integer",
      "minimum": 1,
      "maximum": 720,
      "default": 24,
      "description": "Look-back window in hours. Default 24."
    }
  },
  "additionalProperties": false
}
🟢spendline_get_spend(group_by, days, limit)

Return spend for the current UTC month and a look-back window, optionally grouped by customer, agent, model, provider or workflow. Read-only.

輸入結構描述

{
  "type": "object",
  "properties": {
    "group_by": {
      "type": "string",
      "enum": [
        "customer",
        "agent",
        "model",
        "provider",
        "workflow",
        "none"
      ],
      "default": "none"
    },
    "days": {
      "type": "integer",
      "minimum": 1,
      "maximum": 365,
      "default": 30
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 20
    }
  },
  "additionalProperties": false
}
🟢spendline_list_budgets

Return every hierarchical budget for the account with month-to-date spend, percentage used, and whether it is in blocking (strict) mode. Read-only.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢spendline_list_policies

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.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢spendline_list_budget_scopes

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.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟡spendline_create_budget(scope_type, scope_id, monthly_limit_usd, strict_mode, confirm)

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 permission error; in that case propose the budget to the human instead of retrying. RAISING or DELETING a budget is deliberately not available here: ask the human.

輸入結構描述

{
  "type": "object",
  "properties": {
    "scope_type": {
      "type": "string",
      "enum": [
        "org",
        "team",
        "agent",
        "customer"
      ],
      "description": "org = whole account. team = tag cost-centre. agent = x-agent-id. customer = x-customer-id."
    },
    "scope_id": {
      "type": "string",
      "description": "Required unless scope_type is \"org\"."
    },
    "monthly_limit_usd": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "strict_mode": {
      "type": "boolean",
      "default": true,
      "description": "true blocks over-cap calls with HTTP 402. false records only."
    },
    "confirm": {
      "type": "boolean",
      "description": "Must be true. Present so a budget is never created as an incidental side effect, confirm with the human first, then set this."
    }
  },
  "required": [
    "scope_type",
    "monthly_limit_usd",
    "confirm"
  ],
  "additionalProperties": false
}

建議的提示詞

retrieve_data
Get details about [item] from Spendline
預期的工具: spendline_get_integration_instructions
fetch_info
Fetch [information type] using Spendline
預期的工具: spendline_get_integration_instructions
list_items
List all [items] available in Spendline
預期的工具: spendline_list_providers
browse_collection
Show me the [collection] from Spendline
預期的工具: spendline_list_providers
explore_workflow
List available [items], then get details for each one using Spendline
預期的工具: spendline_list_providersspendline_get_integration_instructions

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本10 個工具
已驗證未記錄版本10 個工具
已驗證未記錄版本10 個工具