Discover mobile app attack surfaces via BeVigil OSINT β hosts, subdomains, URLs, and more.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Map a company's mobile attack surface from your AI assistant.
BeVigil has scanned millions of Android apps and extracted the infrastructure hiding
inside them β backend hosts, staging subdomains, S3 buckets, API paths, and query
parameters that never appear in DNS or search engines. This server puts that data
behind seven MCP tools, so you can ask for it in plain language instead of
stitching together curl calls.
Built for bug bounty hunters, pentesters, red teamers, and appsec engineers doing recon.
Tested with Claude Code, Claude Desktop, Codex, Cursor, and VS Code.
Sign up at bevigil.com/osint-api. Free accounts get 25 credits, or 200 if you register with a work email. One lookup = one credit.
No clone, no build β npx fetches and runs it.
Check it registered with claude mcp list.
Edit claude_desktop_config.json (Settings β Developer β Edit Config):
Restart Claude Desktop.
Check it registered with codex mcp list.
Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project):
Add to your VS Code MCP settings:
Investigate com.whatsapp with BeVigil and summarise the infrastructure it exposes.
You should get back something like this β real hostnames pulled out of the app's code:
That's it β you're doing OSINT from the chat window.
Recon a company's mobile footprint
Which Android apps talk to
api.acme.com? Then pull the hosts out of each one.
Find staging and internal endpoints
Get subdomains for
acme.comfrom BeVigil and flag anything that looks like dev, staging, or internal.
Hunt for exposed storage
What S3 buckets does
com.acme.mobilereference?
Build a target-specific fuzzing wordlist
Pull the BeVigil wordlist for
com.acme.mobileand save the API paths topaths.txt.
Pivot from a single domain
Find apps referencing
acme.com, then investigate the three most interesting ones and tell me which backends they share.
The last one is where an agent earns its keep β that's a dozen API calls and a correlation pass that you'd otherwise do by hand.
| Tool | Input | Returns |
|---|---|---|
bevigil_get_hosts | package ID | Hostnames found in an app's code |
bevigil_get_subdomains | domain | Subdomains seen across indexed apps |
bevigil_get_urls | domain | Full URLs referenced by apps |
bevigil_get_s3_buckets | package ID | S3 buckets referenced in an app |
bevigil_get_app_packages | hostname | Reverse lookup β apps using that host |
bevigil_get_wordlist | package ID | Paths, endpoints, and params for fuzzing |
bevigil_investigate_app | package ID | Hosts + S3 + params + wordlist in one report |
Every list-returning tool takes optional limit and offset (default 100, max
500). When results are truncated the response says so and gives the exact offset
to continue from:
Responses are not cached. Every tool call β including each extra page β is one
API request and one credit. bevigil_investigate_app makes four calls per run, so
it costs four. When credits run out you get a clear message rather than a silent
empty result.
BeVigil only answers for apps it has already scanned. If a package isn't in the index, the tools tell you how to fix that:
This is deliberately distinguished from "app is indexed but has no S3 buckets" β only the first case is something you can act on.
Preferred: set it in your MCP client config (as shown in the quick start), which passes it to the server as an environment variable. For shell use:
A .env file in the package root also works. Note that it's resolved relative
to the installed package rather than your working directory, since MCP clients
launch servers from arbitrary places. Real environment variables always win over
.env, and .env is gitignored β never commit it.
For local development, or to pin a specific commit:
Then point your client at the built entry point instead of npx:
Requirements: Node.js 20.12+, a BeVigil API key, and an MCP-compatible client.
The server is a thin, well-defended layer: it validates inputs, keeps responses inside a sensible context budget, and turns the API's several different ways of saying "nothing here" into one consistent, actionable message.
Design decisions worth knowing about:
.env) β never
hardcoded, never loggedUse responsibly. This tool queries a public OSINT database. What you do with the results is your responsibility β only test systems you're authorised to test.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/bevigil-osint)<a href="https://allmcps.com/mcp/bevigil-osint"><img src="https://allmcps.com/api/badge/bevigil-osint?style=directory" alt="BeVigil OSINT on AllMCPs" /></a>