Skip to main content
Glama

inetGeek MCP server

A Model Context Protocol server over inetGeek's infrastructure data: every provider and comparison on the site, and every figure carrying the URL it was read from, the sentence it was read from, and the date it was last checked against that page.

No account, no API key, and nothing you ask it is stored. Every tool is read-only except send_feedback, which records a report for the maintainer and can change nothing.

https://inetgeek-mcp.palashbagchi.workers.dev/mcp

Why point a model at this

A model asked "what does Neon's free tier include" answers from training data that may predate this week's repricing, and cannot tell you where the number came from. Every value here is read from the provider's own documentation and ships with four things: the value, the verbatim sentence it was read from, the source URL, and the date. If a figure is wrong, the excerpt makes it easy to demonstrate.

What the server will not do is more of the point than what it will. It never infers a value from silence, never fills a gap with a plausible number, and never returns a ranking without the interval around it. Where two providers cannot be told apart, it says so.

Related MCP server: whois

Connect it

Claude Code

claude mcp add --transport http inetgeek https://inetgeek-mcp.palashbagchi.workers.dev/mcp

Claude Desktop / any MCP client — add to your client's config:

{
  "mcpServers": {
    "inetgeek": {
      "type": "http",
      "url": "https://inetgeek-mcp.palashbagchi.workers.dev/mcp"
    }
  }
}

A machine-readable server card lives at /.well-known/mcp.json, and every underlying feed is indexed at /.well-known/api-catalog.

Tools

Tool

What it returns

list_categories

The categories this site tracks, each with its current provider count.

list_providers

Every provider in one category with its free tier, entry price and the editorial "best for" line — the orientation call before a per-provider lookup.

filter_providers

Providers that document every fact key you name (e.g. SOC 2 and HIPAA), each with the value, source and verification date.

search_infrastructure

Full-text search over every published page — providers, comparisons, DNS records, tools and stacks — including the fact labels each provider documents.

get_provider

The full sourced fact sheet for one provider — pricing, limits, regions and startup-credit programs, each with a source and a verification date.

list_startup_credit_providers

Every provider documented as offering a startup credit program, with the amount and eligibility — a filter, not a per-provider lookup.

get_provider_score

One provider's iScore with its interval and rank, every pillar and criterion with the fact behind it, and the criteria its peers document that it does not — what a provider would publish to move the number.

list_alternatives

Every peer in a provider's category ranked by iScore, with score, interval, entry price and where each differs from the provider named.

compare_providers

The sourced side-by-side comparison for a curated pair, where one exists.

list_comparisons

Every published comparison, optionally only those involving one provider — so an agent knows a pair exists before asking for it.

get_stack_recommendation

Every host that documents real support for a framework or runtime, ordered by strength of documentation.

plan_infrastructure

The /plan/ planner: one suggested provider per layer for a stage or a hand-picked set of layers, a floor-price total, and the layers left out of it for having no clean starting price. Takes the project’s context — what it already uses, the platform it runs on, what it excludes — so a tie is broken by the project and a covered layer is left alone; ties are reported as ties.

estimate_monthly_cost

What each provider that publishes a per-volume price would charge a month at a stated volume (web analytics, email and auth): plan fee plus overage, cheapest first, with the vendor page and read date. inetGeek’s arithmetic on published rates, not a quote.

get_ledger

Every vendor page read and found silent on a criterion, with the page and the date; every criterion a product cannot have; every case where two pages of one vendor disagree, with both quotes; every changed figure. A silence record is an observation, not a claim the provider lacks the thing.

get_changelog

Every figure that moved — before, after, source and date — optionally since a date or for one provider.

get_dns_record

The reference page for one DNS record type or email-authentication mechanism, as text.

check_dns

A live DNS lookup for a domain's A/AAAA/CNAME/MX/TXT/NS records.

check_spf

A live SPF evaluation, including the ten-lookup limit.

check_dns_propagation

A live check of one record across four independent public resolvers.

send_feedback

Report a wrong figure, a broken or confusing tool, or something missing to the person who maintains the site. The only tool that writes: it stores a note and changes nothing; a wrong-figure report is checked against the provider's own page first.

Twenty tools. Every one except send_feedback is read-only, and the tool list is mirrored on https://inetgeek.com/mcp/.

Give it your project's context

The server cannot see your project; the assistant connected to it can. The tools that benefit take what it finds as arguments, and the server's own instructions tell the client what to read first (its deploy config, dependencies, env var names, real traffic figures):

  • plan_infrastructure takes already_using, platform and exclude. Without them most layers are ties among providers that all document a free tier, and the tool says so layer by layer instead of presenting the alphabetically first as a recommendation. With them, a layer you already cover is left out of the floor and a tie is broken toward your own platform.

  • estimate_monthly_cost takes a monthly volume (units, in pageviews, events, emails or monthly active users), optionally sites and events_per_pageview, and returns each provider's plan fee plus overage at that volume, cheapest first, with the plan, the vendor page and the date it was read. It is inetGeek's arithmetic on published rates, not a quote, and says so beside every figure. Plans quoted only by sale, priced in another currency, or with a billing rule the page leaves open are named rather than guessed at.

Three things worth reading the output carefully for

A rank is usually an ordering, not a finding. iScore carries an 80% interval, and a rank is only established when the posterior puts a provider above the next one at 90% or better. That is true for very few rows. Everywhere else the ordering is real but the separation is not, and the tools say so, with a "read this score with care" note naming which pillar is thin. Report the interval with the number.

A blank is not a "no". Three different reasons a cell is empty are kept apart, because collapsing them would invent information: not documented (nobody has looked), not offered (the product has no such thing), and not stated on the vendor's page when read on a date — the last being a sourced observation, exposed through get_ledger. Only the third one is evidence, and even then it is evidence about a page, not about a product.

The lean is inetGeek's reading, not a provider's claim. compare_providers returns it with the basis it was computed from, by six published rules. It is an opinion with its working shown; pass it on that way.

Two pages of one vendor can disagree. When a vendor's own pages contradict each other on a criterion, no value is recorded: get_ledger returns both quotes and both URLs. Silence on a page is a different record, and a conflict between pages is a third.

Running your own

npm install
npm run dev        # wrangler dev
npm run typecheck
npm run deploy     # wrangler deploy

The server is stateless: it reads inetGeek's public JSON feeds and Markdown mirrors at request time and holds no database. Deploying your own copy gives you the same data from the same origin — useful if you want a different tool surface, different descriptions, or your own Cloudflare account in the path.

Three optional bindings. Without any of them the server still runs.

USAGE, an Analytics Engine dataset, counts calls per tool. It records the method, the tool name and the client's self-declared name — no IP address, no argument values, nothing identifying a person. Drop the analytics_engine_datasets block from wrangler.jsonc to run without it.

FEEDBACK (D1) and FEEDBACK_RATE_LIMIT back send_feedback. The row holds what the agent submitted, the time and the client's User-Agent. The IP is used only as the rate-limit key (5 a minute) and is never written. A daily cron deletes closed reports after 90 days and every report after a year. To collect feedback on your own copy:

wrangler d1 create <your-db-name>        # put the id in wrangler.jsonc
wrangler d1 migrations apply <your-db-name> --remote

Without the binding, send_feedback still registers and tells the caller that feedback is not being collected. Treat every stored message as untrusted input: it was written by an arbitrary caller of a public tool.

Data, licence and corrections

The code here is MIT. The data it serves is not part of this licence — it lives at inetgeek.com and is published for reading, with each figure attributed to the vendor page it came from.

Found a figure that is wrong or has moved, or a page of yours we recorded as silent when it is not? Send the URL: https://inetgeek.com/contact/. Corrections replace the record rather than argue with it, and the change is published at /ledger/.

Issues and pull requests are welcome here for the server itself. For a wrong figure or a missing provider, use the issue templates in this repository or the contact page above; the data is edited on the site, not here.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Provides global internet resource intelligence by querying RIRs for IP and ASN data, routing visibility, and network health. It enables users to perform RPKI validation, BGP inspection, and historical allocation analysis through natural language or a REST API.
    42
    1
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Query WHOIS/RDAP information for domains, IP addresses, CIDR prefixes and ASNs. Results are normalized to RDAP-style (RFC 9083) JSON. Public instance of the open-source KincaidYang/whois server, which can also be self-hosted.
    66
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Gives AI agents access to public internet interconnection data, letting them look up which networks connect to each other, at which internet exchanges and facilities they are present, under what peering policy, and who a given IP range or AS number is registered to. Responses are compact, sourced and aged, and it distinguishes missing records from genuinely absent networks rather than guessing.
    1
    23 PyPI
    MIT