← Stormap

Stormap for AI agents

An MCP server and REST API your agents can call: check whether AI crawlers can read a site, generate llms.txt and AI robots.txt files, and search Stormap's practical guides on building with AI agents. Free to try, no signup.

MCP endpoint
https://stormap.ai/mcp
Streamable HTTP · tools: vendor_trust_profile, company_changes, agentic_commerce_readiness, company_profile, check_before_paying, email_domain_check, read_url, search_guides, get_guide, ai_visibility_score, check_ai_crawler_access, generate_llms_txt, generate_ai_robots_txt
Want higher limits? Sign in with Google

You get a free key with 500 calls/month. No card needed.

Plans

No key
$0

Guides & robots.txt: 200 calls/day. Visibility score, crawler check & llms.txt: 20/day. Per IP.

Free key
$0

500 calls/month, all tools.

Sign in
Developer
$9/mo

2,000 calls/month.

Sign in to start
Pro
$29/mo

15,000 calls/month.

Sign in to start

Need a burst? Credit pack: $10 for 1,000 extra calls, used after your monthly allowance, never expire.

Connect your agent

Claude Code

claude mcp add --transport http stormap https://stormap.ai/mcp
# with a key:
claude mcp add --transport http stormap https://stormap.ai/mcp --header "Authorization: Bearer smk_YOUR_KEY"

Claude (claude.ai / desktop): custom connector

Settings → Connectors → Add custom connector → URL https://stormap.ai/mcp

Cursor, Windsurf, VS Code and other MCP clients

{
  "mcpServers": {
    "stormap": {
      "url": "https://stormap.ai/mcp",
      "headers": { "Authorization": "Bearer smk_YOUR_KEY" }
    }
  }
}

The headers block is optional; without it you're on the free no-key tier.

Plain HTTP

curl -s https://stormap.ai/api/v1/tools/check_ai_crawler_access \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer smk_YOUR_KEY" \
  -d '{"url":"https://example.com"}'

curl -s "https://stormap.ai/api/v1/guides/search?q=install+hermes"

Spec: OpenAPI 3.1 · Index: /api/v1 · Site map for LLMs: /llms.txt

Tools

ToolWhat it doesLimit type
vendor_trust_profileVendor security review / third-party risk check: a first-pass security and privacy profile of a software vendor from its own public website, given a domain. Answers "is this vendor SOC 2 certified?" and "do they train AI on our data?": certifications it claims (SOC 2 Type I/II, ISO 27001/27701/42001, HIPAA, PCI DSS, FedRAMP…), whether it trains AI models on customer data (with the exact quote and page), subprocessor list, DPA, data residency, security features (SSO/SAML, SCIM, MFA, encryption, pen tests, bug bounty), security.txt contact, status page, links to trust center, privacy policy and terms, plus a 0-100 transparency score. Use for vendor risk assessments, procurement and security questionnaires. Certifications are vendor claims, not verified audits.Analysis
company_changesDid they raise prices or change their terms? What changed on a company's pricing, terms of service, privacy policy and subprocessor pages, and when. Returns the change history (prices added/removed, free plan or trial added/removed, subprocessors added/removed, text added/removed) and the current prices. Stormap checks tracked pages about once a day; asking about a new company starts tracking it, so history builds from that day. Useful for competitor monitoring, vendor renewals and compliance.Analysis
agentic_commerce_readinessIs this store ready for ChatGPT shopping? Audit whether an online store is ready for AI shopping agents (ChatGPT shopping and Instant Checkout via ACP, Google AI Mode via UCP, Perplexity, Claude): AI bot access to product pages, Product structured data (price, currency, availability, GTIN/MPN, brand, ratings), return policy and shipping details, policy pages, product sitemap/feed, platform and Stripe detection, and agent protocol discovery files (/.well-known/ucp, /.well-known/acp.json, MCP server card). Returns a 0-100 score, readiness level and a prioritized fix list.Analysis
company_profileResearch a company from its domain (lead research, sales call prep, competitor analysis, CRM enrichment). Builds a structured profile from the company's own public website: name, tagline, description, key pages (pricing, docs, contact, careers, blog, status, security, login, signup), social profiles (LinkedIn, X, GitHub, YouTube...), pricing signals (prices seen with the date they were seen, free plan, free trial, contact sales, and when prices last changed if the company is tracked), tech stack (framework, CMS, analytics, payments, hosting), generic contact emails (info@, sales@...), organization details from structured data, and AI-readiness (llms.txt, AI bot access). Useful for lead research, competitor analysis and enrichment. Never returns personal data about individuals.Analysis
check_before_payingShould your agent pay this? Run before paying an x402 / pay-per-call endpoint, an unfamiliar seller or a wallet address. Returns a verdict (ok_to_pay, caution, dont_pay, no_payment_needed) with reasons, from: the endpoint's live payment terms (price, token, payment address), its listing in Coinbase's x402 marketplace (how many different wallets paid it in 30 days, listed payment address), whether the live payment address matches the listing, whether the token is real USDC, the price compared with typical prices for similar tools, and the seller domain's age, website and mail security. Read-only: never pays or signs anything.Analysis
email_domain_checkIs this email address or domain real and legitimate? For lead research, signup / fraud screening, outreach list cleaning and vendor checks. Returns a verdict (looks_legitimate, risky, invalid) with reasons, plus: email syntax, role address (sales@, info@), free provider or disposable/throwaway service, whether the domain accepts mail (MX, null MX), mail provider (Google Workspace, Microsoft 365...), SPF and DMARC policy, whether the website loads, and domain age from RDAP. Does not contact the mail server, so it cannot confirm a specific mailbox exists.Analysis
read_urlRead a web page for an AI: fetch a public page and return its main content as clean, LLM-ready Markdown (navigation, footers, scripts and cookie banners removed) plus metadata: title, description, author, published/modified dates, canonical URL, language and word count. Reads server-rendered HTML (no JavaScript execution) and respects robots.txt.Analysis
search_guidesSearch Stormap's practical guides on building with AI agents (OpenClaw, Hermes, Claude, coding agents, browser automation, RAG, MCP, AI news). Returns titles, URLs, Markdown URLs and short descriptions. Use get_guide to read one.Guides
get_guideReturn one Stormap guide as clean Markdown with front matter (title, URL, dates, tags). Accepts a slug ("how-to-install-hermes-desktop") or a stormap.ai post URL.Guides
ai_visibility_scoreAI search / GEO / AEO audit: score how well AI assistants (ChatGPT, Claude, Perplexity, Gemini) can find, read and cite a public web page: 0-100 score, letter grade, pass/fail checks (AI answer-bot access in robots.txt, server-rendered content, title/meta, JSON-LD, canonical, llms.txt, sitemap) and a prioritized fix list. Blocking bulk training crawlers is treated as a policy choice and does not lower the score.Analysis
check_ai_crawler_accessCheck whether AI crawlers (GPTBot, ChatGPT-User, OAI-SearchBot, ClaudeBot, Claude-User, PerplexityBot, Google-Extended, CCBot) may access a public URL according to its robots.txt, and score the page's machine readability (status, title, meta description, canonical, JSON-LD, server-rendered text). Returns a 0-100 score and a list of findings.Analysis
generate_llms_txtGenerate an llms.txt file (llmstxt.org format) for a public website. Uses the site name, summary and pages you pass; anything missing is filled from the homepage and sitemap.xml. Returns the file text plus notes on how to improve it.Analysis
generate_ai_robots_txtGenerate robots.txt rules for AI crawlers from a policy: "open" (allow all), "balanced" (allow search and user-triggered fetchers, block bulk training crawlers) or "block" (block all). Optional per-bot overrides, allowed/blocked paths, sitemap and crawl delay. No network access.Guides

Pay per call (x402): no account, no key

Agents with a USDC wallet can pay per request with the open x402 protocol. Call an endpoint, get an HTTP 402 with the price, pay, retry. You are only charged when the call succeeds.

EndpointPrice
GET /x402/v1/vendor_trust_profile?domain=…$0.25 USDC
GET /x402/v1/company_changes?domain=…$0.05 USDC
GET /x402/v1/agentic_commerce_readiness?url=…$0.10 USDC
GET /x402/v1/check_before_paying?target=…$0.01 USDC
GET /x402/v1/email_domain_check?email=…$0.01 USDC
GET /x402/v1/company_profile?domain=…$0.01 USDC
GET /x402/v1/read_url?url=…$0.01 USDC
GET /x402/v1/ai_visibility_score?url=…$0.01 USDC
import { wrapFetchWithPaymentFromConfig } from "@x402/fetch";
import { ExactEvmScheme } from "@x402/evm";
const pay = wrapFetchWithPaymentFromConfig(fetch, { schemes: [{ network: "eip155:8453", client: new ExactEvmScheme(account) }] });
const res = await pay("https://stormap.ai/x402/v1/company_profile?domain=stripe.com");

Try it yourself from a browser wallet: pay & run a tool · Index: /x402/v1

Fair use

URL tools only fetch public websites (private and internal addresses are refused), with short timeouts and size limits. 60 requests/minute burst limit. Don't use the tools to scan sites you don't own at volume.