Our own visit statistics are always on. Google Analytics, which helps us understand how people use our public pages (not your signed-in workspace), is enabled only with your permission. See our Privacy policy.

Smithery Proxy Ends Oct 31: Connect EveryInfra MCP to Claude

Smithery shuts down its MCP proxy, accounts and API keys on October 31. Add EveryInfra's MCP URL to Claude, Claude Code or the Claude API directly, with tested commands, latency and per-call cost.

Co-branded card: EveryInfra × Smithery, Now on Smithery

If you reach EveryInfra through a Smithery run.tools URL, replace it with https://api.everyinfra.com/mcp and send Authorization: Bearer <API key> before October 31. After that change, EveryInfra works in Claude on the web, desktop and mobile, in Claude Code and in the Claude API. No proxy sits in between. We tested this on October 21, 2026, 18:19–18:24 UTC, with Claude Code 2.1.299 and raw MCP requests. Adding the server took one command and 0.83 seconds. A five-result TikTok search took 8.62 seconds and cost $0.000556.

EveryInfra's MCP server is a single Streamable HTTP endpoint. Listing its tools needs no key; data calls are billed per call in USD, and failed or empty calls are not charged. One key covers 91 platforms, 426 data capabilities, 17 search tools and 52 CAPTCHA types, from $0.56 per 1,000 calls.

What stops working on October 31

Smithery's announcement says connection management shuts down on October 31, 2026. After that, "Smithery will remain as a public (non-proxied) MCP registry." The directory is now run by Arcade.dev, which acquired Smithery on August 5. On the cutoff date these stop:

  • server URLs on run.tools and server.smithery.ai;
  • the Smithery API, Connect and Toolbox;
  • Smithery accounts and API keys;
  • the Smithery CLI and SDKs, which become deprecated.
Screenshot of Smithery's notice that its MCP proxy and managed identity shut down on October 31. The first teal box is the opening paragraph: connection management services shut down on October 31, 2026, and Smithery remains a public, non-proxied MCP registry. The second teal box lists what stops working: server URLs on run.tools and server.smithery.ai, the Smithery API, Connect and Toolbox, Smithery accounts and API keys, and the Smithery CLI and SDKs.
Smithery's notice, captured October 25. The teal boxes mark the shutdown date and what stops working. Smithery announcement (original)

Smithery's advice to users is short: switch to the vendor's own MCP URL. The notice gives no time zone, so plan to switch by October 30.

We checked our own Smithery listing through Smithery's public API at 18:22 UTC on October 21. The connection URL is still the proxy, api--everyinfra.run.tools. A request without a Smithery credential gets 401 Missing Authorization header. The tool list on that page is a September snapshot with 7 tools; the direct endpoint returns 25. We have asked Smithery to show the direct URL; at the time of writing they have not replied. Whatever the listing shows later, the direct URL stays the same.

Pick one of three ways to connect

  • Claude on the web, desktop and mobile. Add a custom connector under Customize → Connectors with the URL and a request header. Anthropic's cloud makes the connection, not your computer, so the server must be reachable from the public internet (Claude Help Center). claude_desktop_config.json is for local servers only; remote connectors do not go there.
  • Claude Code. One claude mcp add command. The connection starts on your machine, which suits data scripts and analysis inside a repository.
  • Claude API. The MCP connector in the Messages API takes the URL in mcp_servers. Use it when your own program lets Claude call tools.

EveryInfra is not in the Claude connectors directory yet, so all three paths add the URL by hand.

Test log: from setup to the first charge

These are the raw results from October 22 (Singapore time). Costs come from each response's billing object and the per-call ledger of the everyinfra_requests tool.

RequestTimeResult
tools/list, no key (3 requests)0.23–0.25 sHTTP 200, 25 tools
claude mcp add0.83 sConfig written
claude mcp get everyinfra0.9–1.1 s✔ Connected
TikTok search "claude code", 5 videos8.62 s$0.000556
Amazon search "usb c hub", 5 products19.02 s$0.001389
TikTok profile that does not exist69.52 sEmpty, charged: false
sort_by on TikTok search0.17 sunknown_param, no charge
Data call without a key—unauthorized, no charge
  1. Tool discovery, no key. Three tools/list requests returned HTTP 200 in 0.23–0.25 s with 25 tools.
  2. Claude Code setup. claude mcp add wrote the config in 0.83 s; claude mcp get everyinfra reported ✔ Connected in 0.9–1.1 s.
  3. Did the key really go out? The header holds the reference ${EVERYINFRA_API_KEY}, not the key. A local probe server compared only a hash of the header. Every request Claude Code sent to connect and list tools carried the expanded key.
  4. TikTok search for "claude code", 5 videos: 8.62 s, $0.000556. All five were posted October 16–21; views ranged from 610 to 257,200 (median 23,300). Each row has 33 fields, including view_count, like_count, share_count, hashtags and posted_at.
  5. Amazon search for "usb c hub", 5 products: 19.02 s, $0.001389. Prices ran from $9.99 to $199.99; review counts from 2 to 32,501.
  6. Empty result. A TikTok profile that does not exist came back empty after 69.52 s with charged: false and empty_result_refunded; the reserved amount was returned.
  7. Wrong parameter. sort_by on TikTok search returned unknown_param in 0.17 s, listed the valid parameters content_type and limit, gave a working example, and charged nothing.
  8. No key on a data call returned unauthorized with the header format to use. Nothing was charged.

Three takeaways. "Connected" proves discovery, not a valid key; the first data call is the real test. The slowest call was a not-found lookup, which is free but still takes time. Error messages name the next step, so Claude usually fixes the call by itself; see API errors and self-healing.

Screenshot of two real requests to https://api.everyinfra.com/mcp, both without an Authorization header, and their responses. The first is tools/list: 200 with 25 tools, of which the first two are shown, everyinfra_list_capabilities and everyinfra_call_api. The second calls TikTok search through everyinfra_call_api and gets isError true with the error code unauthorized and a note that nothing was charged.
Raw requests and responses, re-run on October 25: without a key all 25 tools are listed, and the first data call returns unauthorized (2 tools shown, long text shortened). EveryInfra remote MCP server

Add EveryInfra as a custom connector in Claude

  1. Create an API key. Sign up and create a key in the console (quickstart). For data only, limit the key to the data product line and set a per-minute cap.
  2. Open connector settings. On Pro or Max: Customize → Connectors, select + or Add, then Custom → Web. On Team or Enterprise an Owner adds it in organization settings. The Free plan allows one custom connector.
  3. Name and URL. Name it EveryInfra and enter https://api.everyinfra.com/mcp as the MCP server URL.
  4. Authentication. Choose No sign-in. EveryInfra uses an API key, not OAuth.
  5. Request header. Add a header named Authorization with the value Bearer followed by your key, with one space. Claude sends the value exactly as typed and adds no scheme (Claude docs). The value is hidden after you save.
  6. Turn it on in a chat. Select + in the chat box → Connectors and enable EveryInfra. Then ask, for example: "Find the 20 most-viewed TikTok videos about Claude Code from this week and put views, likes and posting dates in a table."
Screenshot of the Claude documentation section Enter the full header value. The teal box says Claude sends the value exactly as you enter it and adds no authentication scheme or prefix, so an Authorization header must include the scheme. The table shows that Bearer your-token is sent as Authorization: Bearer your-token, and your-token alone is sent as Authorization: your-token.
The "Enter the full header value" section of Claude's documentation, captured October 25: the value is sent as typed, and Claude does not add Bearer. Claude docs: add a connector that isn't in the directory

You cannot edit authentication later; to change the key, remove the connector and add it again. On Team and Enterprise plans, a header is one shared credential, so every member's calls bill the same EveryInfra account. If your dialog has no Request headers section, use Claude Code or the API below.

Add EveryInfra to Claude Code

bash
export EVERYINFRA_API_KEY="<API key>"
claude mcp add --transport http everyinfra https://api.everyinfra.com/mcp \
  --scope user \
  --header 'Authorization: Bearer ${EVERYINFRA_API_KEY}'
claude mcp get everyinfra
  • Keep the single quotes. The shell does not expand the variable, the config stores its name, and Claude Code fills it in at request time (Claude Code MCP docs). Do not reuse names such as ANTHROPIC_API_KEY: Claude Code reads its own credential names as empty when it sends headers to a remote server.
  • --scope user makes the server available in every project. For a team, use --scope project; the entry goes into .mcp.json at the repository root and each person sets their own variable.
  • Claude Code waits up to 60 seconds for each remote request by default. For large or slow jobs, pass "mode": "async", then read the result with everyinfra_get_job at no charge. You can also start Claude Code with MCP_TOOL_TIMEOUT=180000.

Call EveryInfra through the Claude API

bash
curl https://api.anthropic.com/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "anthropic-beta: mcp-client-2025-11-20" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-opus-5-5",
    "max_tokens": 2000,
    "messages": [{"role": "user", "content": "Search Amazon for usb c hub and list title, price, rating and review count for 5 results"}],
    "mcp_servers": [{"type": "url", "url": "https://api.everyinfra.com/mcp", "name": "everyinfra", "authorization_token": "<EveryInfra API key>"}],
    "tools": [{"type": "mcp_toolset", "mcp_server_name": "everyinfra",
      "default_config": {"enabled": false},
      "configs": {"everyinfra_list_capabilities": {"enabled": true}, "everyinfra_call_api": {"enabled": true}, "everyinfra_get_job": {"enabled": true}}}]
  }'

The connector sends authorization_token as a Bearer token, which is the header EveryInfra expects. The MCP connector is in beta and supports tool calls only (Claude API docs). This allowlist exposes three read tools and hides the other 22.

Which of the 25 tools to enable

  • Data: everyinfra_list_capabilities (platforms, actions and parameters), everyinfra_call_api (any data capability, such as TikTok search, Instagram profiles or Amazon search), and everyinfra_get_job (async results, free).
  • Search and CAPTCHA: everyinfra_search with 17 tools (search API); everyinfra_list_captcha_types and everyinfra_solve_captcha for 52 types, billed per call.
  • Spend: everyinfra_account, everyinfra_usage, everyinfra_billing and everyinfra_requests are free. Ask Claude "what did I spend this week?" or "was that last call charged?"
  • Account changes: creating, disabling or deleting keys, webhooks and notification settings. If you only read data, set these to Blocked in Claude's connector settings, or deny tool names such as mcp__everyinfra__everyinfra_key_delete in Claude Code permissions.

Errors and charges

  • Missing, invalid or disabled key: unauthorized, no charge.
  • Unknown parameter or bad value: unknown_param or a value error with valid options and an example, no charge.
  • No data: an empty result marked empty_result_refunded; the reserved amount is returned.
  • Capability temporarily unavailable: marked as unavailable, no charge. Live status is on the status page.
  • Low balance: a top-up prompt, no charge. everyinfra_topup_link only returns the console link; the account owner pays.

How refunds reconcile is in failure refunds and reconciliation.

What 30 daily keywords cost

At the October 22 catalog prices (the pricing page is authoritative):

  • TikTok search, 30 keywords once a day for 30 days: 900 calls × $0.000556 = $0.50.
  • Amazon search for the same 30 keywords: 900 calls × $0.001389 = $1.25.
  • Total $1.75. Failed and empty calls are not charged, so the real figure can only be lower. Your Claude plan or API usage is billed separately by Anthropic.

Direct URL, Smithery proxy or a local server

  • Smithery proxy: needs a Smithery account and key; stops on October 31.
  • Direct remote URL (this guide): nothing to install. The key stays in your Claude connector settings or local config. Requests go straight to EveryInfra with no third-party relay. Claude's web connectors connect from Anthropic's cloud, so the server must be public; EveryInfra's is.
  • Local stdio server or desktop extension: good for local files and internal tools. EveryInfra offers a remote URL only, with no local package.
Illustration of three parallel lanes, each starting from a client window on the left. The back lane passes a gray relay booth with a lowered barrier, and the cable after it breaks into dashes. The middle lane is one teal cable straight to a server on a cloud. The front lane is a laptop with a small local box beside it on a very short cable, all on the desk.
Three ways to connect: through a third-party proxy (cut off after October 31), straight to the remote URL, or a server on your own machine.

Limits of this test: the steps for Claude on the web follow Anthropic's documentation; we did not time them in a signed-in browser. The measured runs are Claude Code and raw MCP requests. What the new specification changes is covered in what to verify after the 2026 MCP spec.

What changed in September and October 2026

  • October 31: Smithery ends its proxy, accounts and API keys and keeps a public directory (announcement). Smithery lists more than 26,000 servers, according to a third-party count (ScaleKit, October 13). Anyone using one of them through a proxy URL has to switch before then.
  • October 14: Claude Code 2.1.299 fixed OAuth sign-in and token refresh not sending configured headers. Version 2.1.292 (October 6) stopped claude -p from waiting on remote resources/list before the first turn. Version 2.1.265 (September 8) lets --transport http reach servers that only speak the older SSE transport (changelog). In practice, --transport http is the right flag for every remote server.
  • September 25: Claude opened its directory submission portal. Submissions are validated and safety-scanned, and published listings get install and search-term analytics. The same post says Claude supports the stateless core of MCP 2026-07-28, often called MCP 2.0 (Claude article). A directory listing waits on review; a custom connector works today.
  • October 22, our own observation: Claude Code 2.1.299 opens a remote connection with server/discover, the discovery method added in 2026-07-28 (spec changelog). If the server does not support it, Claude Code uses initialize. If you run an MCP server, expect this request in your logs.
  • Directories are splitting from transport. After October 31 Smithery lists URLs but does not relay traffic. EveryInfra's entry in the MCP Registry already records the direct URL and the Authorization header format.

FAQ

Is there a Smithery alternative for using EveryInfra in Claude? You do not need one. Smithery only relayed requests to EveryInfra. Point Claude at https://api.everyinfra.com/mcp with your key; your EveryInfra account, keys and balance do not change.

Can a Claude custom connector use an API key instead of OAuth? Yes. Choose No sign-in and add an Authorization request header whose value is Bearer plus the key. If that section is missing in your account, use Claude Code or the API.

Claude Code says Connected, so why do calls fail with unauthorized? EveryInfra lists tools without a key, so a missing key still shows Connected. Check that the variable is set in the terminal that starts Claude Code and that it is not a name Claude Code reads as empty.

Related reading

Reference LF-17