MCP server for BeVigil OSINT API
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Topics declared
- ✓Documented (README)
claude mcp add bevigil -- npx -y bevigil-mcp-server{
"mcpServers": {
"bevigil": {
"command": "npx",
"args": ["-y", "bevigil-mcp-server"],
"env": {
"BEVIGIL_API_KEY": "<bevigil_api_key>"
}
}
}
}BEVIGIL_API_KEYMCP Servers overview
# BeVigil MCP Server
[](https://www.npmjs.com/package/bevigil-mcp-server)
[](https://github.com/santhosh-005/bevigil-mcp-server/actions/workflows/ci.yml)
[](LICENSE)
[](https://m8ven.ai/mcp/santhosh-005-bevigil-mcp-server-aeitl1)
**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.
---
## Quick start (2 minutes)
### 1. Get a free API key
Sign up at **[bevigil.com/osint-api](https://bevigil.com/osint-api)**. Free accounts
get 25 credits, or 200 if you register with a work email. One lookup = one credit.
### 2. Add the server
No clone, no build — `npx` fetches and runs it.
<details open>
<summary><b>Claude Code</b></summary>
```bash
claude mcp add bevigil -e BEVIGIL_API_KEY=your_key_here -- npx -y bevigil-mcp-server
```
Check it registered with `claude mcp list`.
</details>
<details>
<summary><b>Claude Desktop</b></summary>
Edit `claude_desktop_config.json` (Settings → Developer → Edit Config):
```json
{
"mcpServers": {
"bevigil": {
"command": "npx",
"args": ["-y", "bevigil-mcp-server"],
"env": { "BEVIGIL_API_KEY": "your_key_here" }
}
}
}
```
Restart Claude Desktop.
</details>
<details>
<summary><b>Codex</b></summary>
```bash
codex mcp add bevigil --env BEVIGIL_API_KEY=your_key_here -- npx -y bevigil-mcp-server
```
Check it registered with `codex mcp list`.
</details>
<details>
<summary><b>Cursor</b></summary>
Add to `~/.cursor/mcp.json` (global) or `.cursor/mcp.json` (project):
```json
{
"mcpServers": {
"bevigil": {
"command": "npx",
"args": ["-y", "bevigil-mcp-server"],
"env": { "BEVIGIL_API_KEY": "your_key_here" }
}
}
}
```
</details>
<details>
<summary><b>VS Code (Copilot)</b></summary>
Add to your VS Code MCP settings:
```json
{
"mcp": {
"servers": {
"bevigil": {
"command": "npx",
"args": ["-y", "bevigil-mcp-server"],
"env": { "BEVIGIL_API_KEY": "your_key_here" }
}
}
}
}
```
</details>
### 3. Ask your first question
> **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:
```
# Investigation Report: com.whatsapp
Source: BeVigil OSINT API
## Hosts / Domains (155 found)
• osaka.nyc3.cdn.digitaloceanspaces.com
• s3.getstickerpack.com
• logger.instagram.com
• dev503.prn2.facebook.com
...
```
That's it — you're doing OSINT from the chat window.
---
## What you can ask
**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.com` from BeVigil and flag anything that looks like
> dev, staging, or internal.
**Hunt for exposed storage**
> What S3 buckets does `com.acme.mobile` reference?
**Build a target-specific fuzzing wordlist**
> Pull the BeVigil wordlist for `com.acme.mobile` and save the API paths to
> `paths.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.
---
## Tools
| 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 |
### Pagination
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:
```
Hosts for com.whatsapp (155 found)
Source: BeVigil OSINT (package: com.whatsapp)
Showing 1-100 of 155.
For the next page, call this tool again with offset=100.
```
### Credits
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.
### Apps that aren't indexed yet
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:
```
"com.acme.mobile" is not in BeVigil's index, so there is no data to return.
To add it, upload the APK at https://bevigil.com/scanApp. BeVigil scans the app
and indexes the assets it finds, after which this tool will return them.
```
This is deliberately distinguished from "app is indexed but has no S3 buckets" —
only the first case is something you can act on.
---
## Configuration reference
### API key
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:
```bash
export BEVIGIL_API_KEY=your_api_key_here
```
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.
### Running from source
For local development, or to pin a specific commit:
```bash
git clone https://github.com/santhosh-005/bevigil-mcp-server.git
cd bevigil-mcp-server
npm install
npm run build
```
Then point your client at the built entry point instead of `npx`:
```bash
claude mcp add bevigil -e BEVIGIL_API_KEY=your_key_here -- node /absolute/path/to/bevigil-mcp-server/build/index.js
```
**Requirements:** Node.js 20.12+, a BeVigil API key, and an MCP-compatible client.
---
## How it works
```
MCP Client → BeVigil MCP Server → osint.bevigil.com
· Zod input validation
· pagination + truncation
· error normalisation
```
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:**
- **Seven task-shaped tools**, not raw endpoint wrappers — each maps to something
a researcher actually wants.
- **Paginated results** with next-offset hints, so large result sets stay reachable
without flooding the context window.
- **Concurrent lookups** in the investigation workflow.
- **Partial failure handling** — a broken lookup doesn't sink the whole report.
- **Findings are labelled observed data**, never asserted as vulnerabilities. A
bucket name is a lead, not a finding.
---
## Limitations
- **Mobile app data only** — this reflects what's embedded in Android app code, not
DNS enumeration or internet-wide scanning. Use it alongside your usual tooling,
not instead of it.
- **Index-only coverage** — only apps BeVigil has scanned. Unindexed apps can be
submitted at [bevigil.com/scanApp](https://bevigil.com/scanApp).
- **No app search** — you need a package ID or domain up front; there's no
endpoint to discover apps by name.
- **Limited app metadata** — reverse hostname lookups return app name and version;
otherwise you get security-relevant assets only.
- **Data freshness** — results reflect BeVigil's most recent scan of each app,
which may not be current.
- **Credit-based** — see [Credits](#credits) above.
---
## Security
- API keys are read from the environment (or a package-root `.env`) — never
hardcoded, never logged
- Error messages never expose credentials, and a test asserts this
- The server only talks to known BeVigil endpoints — no arbitrary URL fetching
- Path parameters are URL-encoded, so a crafted package ID can't escape the
intended endpoint
- All tool inputs are validated with Zod schemas
- Request timeouts prevent hanging connections
- Page sizes are bounded (max 500) to prevent context overflow
- A pre-commit hook and a CI job both check that no credential reaches the repo
- Every tool is annotated read-only and non-destructive — nothing this server
exposes can modify data
- No telemetry, no analytics, no stored queries — see [PRIVACY.md](PRIVACY.md)
**Use 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.
---
## Development
```bash
npm install
npm test # typecheck + full suite
npm run lint # typecheck only
npm run build
```
Tests use Node's built-in runner with mocked API responses — no live calls, no
credits spent. Coverage spans the API client (auth headers, every HTTP error path,
timeouts, malformed and enveloped responses, and a check that errors never leak the
key) and all seven tool handlers, including the investigation workfWhat people ask about bevigil-mcp-server
What is santhosh-005/bevigil-mcp-server?
+
santhosh-005/bevigil-mcp-server is mcp servers for the Claude AI ecosystem. MCP server for BeVigil OSINT API It has 1 GitHub stars and its last recorded update is dated 2026-08-18.
How do I install bevigil-mcp-server?
+
You can install bevigil-mcp-server by cloning the repository (https://github.com/santhosh-005/bevigil-mcp-server) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is santhosh-005/bevigil-mcp-server safe to use?
+
Our security agent has analyzed santhosh-005/bevigil-mcp-server and assigned a Trust Score of 95/100 (tier: Verified). See the full breakdown of passed checks and flags on this page.
Who maintains santhosh-005/bevigil-mcp-server?
+
santhosh-005/bevigil-mcp-server is maintained by santhosh-005. The last recorded GitHub activity is dated 2026-08-18, with 0 open issues.
Are there alternatives to bevigil-mcp-server?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy bevigil-mcp-server to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/santhosh-005-bevigil-mcp-server)<a href="https://claudewave.com/repo/santhosh-005-bevigil-mcp-server"><img src="https://claudewave.com/api/badge/santhosh-005-bevigil-mcp-server" alt="Featured on ClaudeWave: santhosh-005/bevigil-mcp-server" width="320" height="64" /></a>More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
The fastest path to AI-powered full stack observability, even for lean teams.
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!