KeyFlint GitHub

Migrating an MCP server off Smithery

On October 31, 2026 Smithery shut down its connection management: the proxy, server URLs on run.tools and server.smithery.ai, the API, Connect, Toolbox, accounts and API keys. The directory at smithery.ai stays online as a plain, non-proxied listing. If your users reached your server through a Smithery URL, they need a direct path now.

Source: smithery.ai/future. KeyFlint is not affiliated with Smithery.

What KeyFlint does and does not replace

Smithery gave youAfter the shutdown
A hosted URL that proxied your serverRun it yourself: stdio via npx/uvx, an MCP Bundle (.mcpb), or your own HTTP endpoint on any host. KeyFlint does not host MCP servers.
Managed end-user identity and OAuth connectorsNot a KeyFlint feature. Use your client's built-in OAuth support or a connector platform.
A directory listingStill there; point it at your direct install command or official URL.
(Nothing for selling access)KeyFlint: license keys checked offline, per-call credits, Stripe checkout. Optional.

1. Give users a direct install path

For a local (stdio) server, publish it to npm or PyPI so a client can start it with one command:

{
  "mcpServers": {
    "my-server": { "command": "npx", "args": ["-y", "my-mcp-server"] }
  }
}

For a remote server, deploy it on a host you control and give users the HTTPS URL directly. Update your README and your smithery.ai listing so nobody is left with a dead server.smithery.ai link.

2. Optional: charge for it without touching its code

@keyflint/wrap starts your stdio server and gates every tools/call: offline Ed25519 license check, optional credit debit on your KeyFlint gateway, automatic refund when a call fails. Other messages pass through untouched.

export KEYFLINT_LICENSE="LIC-..."                # the buyer's key
export KEYFLINT_PUBLIC_KEYS="k1=<hex>"           # your issuer public key
export KEYFLINT_URL="https://licenses.example.com"  # only for metered tools

npx @keyflint/wrap --credits 0 --tool summarize=5 -- npx -y my-mcp-server

--credits 0 means license check only; --tool NAME=N meters one tool. For HTTP servers, use the keyflint-verify SDK in code instead (Python, TypeScript, Go). The full setup, including the gateway and Stripe, is in How to sell a paid MCP server.

3. Ship a one-click install for Claude Desktop

The repo's examples/mcpb-template packages a server behind the wrapper as an MCP Bundle. The buyer pastes the license key once at install time; it is declared sensitive, so Claude Desktop masks it and stores it securely. Cursor and Windsurf users can run npx keyflint-verify activate LIC-... to write the key into their config.

FAQ

Do I need KeyFlint to migrate? No. Step 1 is all a free server needs. KeyFlint only matters if you want to sell access.

Does the wrapper stop someone who has my source? No. Anyone who can edit the server can run it without the wrapper. It protects buyers' keys and quota; keep paid logic behind your gateway if that matters.

Is there a cut per sale? No. KeyFlint is self-hosted; you pay only your payment processor.

Read the full guide Star on GitHub