ai.inite/atlas·Commerce

INITE Atlas

A catalogue of AI tools for agents: look up, search, compare prices, see price and API changes.

Stars
0
Version
1.0.0
License
MIT
Review
Passed
Language
TypeScript
Last commit
7d ago
Forks
0
Open issues
0
Registry update
Oct 16, 2026
aeoai-visibilityllms-txtmcpmodelcontextprotocolseo

Connect

remote
Terminal
$claude mcp add --transport http atlas https://inite.ai/api/mcp/atlas \  --header "Authorization: <authorization>"

Headers

  • Authorizationsecret

    Optional. Every lookup, search and change list answers without it. Bearer <access_token> from auth.inite.ai adds a vendor's own listing tools.

Security review

Review passed

Reviewed 52m ago.

tools
26 tools scanned
metadata
scanned

No findings.

Tools

26
  • match_tools

    Find AI tools that fit a described job, from the INITE Atlas - ten thousand tools re-read every week, ranked by measured use rather than votes. Describe the job in a sentence or two with any constraint that matters (self-hosted, an API, a free plan, a budget, who will use it). Returns up to five tools, each with which stated requirements it meets, which it does not, and which were not measured. No overall match percentage on purpose: the answers are typed, not scored. Free; twenty a day per address or account.

  • atlas_lookup

    One AI tool from the INITE Atlas, by domain or name: what it does and who it is for, the starting price with the pricing page and the day it was read and how the price has moved, how a program reaches it (API docs, an OpenAPI document that parses and its path count, an MCP server in the official registry and how it is tied to the vendor, a status page), what it states about your data (certifications, training on your data), and how used and how alive it is. Every fact is dated; 'claimed' and 'found' are kept apart.

  • atlas_search

    Filter the INITE Atlas without a model: a phrase, a category, and slices that must all hold. Categories: sales, hr, security, analytics, agents, support, dev, llmops, finance, automation, marketing, meetings, knowledge, rag, voice, documents, legal, data, health, i18n, creative, writing, productivity, career, learning, commerce, lifestyle, assistants. Slices: free-plan, open-source, api, self-hosted, no-code, states-hipaa, states-soc2, states-gdpr, no-training, free-trial, student-discount, mcp-server, openapi. Sorted by measured use (default), activity, newest or name. Free, no allowance.

  • atlas_changes

    What changed among the tools in the INITE Atlas: prices up or down, free plans added or dropped, OpenAPI specs published, MCP servers listed. Each change was read twice from the vendor's own page or the public registry before it counts, and a correction somebody typed in is never reported as the vendor's move. Each list says how many tools were in a position to change at all.

  • atlas_coupons

    Live discount codes for AI tools in the INITE Atlas, optionally for one domain. Each was stated by somebody who proved they own the domain, and carries the day they last confirmed it - quote that day. INITE does not run other companies' checkouts: never call a code verified or tested.

  • atlas_my_listings

    The tools the signed-in account has claimed in the INITE Atlas: whether each claim is verified and how, whether the badge link is still on the site, premium until when, and the card address. Needs a signed-in inite.ai account: a guest call answers 401 and starts the OAuth flow.

  • atlas_owner_claim

    Start (or resume) a claim on a tool's Atlas card for the signed-in account. Answers with three ways to prove the domain - a badge link on any page of the site, a meta tag on the homepage, or a DNS TXT record - each with the exact snippet. If the account's email is on the domain and verified, the claim is proved at once. Then call atlas_owner_verify. Needs a signed-in inite.ai account: a guest call answers 401 and starts the OAuth flow.

  • atlas_owner_verify

    Check the proof placed for a claim: method "badge" (with pageUrl, the page the badge link is on), "meta" (the homepage meta tag) or "dns" (the TXT record). Answers verified, or what was missing. Needs a signed-in inite.ai account: a guest call answers 401 and starts the OAuth flow.

  • atlas_owner_card

    For a tool the account has claimed: what the card prints and what it could not read - price, hiring, releases, company - with the page each was read from and what to do about each empty line. Plus the claim's status and premium. Needs a signed-in inite.ai account: a guest call answers 401 and starts the OAuth flow.

  • atlas_owner_set_read_pages

    For a proved owner: name the pricing page, the careers page and the changelog or release notes, on your own domain. The Atlas reads them with its usual readers and guards - a price must be printed on the page, a job board must be your own, release notes must carry dates - and never takes a figure on your word. A new pricing page is read within the hour; careers and releases on the next read (atlas_owner_remeasure). Send all three each time: an omitted one is cleared. Needs a signed-in inite.ai account: a guest call answers 401 and starts the OAuth flow.

  • atlas_owner_remeasure

    Re-read the claimed site now - activity, hiring, releases, crawler policy, identity files - with the pages you named. Once a week on the free tier, once an hour on premium. Needs a signed-in inite.ai account: a guest call answers 401 and starts the OAuth flow.

  • atlas_owner_stats

    Views of the card and clicks through to the site: thirty days on the free tier; ninety days and the shelf beside it on premium. With what Google showed of the card last month (impressions, clicks, top queries) and its neighbours on the shelf. Needs a signed-in inite.ai account: a guest call answers 401 and starts the OAuth flow.

  • atlas_owner_propose_edit

    Propose a correction a person at INITE reviews before it shows: field "name" (with name), "pricing" (with pricing: {model, freeTier, startsAt: {amount, currency, per} | null, source: the page it is on}) or "note" (with note, free text to the editors). Our one-line description and verdicts are not editable; set_read_pages is the faster way to a price. Needs a signed-in inite.ai account: a guest call answers 401 and starts the OAuth flow.

  • atlas_owner_coupons

    The coupons this claim has published, live or not, with their ids for atlas_owner_coupon_set. Needs a signed-in inite.ai account: a guest call answers 401 and starts the OAuth flow.

  • atlas_owner_coupon_add

    For a proved owner: publish a discount on the card and the Atlas coupon feed, shown as stated by the verified owner. Needs title (one sentence), endsAt (ISO date, within a year), url (a page on your domain where it applies), and kind with code, percentOff, amountOff+currency or trialDays as fits. Confirm it every 45 days (atlas_owner_coupon_set) or it stops showing. Needs a signed-in inite.ai account: a guest call answers 401 and starts the OAuth flow.

  • atlas_owner_coupon_set

    action "confirm" says the coupon still works (it stops showing 45 days after the last confirmation); "withdraw" takes it down. Needs a signed-in inite.ai account: a guest call answers 401 and starts the OAuth flow.

  • atlas_owner_premium

    What premium adds (re-reads hourly, ninety-day stats with the shelf beside the card) and the link where the owner pays - checkout is a card form in a browser, not an agent action. Needs a signed-in inite.ai account: a guest call answers 401 and starts the OAuth flow.

  • atlas_owner_release

    Give up the claim on a card. The card stays in the Atlas; the owner mark, coupons and owner tools go with the claim. A later claim needs a fresh proof. Needs a signed-in inite.ai account: a guest call answers 401 and starts the OAuth flow.

  • atlas_compare

    Preview a price comparison of 2-5 Atlas tools for a usage scenario, computed without a model from plan editions checked against the vendors' own pricing pages. First category: AI transcription (seats, minutes a month, required capabilities). Returns per tool the cheapest fitting verified plan, or why there is none (unknown, ineligible, contact sales, stale) - unknown is never shown as missing or free. Nothing is saved; atlas_dataset_create keeps it for a website. Free; sixty a day per address.

  • atlas_dataset_create

    Save a comparison as a private draft dataset in the signed-in account: tools, required capabilities, the default scenario. Returns the dataset id, configVersion and a preview with coverage. Nothing is public until atlas_dataset_publish. Needs a signed-in inite.ai account: a guest call answers 401 and starts the OAuth flow.

  • atlas_dataset_update

    Change a dataset the account owns: title, language, tools, required capabilities or default scenario. Names the configVersion it read; a newer one is VERSION_CONFLICT. A published set keeps serving its published config until atlas_dataset_publish. Needs a signed-in inite.ai account: a guest call answers 401 and starts the OAuth flow.

  • atlas_dataset_publish

    Make the named configVersion of a dataset public: cuts an immutable revision and returns the public API, page and compare URLs plus install notes. Call it only when the user asked for a public comparison. Needs at least two tools with verified plans. Needs a signed-in inite.ai account: a guest call answers 401 and starts the OAuth flow.

  • atlas_dataset_get

    Read a dataset: a published one by anybody (its snapshot with freshness and the default result), a draft only by its owner (config, configVersion, preview). Optional revision reads history.

  • atlas_dataset_changes

    Confirmed changes between the revisions of a published dataset, newest first: plans added, removed, or which fields moved. Page with `after` (a revision number).

  • atlas_dataset_archive

    Stop serving a dataset the account owns. The API then answers 410 with a fallback line, so a page that still reads it degrades instead of breaking. Already-downloaded snapshots cannot be recalled. Needs a signed-in inite.ai account: a guest call answers 401 and starts the OAuth flow.

  • atlas_dataset_placement

    Tell the Atlas which public page shows a published dataset, and check it now: the page's HTML must carry the data and a visible link to the dataset page (not in a comment, iframe or noscript). Re-checked daily; the state shows in atlas_dataset_get. Nothing on the page is changed. Needs a signed-in inite.ai account: a guest call answers 401 and starts the OAuth flow.

INITE MCP — AI visibility, from inside your agent

Ask your assistant whether the answer engines can see a website, and get a number back.

> Can ChatGPT actually find stripe.com, or is it invisible?

  analyze_site(url: "stripe.com")   → run_id: cm4x…
  get_analysis(run_id: "cm4x…")     → Score: 78/100

The audit reads a live site the way an assistant does — the identity files an engine looks for (llms.txt, ai.json and the rest), the crawler policy, the schema graph, page health — and then asks Claude, ChatGPT, Gemini and Perplexity whether they name it. One score out of 100 across eight weighted sections.

It is the same audit that runs at inite.ai/en/analyze.

Works before you sign in

Three of the tools run entirely on your machine — a robots.txt fetched, a file probed for, a page parsed. No account, no allowance, no call home.

> Is anything blocking AI crawlers on stripe.com?

  check_ai_access(url: "stripe.com")

  Retrieval: all 7 answer-engine crawlers may fetch the site.
  Training:  3 of 8 blocked — Meta-ExternalAgent, Bytespider, Amazonbot.

The rest is inite.ai's MCP server, and it answers signed out too, as a guest: the portal (services and prices, call slots, booking a call), the analyzer (check_identity, and analyze_site as the survey - the audit without its two paid steps, two a day per address) and the Atlas (match_tools, atlas_lookup, atlas_search, atlas_changes, atlas_coupons).

Signing in makes the calls your account's: its tier of the audit (the teaser on a free plan, the whole audit on a paid one) and the member tools - your audits, your account, the Atlas tools you own.

Install

Claude Desktop, Cursor, or any client that launches a stdio server:

{
  "mcpServers": {
    "inite": {
      "command": "npx",
      "args": ["-y", "@inite/visibility"]
    }
  }
}

Then sign in once:

npx @inite/visibility login

That opens a browser, you approve, and the token is stored at ~/.config/inite/mcp.json with owner-only permissions. Authorization code with PKCE over a loopback redirect, the flow RFC 8252 prescribes for a native app. Nothing is written to the repository and no secret ships in the package.

Already have a token (CI, a shared config, a container):

{
  "mcpServers": {
    "inite": {
      "command": "npx",
      "args": ["-y", "@inite/visibility"],
      "env": { "INITE_TOKEN": "…" }
    }
  }
}

INITE_TOKEN wins over the stored file.

Client speaks the MCP authorization flow? Skip this package. Point it straight at https://inite.ai/api/mcp and it will discover the rest: an unauthenticated call answers 401 with WWW-Authenticate naming the protected-resource metadata, which names the authorization server.

Tools

Local — no account:

toolwhat it does
check_ai_access(url)Which AI crawlers robots.txt lets in, separating the ones that fetch a page to answer a live question from the ones that only collect training data. Blocking the first kind is what makes a site invisible; blocking the second costs nothing.
check_identity_files(url)Which of the ten identity files exist — llms.txt, ai.json, identity.json and the rest.
check_page_signals(url)Title, description, canonical, hreflang, and the Schema.org types in the page's JSON-LD.

Remote — needs an account:

toolwhat it does
analyze_site(url)Starts the full audit and returns a run_id. Takes about a minute.
get_analysis(run_id)Progress while it runs; the score out of 100 and the report address once it finishes.

Two tools rather than one for the audit, because it is asynchronous. A single tool that blocked for a minute would be torn down by most clients' timeouts.

Commands

inite-visibility            run as an MCP server over stdio (what a client does)
inite-visibility login      sign in through the browser
inite-visibility whoami     say whether a usable token is present

What this package is

Two halves.

The local checks are real work done here: fetching, parsing, and the robots rules applied properly — most-specific group wins, longest matching rule wins, Allow breaks a tie. They cost nobody anything because your machine does them.

The remote half defines no schemas of its own. It asks inite.ai what it offers and forwards calls there, so that tool list is whatever the service implements today. A local copy would be a second source of truth, and the first thing it would do is drift.

What stays on the server is what costs something or is ours: four answer engines asked whether they name a site, and the weights that turn everything into one number. The local tools report facts; analyze_site reports a score.

Account and allowance

An audit spends real work — fetches, and model calls across four answer engines — so it runs against an account rather than anonymously. The daily allowance and the depth of the report are your plan's own, exactly as on the website: a free account gets the teaser tier, a paid one the full pipeline. Plans are here.

Environment

variablemeaning
INITE_TOKENUse this token instead of the stored one.
INITE_MCP_URLPoint at a different endpoint. Default https://inite.ai/api/mcp.
INITE_TOKEN_FILEWhere the token lives. Default ~/.config/inite/mcp.json.
INITE_AUTH_URLAuthorization server. Default https://auth-api.inite.ai.

Namespace

Published to the MCP registry as ai.inite/inite-visibility, a namespace held by proving control of inite.ai — the public half of the key is served at /.well-known/mcp-registry-auth.

Named by the domain rather than the code host on purpose: a service whose whole job is being legible to machines should tell them who it belongs to in its own name.

A note on the command name

npx @inite/visibility resolves because there is exactly one binary in the package. npm looks for a command matching the package name with the scope stripped — visibility — does not find it, and runs the only one there is.

The binary is called inite-visibility rather than visibility on purpose: a scoped package has no business claiming a word that general in your PATH on a global install. The cost is that a second binary would break the line above for every client, so a test pins it at one.

If you are invoking it from a directory that contains this package's own package.json, npm prefers the local copy and finds no linked command. Name it explicitly there:

npx -p @inite/visibility inite-visibility login

Development

npm install
npm run build
npm test

The tests cover what the bridge can get wrong without saying so: dropping the credential, turning "signed out" into "broken", swallowing an error into a success, and letting a stale file beat the environment.

Licence

MIT. The service it talks to is INITE.

From the server's repository — third-party content, read it before running anything it suggests.

More in Commerce

Listing from the official MCP Registry · repository facts from GitHub, 55m ago.