The hidden cost of running your own MCP infrastructure

Francisc Toth · MAR 08, 2026 · 7 minutes
The hidden cost of running your own MCP infrastructure

"It's just a Node.js process" is what most engineers say before they self-host MCP infrastructure. Then they spend the next quarter rebuilding things they didn't know they needed. Here's the actual cost breakdown.

The infrastructure bill

Start with the obvious. A modest production MCP setup for a team of 10 needs:

  • Compute: A small VPS or container instance running the server processes. Around $40 per month for something that can handle 100 concurrent connections without sweating.
  • Database: If your servers hold state (auth tokens, audit logs, rate limit counters) you need Postgres. Managed Postgres on AWS or Neon runs $25-50 per month for a starter tier.
  • TLS and DNS: Cloudflare or Let's Encrypt cover certificates. DNS through Cloudflare is free. Total: $0-10 per month.
  • Object storage: Audit logs and large tool responses. S3 or R2 at $0.02 per GB. For 10 engineers actively using MCP, expect 5-20GB per month. Around $5.

Subtotal: $75-110 per month for a team of 10. Not terrible. This is the number that makes self-hosting look attractive on the spreadsheet.

The auth bill

Most teams underestimate the auth layer.

API keys alone aren't enough. You need rotation, revocation, scoping, audit trails, and an admin UI to manage all four. Building this from scratch is a week of work for one engineer. Using a service like Auth0, Stytch, or WorkOS adds:

  • Auth0: $228 per month for the Essentials plan (1,000 active users). The free tier doesn't cover the features you'll actually need.
  • WorkOS: Free up to 1M users for the directory and SSO pieces, but the API key management is build-it-yourself.

Realistic cost: $0-250 per month depending on whether you build or buy.

The hidden cost here isn't dollars. It's the time you spend designing the auth flow, integrating it with your existing identity provider, and writing the admin UI for your IT team. Conservatively: 40 engineering hours upfront, 5 hours per month maintaining.

The observability bill

You need three things you didn't think about.

Logs. Every tool call, with arguments and results. Datadog, Honeycomb, or self-hosted Loki. Realistic cost at 10 engineers' worth of traffic: $50-150 per month for hosted, plus 20 hours of setup.

Metrics. Tool call rate, latency percentiles, error rate per server. Grafana Cloud or Datadog. $0-100 per month depending on cardinality.

Tracing. When a tool call chains across multiple servers, you need to see the end-to-end span. OpenTelemetry to a backend like Honeycomb or Jaeger. Add another $50 per month.

Total observability: $100-300 per month, plus around 60 hours of setup.

This is the line item that surprises teams the most. It's invisible until you have an outage. Then it's the only thing you care about.

The engineering hours

Money is easy to calculate. Engineering time is where self-hosting gets expensive.

Realistic breakdown for the first six months:

| Task | Hours | |---|---| | Initial server scaffolding | 20 | | Auth and key management | 40 | | Observability setup | 60 | | First production incident | 16 | | Onboarding second team member | 8 | | Quarterly security review | 12 | | Updating SDKs as MCP spec changes | 20 | | Handling deprecated transport configs | 8 |

That's 184 hours in the first half-year. At a loaded cost of $150 per hour for a mid-level engineer, that's $27,600 of engineering time. For a team of 10, this is the same as the developer's full-time salary for two months.

The ongoing cost after the first six months is lower (maybe 20 hours per quarter) but it never goes to zero. The MCP spec evolves. Clients add new features. Your team grows. Someone has to maintain this.

The opportunity cost

The biggest cost isn't on any of these line items. It's what your engineers aren't building.

Every hour spent on MCP infrastructure is an hour not spent on the product your customers actually pay for. For most teams, the MCP layer is infrastructure they need but not infrastructure that differentiates them. Time spent perfecting the auth rotation flow is time not spent on the feature that drives next quarter's revenue.

This is the calculation that ends up moving teams to hosted MCP. The dollar costs are roughly comparable to self-hosting for small teams. Toolcall's Pro tier is $99 per month for what we just priced out at $300-500 per month for self-hosting plus $5,000+ per month of engineering time.

When self-hosting still makes sense

Some teams should self-host. Three signs.

You have strict data residency requirements that hosted providers can't meet. Healthcare, financial services in certain jurisdictions, government work.

Your MCP usage is at a scale where the hosted pricing curve becomes unfavorable. We've seen this around 50,000 tool calls per day for sustained workloads. Below that, hosted is cheaper.

You have spare infrastructure team capacity. If you already run a Kubernetes cluster with the observability stack we just described, adding MCP to it is genuinely a marginal cost. The fixed costs are sunk.

If none of these apply, the math usually points to hosted. The infrastructure bill looks small until you add the engineering bill.

The hidden cost of running your own MCP infrastructure

Francisc Toth · MAR 08, 2026 · 7 minutes
The hidden cost of running your own MCP infrastructure

"It's just a Node.js process" is what most engineers say before they self-host MCP infrastructure. Then they spend the next quarter rebuilding things they didn't know they needed. Here's the actual cost breakdown.

The infrastructure bill

Start with the obvious. A modest production MCP setup for a team of 10 needs:

  • Compute: A small VPS or container instance running the server processes. Around $40 per month for something that can handle 100 concurrent connections without sweating.
  • Database: If your servers hold state (auth tokens, audit logs, rate limit counters) you need Postgres. Managed Postgres on AWS or Neon runs $25-50 per month for a starter tier.
  • TLS and DNS: Cloudflare or Let's Encrypt cover certificates. DNS through Cloudflare is free. Total: $0-10 per month.
  • Object storage: Audit logs and large tool responses. S3 or R2 at $0.02 per GB. For 10 engineers actively using MCP, expect 5-20GB per month. Around $5.

Subtotal: $75-110 per month for a team of 10. Not terrible. This is the number that makes self-hosting look attractive on the spreadsheet.

The auth bill

Most teams underestimate the auth layer.

API keys alone aren't enough. You need rotation, revocation, scoping, audit trails, and an admin UI to manage all four. Building this from scratch is a week of work for one engineer. Using a service like Auth0, Stytch, or WorkOS adds:

  • Auth0: $228 per month for the Essentials plan (1,000 active users). The free tier doesn't cover the features you'll actually need.
  • WorkOS: Free up to 1M users for the directory and SSO pieces, but the API key management is build-it-yourself.

Realistic cost: $0-250 per month depending on whether you build or buy.

The hidden cost here isn't dollars. It's the time you spend designing the auth flow, integrating it with your existing identity provider, and writing the admin UI for your IT team. Conservatively: 40 engineering hours upfront, 5 hours per month maintaining.

The observability bill

You need three things you didn't think about.

Logs. Every tool call, with arguments and results. Datadog, Honeycomb, or self-hosted Loki. Realistic cost at 10 engineers' worth of traffic: $50-150 per month for hosted, plus 20 hours of setup.

Metrics. Tool call rate, latency percentiles, error rate per server. Grafana Cloud or Datadog. $0-100 per month depending on cardinality.

Tracing. When a tool call chains across multiple servers, you need to see the end-to-end span. OpenTelemetry to a backend like Honeycomb or Jaeger. Add another $50 per month.

Total observability: $100-300 per month, plus around 60 hours of setup.

This is the line item that surprises teams the most. It's invisible until you have an outage. Then it's the only thing you care about.

The engineering hours

Money is easy to calculate. Engineering time is where self-hosting gets expensive.

Realistic breakdown for the first six months:

| Task | Hours | |---|---| | Initial server scaffolding | 20 | | Auth and key management | 40 | | Observability setup | 60 | | First production incident | 16 | | Onboarding second team member | 8 | | Quarterly security review | 12 | | Updating SDKs as MCP spec changes | 20 | | Handling deprecated transport configs | 8 |

That's 184 hours in the first half-year. At a loaded cost of $150 per hour for a mid-level engineer, that's $27,600 of engineering time. For a team of 10, this is the same as the developer's full-time salary for two months.

The ongoing cost after the first six months is lower (maybe 20 hours per quarter) but it never goes to zero. The MCP spec evolves. Clients add new features. Your team grows. Someone has to maintain this.

The opportunity cost

The biggest cost isn't on any of these line items. It's what your engineers aren't building.

Every hour spent on MCP infrastructure is an hour not spent on the product your customers actually pay for. For most teams, the MCP layer is infrastructure they need but not infrastructure that differentiates them. Time spent perfecting the auth rotation flow is time not spent on the feature that drives next quarter's revenue.

This is the calculation that ends up moving teams to hosted MCP. The dollar costs are roughly comparable to self-hosting for small teams. Toolcall's Pro tier is $99 per month for what we just priced out at $300-500 per month for self-hosting plus $5,000+ per month of engineering time.

When self-hosting still makes sense

Some teams should self-host. Three signs.

You have strict data residency requirements that hosted providers can't meet. Healthcare, financial services in certain jurisdictions, government work.

Your MCP usage is at a scale where the hosted pricing curve becomes unfavorable. We've seen this around 50,000 tool calls per day for sustained workloads. Below that, hosted is cheaper.

You have spare infrastructure team capacity. If you already run a Kubernetes cluster with the observability stack we just described, adding MCP to it is genuinely a marginal cost. The fixed costs are sunk.

If none of these apply, the math usually points to hosted. The infrastructure bill looks small until you add the engineering bill.

// READY TO SHIP

START YOUR FIRST MCP SERVER
IN UNDER FIVE MINUTES

No credit card required. Hobby plan is free forever.

Create a free website with Framer, the website builder loved by startups, designers and agencies.