Skip to content

Open source MCP servers vs paid: the real cost

The real choice in open source MCP servers vs paid is operating cost: sign-in, credentials, per-person access, the audit trail and offboarding, itemized.

Raajshekhar Rajan 7 min read
An IT administrator comparing a list of self-run MCP servers against a single governed endpoint

The install is free, the week after is not

Somebody on your team found an MCP server on GitHub, pointed Claude at it, and had a working tool call in ten minutes. MCP is the open protocol AI clients use to call tools in other software. The install cost was zero. Then the second person asked for it, then the finance team asked who could see what, and then somebody left. That is where open source MCP servers vs paid stops being a license question.

That gap is the whole argument. Nobody disputes that open source MCP servers are free to install. The question is what you sign up to operate once more than one person depends on them. Then you decide whether that work is worth paying somebody else to do.

Open source MCP servers vs paid: what you are actually buying

The choice in open source MCP servers vs paid is not a license fee against a subscription. It is who does the operating work: sign-in, credential storage, per-person access, the audit trail and offboarding. A free server hands all five to you, per server.

Operating item Local open source server Self-hosted remote server App vendor's own server Elaichi Gold
Sign-in You implement it, per server You implement it once The vendor's, per app One OAuth server behind one endpoint
Credential storage A config file on each laptop Yours to encrypt and rotate The vendor's Separate credential service, AES-256-GCM
Token refresh Yours Yours The vendor's Credential service; a failed refresh marks the connection
Per-person access Everyone or nobody Yours to build The app's own permission model Role plus restrictions
Audit trail Yours to build Yours to build Per app, in that app One log per organization, 90 days
Offboarding Re-read each device Yours to build Per app One preview, then one removal
Who runs it You You The vendor Elaichi

That is not a criticism of the projects. A self-installed server is built for one developer on one machine, and it does that job well. The cost arrives when the thing becomes company infrastructure and nobody budgeted for it as infrastructure.

Two shapes of free server exist, and they fail differently. A local server runs on each person's laptop and is configured in a file there. Cursor reads MCP servers from .cursor/mcp.json in a project and ~/.cursor/mcp.json in the home directory (Cursor docs, checked October 2026). Claude Code keeps local-scope and user-scope servers in ~/.claude.json (Claude Code docs, checked October 2026). A self-hosted remote server runs on infrastructure you own and reaches everyone at once. The first multiplies by headcount. The second concentrates into one thing you now have to run.

What does operating a self-run MCP server actually involve?

Six items, and each one is work somebody does repeatedly rather than once.

Sign-in. Every client has to authenticate. Cursor supports OAuth for MCP servers that require it. It uses fixed redirect URLs, https://www.cursor.com/agents/mcp/oauth/callback for web and http://localhost:8787/callback for the desktop app (Cursor docs, checked October 2026). VS Code needs the authorization server to allow http://127.0.0.1:33418 and https://vscode.dev/redirect. It tries Dynamic Client Registration first and falls back to client credentials (VS Code docs, checked October 2026). Claude uses a Client ID Metadata Document only when the server advertises both client_id_metadata_document_supported: true and none in its token endpoint auth methods (Anthropic docs, checked October 2026). Otherwise it registers dynamically. You are implementing an authorization server that satisfies several clients' assumptions at once.

Credential storage. Each connected account's secret has to live somewhere encrypted, be fetched for the call that needs it, and be rotatable. Rotation is the part that gets skipped and then matters.

Token refresh. A connected account's OAuth token expires. Something has to notice and refresh it. When the refresh fails, it has to mark the connection as needing a person's attention rather than failing a tool call silently.

Per-person access. Who may reach which tool. On a self-run server this is usually either everyone or nobody, because writing a per-person authorization layer is a project rather than a config file.

The audit trail. Which person called which tool, against which account, from which client, and whether it worked. Retention, search and export are all separate problems after you have the records. What an AI audit log has to capture lists the fields that turn out to matter.

Offboarding. When somebody leaves, every server they configured on their laptop keeps whatever credentials they put in it. Every shared server keeps the account they connected. None of the client admin pages read in October 2026 documents an admin inventory of the MCP servers in members' local config files (Claude Code managed MCP docs, checked October 2026). You cannot offboard what you cannot list.

Where the cost scales, and where it does not

The operating work does not scale with usage. It scales with two other numbers: how many servers you run, and how many people touch them.

One server, one developer, local config: the work is roughly nothing. One server, forty people: sign-in, credential storage and the audit trail each become real, but you build them once. Six servers, forty people: you build them six times. Or you build a gateway in front of them, which is the same decision with extra steps.

The second multiplier is the one that catches teams out. Each client's distribution story is different, and adding an approved server to an allowlist is not the same as putting it on people's machines. Adding a server to Cursor's MCP allowlist approves a configuration but does not push it to users' machines (Cursor docs, checked October 2026). Team members still configure it in their own settings. Claude Code's allowedMcpServers and deniedMcpServers are filters, not a registry (Claude Code docs, checked October 2026). A server still has to be added by a user, a plugin or the organization before either list applies. So even with a tidy policy, the per-person configuration work remains.

When the free path genuinely wins

Three cases, and they are not edge cases.

One person, one server, one laptop. A developer running a local server against their own account is not infrastructure. There is nobody to govern, no credential to share, and no offboarding beyond wiping the laptop. Paying for governance here buys nothing. When you don't need an MCP gateway yet walks through the test.

A vendor runs the server and you only need one app. Most of the apps a team playbook covers now ship an MCP server of their own. Each one runs under that app's own permission model (Notion MCP overview, checked October 2026). It reads and writes only what the authorizing user can already access there. If your whole need is Notion, connect Notion's server and stop. No second vendor, no gateway, no subscription. The case for putting it behind something else is one address and one set of rules across several apps. Vendor MCP servers through Elaichi sets that out.

You have a platform team and a reason to self-host. If data cannot leave your network, or you already run gateways and have the rota to cover them, self-hosting is a defensible answer. Running your own MCP servers: the real cost is the longer version of that arithmetic.

What a paid control plane does instead

Elaichi serves MCP at one endpoint, https://api.elaichi.ai/mcp, the same address for every organization. Which organization, person and tools a client reaches comes from the OAuth grant behind its token, not from the URL. That removes the per-server sign-in work, because there is one authorization server rather than one per server.

The operating items are answered where they sit. Connector credentials are not kept in Elaichi's main data. A separate credential service holds each connected account's secrets in encrypted form. Elaichi fetches them into memory only for the call that needs them. Secrets are encrypted at rest with AES-256-GCM, and the key can be rotated without re-encrypting old rows. Token refresh belongs to that credential service. When a refresh fails during a tool call, the connection is marked as needing re-authentication rather than failing quietly.

Access is a role plus restrictions. A restriction rule targets a role or one member, names whole connectors or single tools, and is checked before the call leaves Elaichi. Every call that reaches execution is written to the audit log with the person, the connector, the connection and the MCP client. Elaichi keeps 90 days of audit history; for longer, forwarding to your own log service comes with the Black plan, which is launching soon.

Offboarding is one action with a preview. GET /member/:userId/offboarding returns the departing member's whole estate before anything changes. That is the connections they own, their toolboxes, templates and custom connectors, and the toolbox entries anywhere in the organization that rely on them. Removing them revokes their MCP client grants and API tokens and removes their membership. It does not remove or deactivate their accounts in the connected apps. Those stay in place until they are deprovisioned in each app or through the identity provider.

The catalog matters to this comparison too, because it changes how many servers you run. Elaichi authors and runs most connectors in its catalog. It governs vendors' own MCP servers for the rest, and lets a team bring its own remote MCP server under the same rules. Adding your own remote MCP server needs the connector:create permission, which among system roles only Org Owner and Org Admin hold. It also needs the custom connectors feature, which Gold includes.

What it costs, and the trade-offs

Gold lists at $15 per user per month in USD, or $10 per user per month billed annually. Every new organization starts on a 14-day Gold trial that needs no payment details. Elaichi has two plans, Gold and Black. An organization without an active one of them is locked until somebody subscribes. Check the pricing page for the price in your own country.

Three honest trade-offs. First, Elaichi is hosted, not self-hosted, so if your requirement is that nothing leaves your infrastructure, this is the wrong shape. Second, per-seat pricing means a large team paying for governance it may only need for a few people; MCP gateway pricing: per seat vs per call compares the models. Third, prompt injection is the client's problem, not the endpoint's. A tool call carries a tool name and arguments, so Elaichi never receives the person's prompt and has nothing to judge a call against. Nothing on that path scans tool results for injection.

The arithmetic is plainer than it looks. If you run one server for one person, keep it. If you are about to implement sign-in, credential storage, access and audit for the third time, price the engineering weeks against the subscription. Decide on that, not on the license.

FAQ

Frequently asked questions

Are open source MCP servers really free?

The software is free to install. Running one for a team adds operating work that is not free: OAuth sign-in that several AI clients accept, storing and rotating each connected account's credentials, and refreshing expiring tokens. It also means deciding who may reach which tool, keeping an audit trail of calls, and revoking access when somebody leaves. That work repeats for each server you run and scales with how many people depend on it. For one developer running one server locally against their own account, the free path costs essentially nothing.

When is a self-installed MCP server the right choice?

Three cases. One person running one server on their own laptop against their own account, because there is nobody to govern and nothing to offboard. A team whose whole need is one app that already ships its own MCP server, since those servers run under that app's permission model and need no second vendor. And an organization with a platform team plus a hard requirement that data stay inside its own network, where self-hosting is a deliberate choice rather than a default.

What does Elaichi's Gold plan cost?

Gold lists at $15 per user per month in US dollars, or $10 per user per month billed annually. Every new organization starts on a 14-day Gold trial that requires no credit card. Elaichi has two plans, Gold and Black. An organization without an active Gold or Black plan is locked until somebody subscribes. Visitors from some countries see a regional price, so the pricing page shows the figure for your own country.

Can an admin see which MCP servers employees have installed locally?

Not from the AI client's admin console. None of the client admin pages read in October 2026 documents an inventory of the MCP servers configured in members' local config files (checked October 2026). That includes Claude Code's managed MCP and managed settings pages, Cursor's MCP and integration management pages and Codex's managed configuration page. Finding them means reading the config files on each device, such as ~/.claude.json for Claude Code or .cursor/mcp.json and ~/.cursor/mcp.json for Cursor.

Does moving to a hosted MCP endpoint mean giving up servers you already run?

No. An organization on Elaichi's Gold plan can add a remote MCP server it runs as its own connector, provided the server speaks MCP over Streamable HTTP and is reachable over public HTTPS. Creating one needs the connector:create permission, which among the built-in roles only Org Owner and Org Admin hold. Calls through that connector are then governed by the same restrictions, OAuth scopes and audit log as any other connector.

Put agents to work on your own systems

14 days on Gold, no credit card. Start with one app and one team.

Works with
Claude ChatGPT Cursor and any other MCP client, or the Elaichi Agent.
When the trial ends
Nothing is deleted. Connections, roles and the audit log stay where they are, so subscribing picks up exactly where you left off.