Halowerk Mcp

io.github.halowerk由 GitHub 帳號 halowerk 發布v0.1.1更新於 Oct 25, 2026

134 paid APIs as MCP tools, billed per call in USDC on Base. No account, no login.

概覽

AI 產生的概覽

本機 MCP 伺服器,把付費第三方 API 當成工具提供,依呼叫從你提供的 Base 鏈 USDC 錢包付款。

可以做什麼
免費瀏覽服務目錄並查詢預計呼叫的價格,不需要錢包(halowerk_katalog、halowerk_preis)。在 gateway 模式下依描述搜尋服務、讀取輸入結構,再執行(halowerk_suche、halowerk_beschreibe、halowerk_rufe_auf)。呼叫精選的十二項日常服務,例如成本估算、輸出與工具參數驗證、狀態儲存、CVE 與授權檢查、TLS 鏈與 JWT 驗證、webhook 簽章驗證、文件比對、網頁封存和發票稽核。切換到 all 模式可使用全部 70 項服務。每次付費回覆都會顯示已付金額、剩餘預算和交易雜湊。
適用情境
適合助理偶爾需要付費的實用 API(例如驗證、安全檢查或文件比對),又不想註冊帳號或訂閱,並願意為此準備一個小額加密錢包的情況。
執行需求
透過 npx 在本機執行(需要 Node.js)。付款需要 HALOWERK_PRIVATE_KEY,也就是持有 Base 鏈 USDC 的錢包私鑰;沒有它只能使用免費的目錄和價格工具。可選限制:HALOWERK_BUDGET_USDC(預設 1.00)、HALOWERK_MAX_PREIS_USDC(預設 0.05)、HALOWERK_MODUS(hero、gateway 或 all),以及用於試跑的 HALOWERK_TROCKEN。不需要 ETH 支付 gas。僅限桌面用戶端。
安裝前請注意
伺服器透過 HALOWERK_PRIVATE_KEY 持有錢包私鑰並簽署真實 USDC 付款;README 建議使用只放少量資金的臨時錢包。呼叫會花錢,部分服務依用量計費,標價只是最低值,預算檢查會以上限計算。沒有上限的服務除非明確允許,否則不會被呼叫。付款只會送往隨套件固定目錄中的主機,且不跟隨重新導向。

安裝

在 SourceWeft 中

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

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

其他 MCP 客戶端

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

README

halowerk-mcp

70 paid APIs as MCP tools. No account, no login, no subscription — a throwaway wallet with a few dollars is enough.

Your spend is capped before anything is signed:

VariableDefaultWhat it does
HALOWERK_MAX_PREIS_USDC0.05Ceiling per call. A more expensive service is refused, not silently bought.
HALOWERK_BUDGET_USDC1.00Ceiling per session. Once reached, the server refuses further calls.
HALOWERK_TROCKENoffDry run: returns the price and the call plan, pays nothing.

Every paid answer carries bezahlt_usdc, budget_rest_usdc and the transaction hash, so the model and you see the same numbers.


Try it without a wallet

Two tools work with no wallet and cost nothing: halowerk_katalog lists every service with its price, and halowerk_preis tells you what a planned call would cost. Install it, browse, decide later.

json
{  "mcpServers": {    "halowerk": { "command": "npx", "args": ["-y", "halowerk-mcp"] }  }}

That goes in your Claude Desktop config (claude_desktop_config.json), Cursor's mcp.json, or Cline's MCP settings.

Paying for calls

json
{  "mcpServers": {    "halowerk": {      "command": "npx",      "args": ["-y", "halowerk-mcp"],      "env": {        "HALOWERK_PRIVATE_KEY": "0x…",        "HALOWERK_MAX_PREIS_USDC": "0.05",        "HALOWERK_BUDGET_USDC": "1.00"      }    }  }}

Payment is x402 with USDC on Base. There is no account to create, no card, no invoice: the call carries a signed authorisation for the exact amount, and the service settles it.

Use a throwaway wallet

Create a fresh wallet, put a few dollars of USDC on it, use it for nothing else.

Not because this package is untrustworthy — because you have no reason to trust it yet. A key in an MCP config is a key that a model-driven process can reach. The way to make that safe is not to trust the code but to make the blast radius small: if the wallet holds three dollars, three dollars is the worst case.

You do not need ETH for gas. Payment uses EIP-3009 transferWithAuthorization, so a third party submits the transaction. A balance of exactly 0 ETH is normal and correct.

What the code does with your key

  • It is read from HALOWERK_PRIVATE_KEY and from nowhere else — no file, no argument, no prompt.
  • It is never logged, never put in an error message, never returned in an answer, not even truncated. There is a test for this: npm run pruefe searches the entire output for the first eight characters of a key and fails if it finds them.
  • src/x402.ts is about 300 lines and is the only file that touches it. It is meant to be read in five minutes.

Where your money can go

The server only ever pays the ten hosts baked into the catalogue at build time. The list is frozen in the package; it cannot be extended by a file, an environment variable or a tool argument.

This is the point of the whole design. A tool that accepts an arbitrary URL and pays for it is a payment instruction with a blank payee field. A model that reads a web page, a PDF or an email can be told, by that text, to call such a tool with an attacker's address. So:

  • The target host must match the built-in list exactly. No suffix comparison — halowerk.com.attacker.example passes any endsWith check and is a different host.
  • https only. Redirects are not followed: a 301 to a foreign host is the attack, not an inconvenience.
  • No IP addresses, no localhost, no private ranges.
  • On violation: refusal with the reason, before anything is signed.

halowerk_rufe_auf takes a tool name from the catalogue, never a URL.

Modes

Seventy tools at once makes the tool picker worse for everybody, especially if you have other MCP servers connected. So:

HALOWERK_MODUSToolsFor
hero (default)12 services + the 2 free onesEveryday use
gateway3 meta-tools + the 2 free onesMinimal context; two extra round trips
all70 services + the 2 free onesYou know what you want

In gateway mode: halowerk_suche finds a service by description, halowerk_beschreibe returns its input schema, halowerk_rufe_auf executes it.

Why these twelve

One measure only: what does an agent need more than once in the same task? A tool used once per session can be looked up; one used ten times belongs in the toolbox. All twelve are also text in, text out — in a chat window, a tool that needs a file upload first is close to unusable.

ToolRepeats because
cost_estimatebefore every model call
output_validateafter every model answer
tool_arg_validatebefore every expensive or irreversible call
state_storeacross every step of a long task
cve_checkper dependency list, and you look at it more than once
license_checksame audit, per package set
tls_chainper host in an infrastructure check
jwt_verifyper token while debugging auth
webhook_signatureper webhook while debugging an integration
doc_diffper file pair in a review
web_archiveper URL in a research task
invoice_auditper invoice in a batch

Tiered prices — read this before you set a budget

Some services bill per unit: per audio minute, per 1000 characters, per sample point. For those, price_usdc is only the minimum.

The budget check therefore uses max_usdc, the ceiling. Checking against the minimum would approve 0.006 and pay 0.25 — the endpoint bills by length, and the length is in the request body, not in the catalogue.

If a service has no ceiling at all, it counts as unbounded and is not called without unbegrenzt_erlauben: true. A budget that checks against an unknown amount is not a budget.

What this package is not

  • It is not a wallet manager. It signs payments; it never moves funds anywhere else.
  • It does not create or store keys.
  • It does not phone home. The only outbound requests go to the ten catalogue hosts.
  • The catalogue is generated from the live services and shipped with the package. It is not fetched at runtime, so a compromised server cannot add itself to your allowlist between calls.

Development

bash
npm run katalog   # regenerate katalog.json from the live servicesnpm run build     # compile TypeScriptnpm run pruefe    # modes, spending brakes, attack tests, key-leak test

katalog.json is generated. Never edit it by hand — regenerate and republish, otherwise the package promises a price the service does not charge.

License

MIT. See LICENSE.

來源:README.md,提交 20b0cfa

工具

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

版本歷史

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

評分

已滿足適用檢查項的 50%

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

  • 近 30 天內可連通25 分

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

  • 已宣告認證方式10 分

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

  • 已列出工具15 分

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

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