Skip to content

osint.foundation

foundation.osint/osintosint.foundationstreamable-httpv1.0.0Scanned

OSINT lookups: usernames, social profiles, phones, domains, IPs, crypto wallets and companies.

51 tools: 1 do something that can't be undone, 34 change things and 16 only read.

Tools: 0 delete, 1 irreversible, 34 write, 16 read.
  • Reads private data · 2
  • Reads text others write · 50
  • Can send data out · 5
  • 3 findings

Anlyon alternative

35 of these tools change something. Run those as governed actions.

Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.

Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.

Import an OpenAPI spec →

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

51 tools

Can't be undone 1Claude Code: ask
  • http_screenshotCapture a screenshot of any web page (rendered away from the caller).Reads text others writeCan send data out1 finding

    Why it is in this group

    • The name "http_screenshot" says "screenshot": a word for reading.
    • The description's first verb is "capture": a word that usually means money moves, which cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • untrusted-inputThe name "http_screenshot" says "screenshot" and "http": it reads web pages, which anyone can write.
    • untrusted-inputThe description's first sentence says "capture" and "web": it reads web pages, which anyone can write.
    • untrusted-inputThe input takes a URL (input.url), and the tool reads it: it reads web pages, which anyone can write.
    • outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.

    Findings

    • Warn

      The server marks "http_screenshot" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "http_screenshot" says "screenshot": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Capture a screenshot of any web page (rendered away from the caller). Returns the image as a data URL. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
Changes things 34Claude Code: ask
  • br_cepThe address a Brazilian postal code (CEP) belongs to: street, neighbourhood, city and state.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    The address a Brazilian postal code (CEP) belongs to: street, neighbourhood, city and state. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • br_cnpjA Brazilian company's registry record: legal and trade names, status, opening date, activities, address, capital and partners.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    A Brazilian company's registry record: legal and trade names, status, opening date, activities, address, capital and partners. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • br_cpfChecks a Brazilian CPF's format and check digits and the region it was issued in.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Checks a Brazilian CPF's format and check digits and the region it was issued in. Validation only: no personal data. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • br_dddThe state, cities and time zone a Brazilian area code (DDD) covers.Reads text others write1 finding

    Why it is in this group

    • The input takes a statement or command to run (input.code), which can change anything it can reach.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.

    Findings

    • Warn

      The server marks "br_ddd" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":true}; The input takes a statement or command to run (input.code), which can change anything it can reach.

      What this check looks for
    Description, as the server wrote it
    The state, cities and time zone a Brazilian area code (DDD) covers. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • btc_addressBalance in BTC and USD, total received and sent, transaction counts, last activity and recent transactions for a Bitcoin address.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Balance in BTC and USD, total received and sent, transaction counts, last activity and recent transactions for a Bitcoin address. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • buy_creditsCredit packs with prices and a direct checkout link (crypto or card).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Credit packs with prices and a direct checkout link (crypto or card). Pass a pack id for just that pack. Free; works without a key too.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • cve_exploitFor a CVE id: its description, CVSS score and severity, CWE, whether it is in the known-exploited (CISA KEV) catalogue and used by ransomware, plus links to public proof-of-concept…Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    For a CVE id: its description, CVSS score and severity, CWE, whether it is in the known-exploited (CISA KEV) catalogue and used by ransomware, plus links to public proof-of-concept and Metasploit repositories, the Nuclei detection template, and vendor advisories. References and metadata only; no exploit code is returned. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • discord_tagWhich Discord server(s) use a given server tag (the short tag members wear beside their name), from the directory of servers seen so far.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Which Discord server(s) use a given server tag (the short tag members wear beside their name), from the directory of servers seen so far. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • discord_usernameWhether a Discord username is registered (from Discord) and which accounts this platform has seen holding it.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Whether a Discord username is registered (from Discord) and which accounts this platform has seen holding it. A name can be taken with no known account; that is normal. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • domain_emailsEvery email address associated with a domain.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Every email address associated with a domain. Addresses only - nothing about the source is returned. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • domain_ipsEvery subdomain found for a domain (certificate logs, web crawls, archives, passive DNS) with the IPv4 addresses each resolves to - network owner, ASN, country - plus the domain's …Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • untrusted-inputThe description's first sentence says "crawl": it reads web pages, which anyone can write.
    Description, as the server wrote it
    Every subdomain found for a domain (certificate logs, web crawls, archives, passive DNS) with the IPv4 addresses each resolves to - network owner, ASN, country - plus the domain's NS, MX and TXT records. Pivot any IP into ip_lookup for open ports and CVEs. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • domain_urlsEvery URL captured on a domain in recent public web crawls - a passive way to enumerate a site's pages without touching the site.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • untrusted-inputThe description's first sentence says "crawl": it reads web pages, which anyone can write.
    Description, as the server wrote it
    Every URL captured on a domain in recent public web crawls - a passive way to enumerate a site's pages without touching the site. Returns the crawl id and the URLs with status, mime type and capture timestamp. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • domain_whoisWho owns a domain, from the registry and registrar records: owner name/organisation/email/country where not redacted, registrar, registration, expiry and change dates, status and n…Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Who owns a domain, from the registry and registrar records: owner name/organisation/email/country where not redacted, registrar, registration, expiry and change dates, status and nameservers. Redacted placeholders are left out; `privacy` says the owner is hidden. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • eth_addressETH balance in ETH and USD, top token holdings, transaction counts, contract details, scam flags and recent transactions for an Ethereum address or ENS name.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    ETH balance in ETH and USD, top token holdings, transaction counts, contract details, scam flags and recent transactions for an Ethereum address or ENS name. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • facebook_profileThe public Facebook profile for a Page or person, by username, numeric ID or link: name, Facebook ID, Page ID, verified badge, category, exact follower/like counts, intro, and the …Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    The public Facebook profile for a Page or person, by username, numeric ID or link: name, Facebook ID, Page ID, verified badge, category, exact follower/like counts, intro, and the public About section (website, contact info, and for people any basic info they made public). Only what Facebook shows logged-out visitors. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • github_userPublic GitHub profile intel: repositories, languages, organisations, public SSH/GPG keys, author emails from public commits, and activity by hour and weekday.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Public GitHub profile intel: repositories, languages, organisations, public SSH/GPG keys, author emails from public commits, and activity by hour and weekday. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • gravatar_emailThe public Gravatar profile an email's owner published: avatar, name, location, job title and verified linked accounts.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    The public Gravatar profile an email's owner published: avatar, name, location, job title and verified linked accounts. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • image_metadataEverything a photo file says about itself, from a link to the image: GPS position, device make, model and serial numbers, capture and edit times, editing software, AI-generation tr…Reads text others writeCan send data out1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.

    Findings

    • Info

      The description mentions "credentials".

      Matched text

      description: "...software, AI-generation traces and C2PA credentials, plus every EXIF, XMP, IPTC and maker-n..."

      What this check looks for
    Description, as the server wrote it
    Everything a photo file says about itself, from a link to the image: GPS position, device make, model and serial numbers, capture and edit times, editing software, AI-generation traces and C2PA credentials, plus every EXIF, XMP, IPTC and maker-note tag. Nothing is stored. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • instagram_profileThe public Instagram profile page for a username or profile link: full name, bio, profile picture, verified and private flags, exact follower and following counts, post count and t…Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    The public Instagram profile page for a username or profile link: full name, bio, profile picture, verified and private flags, exact follower and following counts, post count and the numeric user ID. Only what Instagram shows logged-out visitors. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • ip_geolocationCountry, region, city, coordinates and ASN for an IP address.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Country, region, city, coordinates and ASN for an IP address. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • ip_reputationRisk score and level for an IP address, with the reasons behind it: blocklist hits, Tor exit, VPN, datacenter/cloud/CDN, risky open ports and known vulnerabilities.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Risk score and level for an IP address, with the reasons behind it: blocklist hits, Tor exit, VPN, datacenter/cloud/CDN, risky open ports and known vulnerabilities. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • osint-domainRecords found for accounts under a domain (every address @domain), with the data seen for each.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Records found for accounts under a domain (every address @domain), with the data seen for each. Paid plans. Without an API key: $4.99 USDC per search via x402 (Base or Solana), charged only when it finds records.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • osint-emailRecords found for an email address: the sites and accounts it is tied to, with the data seen for each.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Records found for an email address: the sites and accounts it is tied to, with the data seen for each. Without an API key: $0.25 USDC per search via x402 (Base or Solana), charged only when it finds records.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • osint-originAccounts recorded on a website, by its domain: the logins seen there and the data for each.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Accounts recorded on a website, by its domain: the logins seen there and the data for each. Paid plans. Without an API key: $4.99 USDC per search via x402 (Base or Solana), charged only when it finds records.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • osint-phoneRecords found for a phone number: the sites and accounts it is tied to, with the data seen for each.Reads text others writeCan send data outNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • outboundThe input takes a destination (input.phone): what the tool writes goes there.
    Description, as the server wrote it
    Records found for a phone number: the sites and accounts it is tied to, with the data seen for each. Without an API key: $0.25 USDC per search via x402 (Base or Solana), charged only when it finds records.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • osint-usernameRecords found for a username: the sites and accounts it is tied to, with the data seen for each.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Records found for a username: the sites and accounts it is tied to, with the data seen for each. Without an API key: $0.25 USDC per search via x402 (Base or Solana), charged only when it finds records.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • snapchat_usernameCheck whether a Snapchat username exists and read its public profile, Bitmoji and Snapcode.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Check whether a Snapchat username exists and read its public profile, Bitmoji and Snapcode. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • sol_addressSOL balance in SOL and USD, account type, top SPL token holdings and recent transactions for a Solana address or .sol name.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    SOL balance in SOL and USD, account type, top SPL token holdings and recent transactions for a Solana address or .sol name. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • steam_profileAny Steam account with all its ID formats (SteamID64, STEAM_0, [U:1]) and the public profile: name, avatar, real name and country if public, member since, and ban flags.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Any Steam account with all its ID formats (SteamID64, STEAM_0, [U:1]) and the public profile: name, avatar, real name and country if public, member since, and ban flags. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • telegram_usernameWhether a Telegram @username exists and whether it is a user, bot, channel or group, with its public name, bio, photo, audience size and Telegram's scam/fake flags.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Whether a Telegram @username exists and whether it is a user, bot, channel or group, with its public name, bio, photo, audience size and Telegram's scam/fake flags. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • tron_addressTRX balance in TRX and USD, USDT/USDC holdings, creation and last-activity time, recent token transfers, and whether Tether has frozen the address.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    TRX balance in TRX and USD, USDT/USDC holdings, creation and last-activity time, recent token transfers, and whether Tether has frozen the address. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • username_scannerOne username checked across Substack, TikTok, Instagram, Snapchat, Telegram, GitHub, PayPal, Discord and Facebook at once: which platforms it exists on, each public profile (name, …Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    One username checked across Substack, TikTok, Instagram, Snapchat, Telegram, GitHub, PayPal, Discord and Facebook at once: which platforms it exists on, each public profile (name, followers, verified, URL), and how many records mention it. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • vin_decodeWhat a Vehicle Identification Number says about a vehicle (make, model, year, body, engine, plant) plus the safety recalls for that make, model and year.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    What a Vehicle Identification Number says about a vehicle (make, model, year, body, engine, plant) plus the safety recalls for that make, model and year. No owner or registration data. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • whatsapp_businessWhether a phone number has a public WhatsApp Business profile, with its business name, photo and official-business badge.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Whether a phone number has a public WhatsApp Business profile, with its business name, photo and official-business badge. Personal accounts are never exposed. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
Only reads 16Show 16 read-only tools
  • discord_lookupLook up a Discord invite code, or a numeric user, bot or server ID: server name, member counts, server tag, inviter, creation date and invite expiry.Reads text others writeNo findings

    Why it is in this group

    • The name "discord_lookup" says "lookup": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Look up a Discord invite code, or a numeric user, bot or server ID: server name, member counts, server tag, inviter, creation date and invite expiry. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • http_getFetch any URL through our proxy and return the status, response headers and body (text bodies up to 128 KB).Reads text others writeCan send data outNo findings

    Why it is in this group

    • The name "http_get" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • untrusted-inputThe name "http_get" says "get" and "http": it reads web pages, which anyone can write.
    • untrusted-inputThe description's first sentence says "fetch" and "url": it reads web pages, which anyone can write.
    • untrusted-inputThe input takes a URL (input.url), and the tool reads it: it reads web pages, which anyone can write.
    • outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.

    Claude Code: ask, because it is tagged outbound.

    Description, as the server wrote it
    Fetch any URL through our proxy and return the status, response headers and body (text bodies up to 128 KB). The request leaves from the proxy network, not the caller. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • ip_lookupNetwork owner, range and country, plus open ports, detected software, hostnames and known CVEs from public internet-scan data.Reads text others writeNo findings

    Why it is in this group

    • The name "ip_lookup" says "lookup": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • untrusted-inputThe description's first sentence says "internet": it reads web pages, which anyone can write.
    Description, as the server wrote it
    Network owner, range and country, plus open ports, detected software, hostnames and known CVEs from public internet-scan data. Nothing is sent to the address. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • npi_lookupUS healthcare providers by NPI number or name: provider type, specialties, licences, practice addresses and phone numbers.Reads text others writeNo findings

    Why it is in this group

    • The name "npi_lookup" says "lookup": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    US healthcare providers by NPI number or name: provider type, specialties, licences, practice addresses and phone numbers. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • onion_grabFetch a .onion page over Tor and return its status, title, visible text and links (text only, no images).Reads text others writeCan send data outNo findings

    Why it is in this group

    • The description's first verb is "fetch": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • untrusted-inputThe input takes a URL (input.url), and the tool reads it: it reads web pages, which anyone can write.
    • outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.

    Claude Code: ask, because it is tagged outbound.

    Description, as the server wrote it
    Fetch a .onion page over Tor and return its status, title, visible text and links (text only, no images). Given a clearnet URL instead, returns every .onion address that page links to or mentions. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • paypal_usernameResolve a paypal.me handle to the public profile behind it: display name, first and last name, profile and cover photo.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "resolve": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Resolve a paypal.me handle to the public profile behind it: display name, first and last name, profile and cover photo. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • phone_lookupValidate a phone number against its country's numbering plan: validity, number type, region, location and the carrier the range was allocated to (not a live network query).Reads text others writeNo findings

    Why it is in this group

    • The name "phone_lookup" says "lookup": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Validate a phone number against its country's numbering plan: validity, number type, region, location and the carrier the range was allocated to (not a live network query). Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • substack_lookupPublic Substack profile for a handle, profile link or name: bio, photo, follower and subscriber counts, the publications they run, and the ones they subscribe to (paid or free).Reads text others writeNo findings

    Why it is in this group

    • The name "substack_lookup" says "lookup": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Public Substack profile for a handle, profile link or name: bio, photo, follower and subscriber counts, the publications they run, and the ones they subscribe to (paid or free). Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • tiktok_usernameResolve a TikTok handle to its public profile: display name, bio, avatar, verification, follower, like and video counts, and the permanent user ID.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "resolve": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Resolve a TikTok handle to its public profile: display name, bio, avatar, verification, follower, like and video counts, and the permanent user ID. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • uk_company_lookupA UK company from the Companies House register, by company number or name: status, type, incorporation date, registered office, SIC codes, previous names, accounts and confirmation…Reads text others writeNo findings

    Why it is in this group

    • The name "uk_company_lookup" says "lookup": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    A UK company from the Companies House register, by company number or name: status, type, incorporation date, registered office, SIC codes, previous names, accounts and confirmation-statement dates, officers (with month and year of birth, nationality and occupation), persons with significant control, charges and recent filings. A name returns the best match plus other matches. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • us_company_lookupA US company that files with the SEC, by name, stock ticker or CIK: tickers, EIN, state of incorporation, industry, addresses, former names, headline annual financials, the people …Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "us_company_lookup" says "lookup": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "file": it reads files.
    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    A US company that files with the SEC, by name, stock ticker or CIK: tickers, EIN, state of incorporation, industry, addresses, former names, headline annual financials, the people named on its latest Form D private offering with the amount raised, and recent filings. A name returns the best match plus other matches. Without an API key: $0.05 USDC per successful call via x402 (Base or Solana).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

500 paths in this server alone from private data, through text someone else wrote, to a way out. Denying 2 private-data tools breaks every one.

Reads private data2
Reads files, mail, messages, databases, secrets, calendars or repositories.
Reads text others write50
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out5
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
deny to break every path
{
  "permissions": {
    "deny": [
      "mcp__osint__facebook_name_search",
      "mcp__osint__us_company_lookup"
    ]
  }
}

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Findings

Matches of fixed checks, with the text they matched.

2 warn1 info
  • The server marks "http_screenshot" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "http_screenshot" says "screenshot": a word for reading.

    What this check looks for
  • Warnbr_ddd

    The server marks "br_ddd" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":true}; The input takes a statement or command to run (input.code), which can change anything it can reach.

    What this check looks for
  • The description mentions "credentials".

    Matched text

    description: "...software, AI-generation traces and C2PA credentials, plus every EXIF, XMP, IPTC and maker-n..."

    What this check looks for

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http osint https://osint.foundation/api/mcp --header 'Authorization: <your-authorization>'
claude mcp add --transport http osint https://osint.foundation/api/mcp --header 'Authorization: <your-authorization>'

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__osint__tiktok_username",
      "mcp__osint__google_maps_search",
      "mcp__osint__facebook_name_search",
      "mcp__osint__instagram_name_search",
      "mcp__osint__paypal_username",
      "mcp__osint__substack_lookup",
      "mcp__osint__uk_company_lookup",
      "mcp__osint__uk_officer_search",
      "mcp__osint__us_company_lookup",
      "mcp__osint__discord_lookup",
      "mcp__osint__phone_lookup",
      "mcp__osint__ip_lookup",
      "mcp__osint__npi_lookup",
      "mcp__osint__discord_server_search"
    ],
    "ask": [
      "mcp__osint__http_get",
      "mcp__osint__onion_grab",
      "mcp__osint__domain_urls",
      "mcp__osint__cve_exploit",
      "mcp__osint__domain_ips",
      "mcp__osint__http_screenshot",
      "mcp__osint__domain_emails",
      "mcp__osint__domain_whois",
      "mcp__osint__username_scanner",
      "mcp__osint__facebook_profile",
      "mcp__osint__instagram_profile",
      "mcp__osint__snapchat_username",
      "mcp__osint__telegram_username",
      "mcp__osint__github_user",
      "mcp__osint__discord_username",
      "mcp__osint__discord_tag",
      "mcp__osint__whatsapp_business",
      "mcp__osint__gravatar_email",
      "mcp__osint__image_metadata",
      "mcp__osint__ip_geolocation",
      "mcp__osint__ip_reputation",
      "mcp__osint__btc_address",
      "mcp__osint__eth_address",
      "mcp__osint__sol_address",
      "mcp__osint__tron_address",
      "mcp__osint__steam_profile",
      "mcp__osint__vin_decode",
      "mcp__osint__br_cnpj",
      "mcp__osint__br_cep",
      "mcp__osint__br_cpf",
      "mcp__osint__br_ddd",
      "mcp__osint__buy_credits",
      "mcp__osint__osint-email",
      "mcp__osint__osint-username",
      "mcp__osint__osint-phone",
      "mcp__osint__osint-domain",
      "mcp__osint__osint-origin"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as osint. Review it before you use it.

Capability tags behind 50 rules
  • mcp__osint__tiktok_username untrusted-input
  • mcp__osint__http_get untrusted-input, outbound
  • mcp__osint__onion_grab untrusted-input, outbound
  • mcp__osint__domain_urls untrusted-input
  • mcp__osint__cve_exploit untrusted-input
  • mcp__osint__domain_ips untrusted-input
  • mcp__osint__http_screenshot untrusted-input, outbound
  • mcp__osint__domain_emails untrusted-input
  • mcp__osint__domain_whois untrusted-input
  • mcp__osint__username_scanner untrusted-input
  • mcp__osint__google_maps_search untrusted-input
  • mcp__osint__facebook_profile untrusted-input
  • mcp__osint__facebook_name_search private-data, untrusted-input
  • mcp__osint__instagram_name_search untrusted-input
  • mcp__osint__instagram_profile untrusted-input
  • mcp__osint__snapchat_username untrusted-input
  • mcp__osint__telegram_username untrusted-input
  • mcp__osint__github_user untrusted-input
  • mcp__osint__paypal_username untrusted-input
  • mcp__osint__substack_lookup untrusted-input
  • mcp__osint__uk_company_lookup untrusted-input
  • mcp__osint__uk_officer_search untrusted-input
  • mcp__osint__us_company_lookup private-data, untrusted-input
  • mcp__osint__discord_lookup untrusted-input
  • mcp__osint__discord_username untrusted-input
  • mcp__osint__discord_tag untrusted-input
  • mcp__osint__phone_lookup untrusted-input
  • mcp__osint__whatsapp_business untrusted-input
  • mcp__osint__gravatar_email untrusted-input
  • mcp__osint__image_metadata untrusted-input, outbound
  • mcp__osint__ip_lookup untrusted-input
  • mcp__osint__ip_geolocation untrusted-input
  • mcp__osint__ip_reputation untrusted-input
  • mcp__osint__btc_address untrusted-input
  • mcp__osint__eth_address untrusted-input
  • mcp__osint__sol_address untrusted-input
  • mcp__osint__tron_address untrusted-input
  • mcp__osint__steam_profile untrusted-input
  • mcp__osint__npi_lookup untrusted-input
  • mcp__osint__vin_decode untrusted-input
  • mcp__osint__br_cnpj untrusted-input
  • mcp__osint__br_cep untrusted-input
  • mcp__osint__br_cpf untrusted-input
  • mcp__osint__br_ddd untrusted-input
  • mcp__osint__discord_server_search untrusted-input
  • mcp__osint__osint-email untrusted-input
  • mcp__osint__osint-username untrusted-input
  • mcp__osint__osint-phone untrusted-input, outbound
  • mcp__osint__osint-domain untrusted-input
  • mcp__osint__osint-origin untrusted-input

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/foundation.osint/osint/verify?hash=a700e2585447f40a1174042cfd42b51440c7c384285156cd95cadc24e41c6d42" | jq -e '.changed == false'

Pinned hash a700e2585447, from Oct 25, 2026, 23:18 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/foundation.osint/osint/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for foundation.osint/osint
[![anlyon.dev](https://anlyon.dev/badge/foundation.osint/osint.svg)](https://anlyon.dev/servers/foundation.osint/osint)

Source: MCP Registry. Synced Oct 25, 2026, 23:17 UTC.