tierproxy

io.github.tierproxy由 GitHub 帳號 tierproxy 發布v0.4.0更新於 Oct 24, 2026

Multi-provider proxy infrastructure for AI/ML. Geo, sessions, cost-aware routing, usage tools.

概覽

AI 產生的概覽

TierProxy 的本機 MCP 伺服器讓助理透過多供應商代理抓取網址,支援地理定位、工作階段、成本感知路由與用量查詢。

可以做什麼
透過代理抓取網頁,可指定國家並使用固定工作階段 ID 支援多步驟爬取。依最便宜、最快、最可靠或均衡的可用上游路由每個請求。查看閘道健康狀態與上游情形。查詢用量與剩餘配額,並支援即時用量串流。設定每月預算等成本護欄,在超支前攔截請求。
適用情境
適合需要藉助輪換或地理定位代理基礎設施抓取網頁、在爬取過程中維持工作階段,或在 Claude Desktop、Cursor、Cline、Windsurf 等聊天用戶端中查看代理成本與配額的情境。
執行需求
以 tierproxy-mcp 指令透過 stdio 在本機執行,需從 PyPI 安裝 mcp 附加套件(pip install tierproxy[mcp])。需要在 TIERPROXY_API_KEY 環境變數中提供 TierProxy API 金鑰。README 說明閘道為預覽版,實際使用需邀請或加入等候名單。
安裝前請注意
TIERPROXY_API_KEY 金鑰寫在用戶端設定中,可存取付費代理服務;請求可能產生費用,應重視預算護欄。抓取的頁面與目標網址會傳送給第三方 TierProxy 閘道。README 標明閘道尚未正式開放,存取可能受限或不穩定。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 tierproxy,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

tierproxy — Python SDK

🚧 Preview release. Gateway is not yet generally available. Join the waitlist at [email protected]. SDK is functional but tierproxy doctor against a live gateway requires invitation.

[PyPI version] [Python versions] [Downloads] [CI] [codecov] [License: Apache 2.0] [OpenAPI 3.1] [MCP compatible]

Premium multi-provider proxy infrastructure for AI/ML pipelines. Built for engineers who measure cost, latency, and success rate twice — and write Python.

Install

bash
pip install tierproxy

Quickstart — five-second flavor

python
import tierproxyr = tierproxy.get("https://example.com", country="US")print(r.text)

That's it. (Set TIERPROXY_API_KEY env var first.)

Three lines, persistent session

python
from tierproxy import TierProxywith TierProxy() as g:    print(g.me.get().client_id)    r = g.get("https://example.com", country="US", session_id="s1")

Auto-pick the cheapest healthy upstream every request

python
g = TierProxy(routing="cheapest")  # also: "fastest", "most_reliable", "balanced"g.get("https://example.com")     # picks via /v1/health/upstreams under the hood

Cost guardrails

python
g = TierProxy(    monthly_budget_usd=200.0,    # raises BudgetExceededError before going over)

Power-user knobs

python
import httpxfrom tierproxy import TierProxyfrom tierproxy.retry import RetryPolicy
g = TierProxy(    api_key="tp_live_...",    base_url="https://my-self-hosted-gw:8444",    timeout=10.0,    retry_policy=RetryPolicy(max_retries=5, retry_on_status=frozenset({500, 502})),    http_client=httpx.Client(verify=False),  # custom transport    user_agent_suffix="my-app/2.3",          # attribution)

Raw modes (Playwright, curl, etc.)

python
from tierproxy import ProxyURL
p = ProxyURL(api_key="tp_live_...", country="US", mode="username_encoding")print(p.http_url())  # http://customer-tp_live_...-cc-US:[email protected]:443

Error handling

Every SDK error inherits from tierproxy.TierProxyError and carries a request_id for support escalation:

python
from tierproxy import TierProxy, RateLimitErrorimport time
with TierProxy() as g:    try:        resp = g.get("https://example.com/page")    except RateLimitError as e:        time.sleep(e.retry_after or 5)        resp = g.get("https://example.com/page")

See Errors reference for the full HTTP-status-to-exception mapping.

AI agent integration

The SDK exposes its response models as JSON Schema and as pre-built tool definitions for Anthropic Claude and OpenAI function-calling:

python
import anthropicfrom tierproxy import TierProxy, schemas
with TierProxy() as gw:    anthropic.Anthropic().messages.create(        model="claude-sonnet-4-6",        max_tokens=1024,        tools=schemas.anthropic_tools(),        messages=[{"role": "user", "content": "How much quota is left?"}],    )

See the AI integration guide and the MCP server in examples/mcp_claude_desktop.md.

How tierproxy compares

tierproxySmartproxy SDKBright Data SDKOxylabs SDKDataImpulse
Multi-provider routing✅❌❌❌❌
Client-side smart selector (cost-aware)✅❌❌❌❌
Live usage streaming (SSE)✅❌❌❌❌
MCP server (Claude/Cursor/Cline)✅❌❌❌❌
OpenTelemetry built-in✅❌❌❌❌
Sync + async parity✅partialpartialpartialpartial
AI/ML framework examples shipped80100
Type-safe (Pydantic v2 + mypy strict)✅❌❌partial❌
OpenAPI 3.1 spec✅❌❌❌❌
Pip-installable CLI (tierproxy doctor)✅❌❌❌❌
Per-request cost attribution (lazy)✅❌❌❌❌
JA3/JA4 TLS fingerprint rotation✅❌❌❌❌
Rate-limit learning + auto-failover✅❌❌❌❌
LicenseApache 2.0proprietaryproprietaryproprietaryproprietary

Features

  • Five-second quickstart — import tierproxy; tierproxy.get(url, country="US")
  • Layered API — five integration levels from one-liner to power-user knobs
  • Smart routing — routing="cheapest" auto-picks healthy upstream per request
  • Cost guardrails — monthly_budget_usd= refuses requests that would exceed budget
  • Per-request cost attribution — client.cost_for(resp) returns USD; lazy 30s cache, no per-request overhead
  • Client-side response caching — cache_ttl=300, cache_max_response_size=262144 LRU with size cap
  • Multi-provider auto-failover — auto_failover=True retries with next-best upstream on 429/5xx
  • Rate-limit learning — client.rate_limits.get() surfaces gateway-aggregated 429s per target domain
  • JA3/JA4 TLS rotation — per-upstream fingerprint randomization (gateway side; see tls-fingerprint guide)
  • Cookie persistence — cookies stick to session_id across multi-step crawls
  • Streaming responses — client.get(url, stream=True) returns iterator (large files, SSE)
  • Live SSE stream — for delta in g.usage.stream() tails month-to-date bytes
  • MCP server — tierproxy-mcp exposes proxy as tools to Claude/Cursor/Cline
  • 8 framework integrations — LangChain, LlamaIndex, Crawl4AI, Playwright, Firecrawl, Browser-Use, CrewAI
  • OpenTelemetry opt-in — pip install tierproxy[otel] for distributed tracing
  • Geo + sticky sessions — countries, cities, 1-1440min session pins
  • Dual URL syntax — headers (httpx/requests) AND username-encoding (Playwright)
  • Type-safe end-to-end — Pydantic v2 models, mypy strict, full IDE autocomplete

See examples/ for LangChain/LlamaIndex/Crawl4AI/Playwright and examples/levels.py for a runnable demo of every level.

Use with your favorite AI/agent framework

FrameworkExampleNotes
LangChainwith_langchain.pyRAG document loaders through proxy
LlamaIndexwith_llamaindex.pySimpleWebPageReader through proxy
Crawl4AIwith_crawl4ai.pyPlaywright crawler + tierproxy
Firecrawl (hot)with_firecrawl.pySelf-hosted Firecrawl + residential IPs
Browser-Use (hot)with_browser_use.pyLLM-driven autonomous browser
CrewAI (hot)with_crewai.pyMulti-agent scraper crew + cost-aware routing
Playwrightwith_playwright.pyDirect Playwright with tierproxy
MCP (Claude/Cursor/Cline/Windsurf) (unique)mcp_claude_desktop.mdNative tool integration via tierproxy-mcp

MCP server (Claude Desktop / Cursor / Cline / Windsurf)

bash
pip install tierproxy[mcp]

Then add to your MCP client config:

json
{  "mcpServers": {    "tierproxy": {      "command": "tierproxy-mcp",      "env": { "TIERPROXY_API_KEY": "tp_live_..." }    }  }}

Now your AI assistant can call fetch_url(url, country="US"), inspect health and usage, and route through the cheapest healthy upstream — no glue code, no httpx imports, no boilerplate.

來源:README.md,提交 f168da1

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.4.0最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分