inetGeek docs
MCP server

Project context

What to give the planner and the estimator so they answer for your project

The server cannot see your project. The assistant connected to it can. Two tools take what it finds as arguments, and the server's instructions (sent at connection time) tell the client which project facts to read first: the platform it deploys on, the providers already in use, real traffic figures and hard requirements.

plan_infrastructure

Without context, most layers are ties: every provider documents a free tier, so the "pick" is only the alphabetically first. The tool says so layer by layer (TIE, NOT A RECOMMENDATION) rather than presenting it as a plan.

ArgumentGive itEffect
already_usingProvider ids or names the project runs today (from dependencies, env var names, deploy config)The layer is reported as covered and left out of the floor total
platformThe vendor it deploys on: cloudflare, aws, google, vercel …Where that vendor sells a provider in a layer, it is preferred over an unrelated cheaper one
excludeProviders the project will not useNever picked
securityRequirements every pick must document (soc2, ssoSaml, gdprDataResidency …)Re-picks layers whose providers document those criteria

A name that matches nothing is reported back as ignored; it is never silently dropped.

estimate_monthly_cost

Takes a monthly volume and answers what each provider that publishes a per-volume price would charge.

ArgumentGive it
unitsThe monthly volume, from the project's own analytics, logs or dashboards
unitpageviews, events, emails or mau (monthly active users)
events_per_pageviewHow many events a pageview records, when comparing a pageview figure with a vendor that bills in events
sitesHow many websites the plan must cover
categoryanalytics, email or auth; omit for all that match the unit

The result is inetGeek's arithmetic on each vendor's published rates, not a quote. Each line shows the plan, the formula, the vendor page and the date it was read. Taxes, currency and each vendor's own definition of its unit are outside it.

An example

A project that deploys on Cloudflare, already takes payments through Stripe and wants hosting, database and analytics:

{
  "layers": ["hosting", "database", "analytics", "payments"],
  "framework": "astro",
  "platform": "cloudflare",
  "already_using": ["stripe"]
}

Hosting resolves to Cloudflare Pages on the platform basis, payments is reported as already covered, and database and analytics are reported as ties to be chosen with the project's needs. The tool reference shows a real answer.

On this page