ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

LLM Pricing

โดย skakumanuรุ่น 1.79.1i★ –iบนเครื่องหรือคลาวด์
ชื่อใน registryio.github.skakumanu/llm-pricing-mcp-server

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

Real-time, drift-verified LLM pricing across 31 providers with cost+quality model routing.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: บนเครื่องหรือคลาวด์
  • ช่องทาง (transport): stdio, Streamable HTTP
  • หมวด: ค้นข้อมูลและความจำของ AI
  • ต้องใส่ค่าเหล่านี้: LLM_PRICING_API_KEY

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

ค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต

ต้องเตรียมก่อน

  • รันบนคลาวด์ไม่ต้องลงโปรแกรมเพิ่ม ต่อผ่านอินเทอร์เน็ตได้เลย
  • npmติดตั้ง Node.js (มีคำสั่ง npx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:

  1. เปิด Settings → Connectors
  2. กด Add custom connector
  3. วางที่อยู่ด้านล่างแล้วกด Add
  4. ถ้าให้ล็อกอิน ให้ล็อกอินกับผู้ทำ
SettingsConnectors1+ Add2https://…3
https://llm-pricing-api.fly.dev/mcp

หรือรันในเครื่องคุณ

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "llm-pricing": {
      "command": "npx",
      "args": [
        "-y",
        "llm-pricing-mcp"
      ],
      "env": {
        "LLM_PRICING_MCP_URL": "ใส่ค่าของคุณ",
        "LLM_PRICING_MCP_TIMEOUT_MS": "ใส่ค่าของคุณ",
        "LLM_PRICING_API_KEY": "ใส่ค่าของคุณ"
      }
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add --transport http llm-pricing https://llm-pricing-api.fly.dev/mcp

หรือรันในเครื่องคุณ

claude mcp add llm-pricing --env LLM_PRICING_MCP_URL='ใส่ค่าของคุณ' --env LLM_PRICING_MCP_TIMEOUT_MS='ใส่ค่าของคุณ' --env LLM_PRICING_API_KEY='ใส่ค่าของคุณ' -- npx -y llm-pricing-mcp

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "llm-pricing": {
      "url": "https://llm-pricing-api.fly.dev/mcp"
    }
  }
}

หรือรันในเครื่องคุณ

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "llm-pricing": {
      "command": "npx",
      "args": [
        "-y",
        "llm-pricing-mcp"
      ],
      "env": {
        "LLM_PRICING_MCP_URL": "ใส่ค่าของคุณ",
        "LLM_PRICING_MCP_TIMEOUT_MS": "ใส่ค่าของคุณ",
        "LLM_PRICING_API_KEY": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "llm-pricing": {
      "type": "http",
      "url": "https://llm-pricing-api.fly.dev/mcp"
    }
  }
}

หรือรันในเครื่องคุณ

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "llm-pricing": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "llm-pricing-mcp"
      ],
      "env": {
        "LLM_PRICING_MCP_URL": "ใส่ค่าของคุณ",
        "LLM_PRICING_MCP_TIMEOUT_MS": "ใส่ค่าของคุณ",
        "LLM_PRICING_API_KEY": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:

  1. เปิด ChatGPT บนเว็บ → Settings → Connectors (Apps)
  2. กด Create หรือ Add (บางแพ็กเกจต้องเปิด Developer mode ใน Advanced ก่อน)
  3. วางที่อยู่ด้านล่าง ตั้งชื่อ แล้วบันทึก
  4. ถ้าให้ล็อกอิน ให้ล็อกอินกับผู้ทำ
SettingsConnectors1+ Create2https://…3
https://llm-pricing-api.fly.dev/mcp

ชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • LLM_PRICING_MCP_URL env
    Upstream MCP endpoint to bridge to. Defaults to the hosted server; set to point at a self-hosted instance.
  • LLM_PRICING_MCP_TIMEOUT_MS env
    Per-request timeout to the upstream server, in milliseconds.
  • LLM_PRICING_API_KEY ความลับ env
    Optional service API key (POST /billing/signup), sent as x-api-key. Only the usage and budget tools need it; they then act on your own org.

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

ชื่อและคำอธิบายเครื่องมือตามที่ server ตอบมาเมื่อ 7 พ.ย. 2569 ผู้ทำเป็นคนเขียน ไม่ใช่เรา แสดงเป็นข้อความล้วน

  • get_all_pricing

    Get current pricing for all LLM models from all providers

  • estimate_cost

    Estimate the cost of using a specific LLM model

  • compare_costs

    Compare costs for multiple LLM models. Every named model is priced; pass client (e.g. 'claude_code') to also flag each model runnable_in_client (it never filters here). Recognised clients: claude_code, claude_desktop, cursor, github_copilot, windsurf, cline, continue, zed, jetbra

  • get_performance_metrics

    Get performance metrics (throughput, latency, context window) for models

  • get_use_cases

    Get recommended use cases and strengths for LLM models

  • get_telemetry

    Get MCP server telemetry and usage statistics including tool usage, response times, and error rates

  • get_pricing_history

    Query historical pricing snapshots recorded over time. Use this to look up past prices for a model or provider, or to see how prices have changed over a given number of days.

  • get_pricing_trends

    Find models whose prices changed the most over a given period. Returns models sorted by absolute percentage price change with a direction label ('increased', 'decreased', or 'unchanged'). Use this to answer questions like 'which models got cheaper this month?' or 'which providers

  • register_price_alert

    Register a webhook URL to receive notifications when a model's price changes by more than a specified percentage. Optionally scope the alert to a specific provider or model. Returns the alert ID and a one-time alert_token needed to view or delete it via manage_price_alert.

  • list_price_alerts

    List all registered price-change webhook alerts with their IDs and settings. Operator only: needs the server operator's key (MCP_API_KEY) on the MCP connection (x-api-key or Authorization: Bearer); any other caller, including the chat agent and the local STDIO server, gets error_

  • delete_price_alert

    Delete a registered price-change alert by its ID. Operator only: needs the server operator's key (MCP_API_KEY) on the MCP connection (x-api-key or Authorization: Bearer); any other caller, including the chat agent and the local STDIO server, gets error_code operator_key_required.

  • manage_price_alert

    View or delete the one price-change alert you registered, using the alert_token that register_price_alert returned once. No API key needed: the alert_token is the credential and is scoped to exactly that alert. action 'view' returns its id, url, threshold_pct, provider, model_nam

  • get_pricing_export_url

    Generate a download URL for the pricing history export. Returns a URL the user can open in their browser to download snapshot history as CSV (for spreadsheets) or JSON (for code). Use this when the user asks to export, download, or save pricing data.

  • list_conversations

    List stored chat conversation sessions with their IDs, last-updated timestamp, turn count, and a preview of the most recent user message. Use this when the user asks to see their past conversations or chat history. Operator only: needs the server operator's key (MCP_API_KEY) on t

  • delete_conversation

    Delete a specific chat conversation by its ID. Use when the user asks to delete, clear, or remove a past conversation. Use list_conversations first to find the conversation ID. Operator only: needs the server operator's key (MCP_API_KEY) on the MCP connection (x-api-key or Author

  • get_ide_pricing

    Get subscription pricing for AI coding IDE tools: GitHub Copilot, Cursor, Windsurf, Claude.ai, JetBrains AI, Amazon Q Developer, and Tabnine. Returns monthly subscription cost, inline completion support, context window, and per-tool strengths. Use this when the user asks to compa

  • predict_cost

    Predict the real cost of an LLM call from your actual prompt text — no need to know token counts in advance. Counts tokens locally, infers the task type (or accepts one explicitly), estimates output length from empirical I/O profiles, and returns all models ranked cheapest-first

  • optimize_workload

    Optimise a multi-task LLM workload by assigning the cheapest qualifying model to each task instead of running everything through one model. Takes a list of workloads (task type + monthly volume + optional quality floor and capability requirements) and returns a per-task model all

  • recommend_model

    Recommend the optimal LLM model from a free-text description of your use case — no need to already know the routing engine's task_type vocabulary. Classifies the description into a task type, then runs it through the same routing engine behind /router/recommend (live pricing + be

  • check_price_drift

    Audit this server's own pricing data against an external reference registry. Prices here are hand-maintained and go stale silently; a price that disagrees with the registry by more than the threshold is automatically withheld from serving the moment it's detected, not just when t

  • get_data_quality

    Report an aggregate accuracy summary for the pricing catalogue: what percentage of models have a confirmed, fresh price, how many are currently withheld due to price drift, how many are newly discovered and not yet priced, and how many confirmed prices are over 90 days old. A sin

  • get_cache_stats

    Report process-lifetime hit/miss counts, total lookups, and hit rate for the ~5-minute recommendation cache, separately for the recommend_model tool and POST /router/recommend (never combined). Server-operations introspection for confirming the cache is reducing recomputation in

  • record_usage

    Record actual token usage for a completed LLM call. Cost is computed server-side from current pricing, never trusted from the caller — this is the 'actual spend' counterpart to estimate_cost's hypothetical numbers. Usage is attributed to your org. Resubmitting the same request_id

  • get_usage_summary

    Get a summary of actual recorded LLM spend: total cost, request count, and breakdowns by model and provider, from usage events previously logged via record_usage. Use when the user asks what they've actually spent, as opposed to a hypothetical cost estimate. Requires your service

  • analyze_session_usage

    Analyze one specific session's actual recorded LLM usage (tagged via record_usage's session_id) on demand: total input/output tokens, total actual cost, and a per-model breakdown if more than one model was used. Also runs the session's own observed token pattern through the same

  • import_session_usage

    Bulk-import a completed session's usage in a single call — the retroactive counterpart to record_usage, for when a session wasn't instrumented live. Use when a calling agent (e.g. VS Code Copilot Chat) already has a session's turn-by-turn history in its own local store and wants

  • register_budget_alert

    Register a webhook URL to receive notifications when actual recorded spend (from record_usage) crosses a USD threshold within a rolling window. The alert monitors your org's spend. Fires at most once per period_days while spend stays over threshold. Returns the alert ID. Requires

  • list_budget_alerts

    List your org's registered budget-spend webhook alerts with their IDs and settings. Requires your service API key on the MCP connection (x-api-key or Authorization: Bearer); only alerts for that key's org are returned.

  • delete_budget_alert

    Delete one of your org's registered budget-spend alerts by its ID. Requires your service API key on the MCP connection (x-api-key or Authorization: Bearer); another org's alert ID reads as not found.

  • dispatch

    Send a text chat request through the dispatch gateway: it applies your policy, runs the best eligible model, and returns the completion, usage and the full dispatch_receipt (chosen model, reason, cost, savings, attempts) — the same as POST /v1/chat/completions with a `dispatch` o

  • ask_agent

    Ask the LLM Pricing AI agent a question in natural language. Use for complex queries about pricing, model recommendations, cost optimisation advice, or anything that benefits from multi-step reasoning.

  • support_chat

    Ask the customer support assistant about THIS service: plans and prices, signing up, upgrading or cancelling, invoices, service API keys (rotation, lost key), rate limits, connecting over MCP or REST, data accuracy, and how to reach the owner. Answers come only from the published

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 9 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub skakumanu ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • ✓ ผ่าน

    endpoint ตอบ

    ตอบกลับใน 162 ms (HTTP 200)

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ไม่ต้องล็อกอิน

  • ✓ ผ่าน

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    อ่านคำอธิบายเครื่องมือ 32 ตัวแล้ว ไม่พบคำสั่งแอบแฝงถึง AI

เทียบกับตัวอื่นในหมวด ค้นข้อมูลและความจำของ AIi

  • ดาวมากกว่า 0% ของอีก 5763 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 78% ของอีก 5763 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 5763 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

LLM Pricing ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 3 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

ต้องใส่ค่าเหล่านี้: LLM_PRICING_API_KEY

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

ได้ทั้งสองแบบ จะลงในเครื่องหรือต่อผ่านคลาวด์ก็ได้

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.79.1) เข้า registry 11 วันที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Context7, Codebase Memory, Exa

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Context7

ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว

โดย upstashใช้กันมาก↓ 972.7K/สัปดาห์★ 64.2Kอัปเดต 3 วันที่ผ่านมา

บนเครื่องหรือคลาวด์

Codebase Memory

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

โดย DeusDataใช้กันมาก↓ 18K/สัปดาห์★ 48.1Kอัปเดต 23 วันที่ผ่านมา

รันบนเครื่อง

Exa

Connect AI agents to Exa for web search, content fetching, and multi-step research.

โดย exa-labsใช้กันมาก★ 5.2Kอัปเดต 2 เดือนที่ผ่านมา

รันบนคลาวด์✓ exa.ai

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

LLM Pricing MCP Server

LLM pricing you can verify, route on, and act on: 32 MCP tools, a REST API and browser UIs over pricing data from 30 LLM providers.

Live at: https://llm-pricing-api.fly.dev · API reference: /api-docs · Swagger: /docs


What it does

  • Verified prices: every curated price is checked against a live external registry; anything drifted more than 5% is withheld, never silently served.
  • Routes, not just quotes: picks a model by cost *and* quality for your task.
  • Executes: the dispatch gateway runs the best eligible model on your own provider keys.
  • Tracks real spend: records usage, analyzes sessions, fires budget alerts.
  • Price alerts: webhooks on price changes, self-managed with an alert_token.
  • Local currency: optional currency / country on pricing and estimates (13 currencies).
  • Many surfaces: MCP (STDIO + HTTP), REST, chat agent, calculator / compare / history UIs, billing dashboard, FAQ (/faq), published legal pages and security statement (/terms, /privacy, /refunds, /dpa, /subprocessors, /security).
  • Customer support: a grounded support assistant (Support mode on /chat, support_chat MCP tool) that knows the FAQ, the plan catalogue and your own account, and escalates anything it cannot do to the owner with a reference.
  • Retired providers: Anyscale (2026-10)

Quick start

Claude Desktop (remote, no install): open Settings → Connectors → Add custom connector and paste:

https://llm-pricing-api.fly.dev/mcp
  • Claude Desktop ignores a url entry in claude_desktop_config.json; that file only launches local commands.
  • A connector sends no custom headers. For tools that need your service key, use the npx bridge below.

npx bridge (STDIO, no clone, no Python): add to claude_desktop_config.json:

{

"mcpServers": { "llm-pricing": { "command": "npx", "args": ["-y", "llm-pricing-mcp"], "env": { "LLM_PRICING_API_KEY": " " } } } }

  • LLM_PRICING_API_KEY is optional; it is forwarded as x-api-key. Options are in npm/llm-pricing-mcp/README.md.
  • Other clients (Cursor, VS Code, Claude Code): docs/MCP_QUICK_START.md · Claude details and troubleshooting: docs/CLAUDE_INTEGRATION.md.

Run locally (Python 3.11):

pip install -r requirements.txt

uvicorn src.main:app --reload --port 8000 # REST + POST /mcp; STDIO server: python mcp/server.py


MCP tools

All 32 tools are listed over POST /mcp and STDIO. MCP protocol version 2024-11-05.

GroupTools
Pricing and estimatesget_all_pricing, estimate_cost, compare_costs, predict_cost, get_performance_metrics, get_use_cases, get_ide_pricing, get_pricing_export_url
Routingrecommend_model, optimize_workload, get_cache_stats
Data qualitycheck_price_drift, get_data_quality
Historyget_pricing_history, get_pricing_trends, get_telemetry
Price alertsregister_price_alert, manage_price_alert, list_price_alerts, delete_price_alert
Usage and budgetrecord_usage, get_usage_summary, analyze_session_usage, import_session_usage, register_budget_alert, list_budget_alerts, delete_budget_alert
Agent, support and dispatchask_agent, support_chat, list_conversations, delete_conversation, dispatch

Pass client (e.g. Claude Code, cursor, github copilot, cline) to recommend_model, optimize_workload, compare_costs or POST /router/recommend and the answer is restricted to models that tool can run before ranking; on the hosted MCP server it is inferred from the handshake when omitted, and an explicit value always wins. Recognised clients and the override order are in docs/MCP_QUICK_START.md.

The chat agent binds 27 of the 32 MCP tools (all except ask_agent, support_chat, get_telemetry, get_cache_stats and dispatch).


Key features

Dispatch gateway
  • Add a dispatch policy to POST /v1/chat/completions. The best eligible model runs for real and you get a dispatch_receipt with the chosen model, reason, actual cost and savings.
  • Objectives: balanced, cheapest, best_quality, lowest_latency, pinned. Failover never drops below your min_quality_score.
  • Supports stream: true (OpenAI-format SSE; the receipt arrives in the final chunk).
  • Text-only, single-choice. tools, n > 1 and image parts are rejected up front, with the feature named.
  • Also available as the dispatch MCP tool. Executable providers are listed at GET /dispatch/providers.
Stored provider keys
  • Store each provider key once per org with POST /dispatch/keys. After that, callers need only their service key.
  • Keys are AES-256-GCM-encrypted at rest and never returned; listings show only a last-4 fingerprint.
  • A per-request X-Provider-Key- header still overrides the stored key.
Price alerts with alert_token
  • Registering a price alert returns a one-time alert_token. It is stored only as a hash and nobody can recover it.
  • View or delete your alert with no account: POST /pricing/alerts/self/view or /self/delete with the token in the JSON body, or the manage_price_alert tool.
  • Listing or deleting *all* alerts is operator-only.
Webhook SSRF guard
  • Webhook URLs must be public https. Private, loopback, metadata and unresolvable hosts are refused with 422 invalid_webhook_url.
  • The URL is checked at registration and again at every delivery, connecting only to the checked IP; redirects are never followed.
  • Older alerts that break the rules are kept but skipped at delivery.
  • WEBHOOK_ALLOW_PRIVATE_TARGETS is for local development only; never set it in production.
Cost estimation
  • POST /cost-estimate (one model) and POST /cost-estimate/batch (1–50 models). No key needed; requests are rate-limited.
  • predict_cost and scripts/audit_repo.py estimate the cost of a workload or a codebase's LLM call sites.
Data quality
  • GET /data-quality gives one trust score, confirmed_pct, plus counts of drift-withheld, never-priced and stale models.
  • Every price carries price_source_kind (provider or registry). check_price_drift gives per-model detail.
Usage and budget
  • POST /usage records actual spend. GET /usage/summary and GET /usage/session/{session_id} analyze it.
  • Budget alerts (POST /usage/alerts) fire a webhook at a threshold; hard_stop: true also blocks dispatch for your org.
Customer support and plans
  • Support mode on /chat and the support_chat MCP tool answer plan, billing, key, rate-limit and how-to questions only from the published FAQ (docs/FAQ.md), the plan catalogue (GET /billing/config) and, with your service key, your own account. No invented prices, policies or response times.
  • Everything outside its authority (refunds, credits, disputes, failed payments, a lost key without the current key, bug/feature/security reports, "talk to a human") becomes an escalation in the owner's operator-only queue with a reference; POST /support/escalations/status returns the owner's reply.
  • Plans describe only what is implemented: rate limit, support assistant allowance and escalation priority. Upgrade and Manage Billing work when Stripe is configured; POST /billing/key/rotate rotates a key with the current one; GET /billing/account/export downloads everything held about your organisation and POST /billing/account/delete (body {"confirm": "DELETE", "org_id": ...}) irreversibly erases it, ends any Stripe subscription and opens a refund review when you delete inside the 14-day window (v1.87.0); service keys are stored only as a SHA-256 hash; the Stripe webhook handles failed renewals (14-day grace, then the free limit), refunds and disputes, and ignores duplicate deliveries.
  • Legal pages (v1.86.0): /terms, /privacy, /refunds, /dpa, /subprocessors are generated from docs/legal/*.md (scripts/sync_legal.py), linked from the site footer, /billing and /faq, and show a draft notice until the owner turns on LEGAL_PAGES_LIVE and every placeholder is replaced. Paid checkout stays disabled until then; the Stripe customer portal is unaffected. Refunds: full within 14 days of the first payment, pro-rated after, every request reviewed by the owner via the support assistant. /security states what the service does and does not have (no SOC 2, ISO 27001 or third-party penetration test). The pre-launch list is docs/LAUNCH_CHECKLIST.md.
  • Spend: per-caller daily LLM caps by tier (anonymous strictest) under the orchestrator's global monthly ceiling; a cap hit returns a non-LLM fallback with FAQ links. Every support action leaves an operator-only, append-only record.
Orchestrator core (operator-only)
  • One place where the operator's inbound work (GitHub issues/PRs, the weekly price audit, owner requests) is accepted exactly once, routed by trigger class and owner-applied labels only, and held at human checkpoints.
  • /orchestrator/* plus an Orchestrator block on /admin: approval queue, parked runs, run log (CSV), global pause, per-workflow mode, budgets. Nothing merges, moves money or sends anything without a recorded approval.
  • The SDLC pipeline is wrapped as an owner checkpoint: the queue shows the exact /release-feature command; the PR it opens completes the run and posts one status comment on the issue.
Compliance audit (operator-only, v1.88.0)
  • A weekly (Mondays 07:00 UTC, compliance-audit.yml) and on-demand mechanical audit of the whole system: legal placeholders and the legal-live gate, Litestream coverage of every database, production secret presence (names only), version consistency, data-quality regression against the previous report, the weekly price audit, orchestrator budget, service-key hashing, Stripe reconciliation when STRIPE_AUDIT_KEY is set, and the launch checklist's "done" items. It is report-only (changes nothing audited), makes no legal-compliance claim, and opens an owner approval only when a check fails.
  • POST /audit/run, GET /audit/reports, GET /audit/reports/{id} (latest alias) and a Compliance audit panel on /admin. Reports hold counts, file and setting names and opaque prefixes, never emails, keys or Stripe ids.
Document agent (operator-only, v1.89.0)
  • Owner-requested decks, one-pagers, release briefs and status reports from a closed four-type catalogue (release_notes_brief, pricing_comparison_deck, pricing_one_pager, internal_status_report). Every figure comes from a product data call made during the generation and is recorded in a provenance manifest; every number in the text is cross-checked against it (untraceable numbers are removed and counted); each price carries its price_as_of and a status label, and models without a usable price show "price not available" and stay out of rankings and charts.
  • GET /documents/types, POST /documents/generate, GET /documents/artifacts, GET /documents/artifacts/{id} and .../download?format=html|md|pptx|docx (

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx