SML Risk Firewall
Pre-trade risk checks for agent trades: orders vs your limits, signed receipts.
作者提供的说明(英文原文)
Discover mobile app attack surfaces via BeVigil OSINT — hosts, subdomains, URLs, and more.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
BEVIGIL_API_KEY标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"bevigil": {
"command": "npx",
"args": [
"-y",
"bevigil-mcp-server"
],
"env": {
"BEVIGIL_API_KEY": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add bevigil --env BEVIGIL_API_KEY=your-value -- npx -y bevigil-mcp-server运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"bevigil": {
"command": "npx",
"args": [
"-y",
"bevigil-mcp-server"
],
"env": {
"BEVIGIL_API_KEY": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"bevigil": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"bevigil-mcp-server"
],
"env": {
"BEVIGIL_API_KEY": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 santhosh-005 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:BEVIGIL_API_KEY
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(1.1.0)于3个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:SML Risk Firewall, ipdata MCP by usefulapi, MaxMind minFraud MCP by usefulapi
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Pre-trade risk checks for agent trades: orders vs your limits, signed receipts.
Look up location, network, company and threat data for IP addresses and ASNs in ipdata.
MCP server for MaxMind minFraud — score transactions for fraud risk from your AI assistant.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
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](https://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.
Claude Code
claude mcp add bevigil -e BEVIGIL_API_KEY=your_key_here -- npx -y bevigil-mcp-server
Check it registered with claude mcp list.
Claude Desktop
Edit claude_desktop_config.json (Settings → Developer → Edit Config):
{
"mcpServers": { "bevigil": { "command": "npx", "args": ["-y", "bevigil-mcp-server"], "env": { "BEVIGIL_API_KEY": "your_key_here" } } } }
Restart Claude Desktop.
Codex
codex mcp add bevigil --env BEVIGIL_API_KEY=your_key_here -- npx -y bevigil-mcp-server
Check it registered with codex mcp list.
Cursor
Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project):
{
"mcpServers": { "bevigil": { "command": "npx", "args": ["-y", "bevigil-mcp-server"], "env": { "BEVIGIL_API_KEY": "your_key_here" } } } }
</details>
VS Code (Copilot)
Add to your VS Code MCP settings:
{
"mcp": { "servers": { "bevigil": { "command": "npx", "args": ["-y", "bevigil-mcp-server"], "env": { "BEVIGIL_API_KEY": "your_key_here" } } } } }
</details>
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
• 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.
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 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.
| 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:
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.
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:
"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.
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:
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.
For local development, or to pin a specific commit:
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:
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.
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:
.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.
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 workflow's partial-failure behaviour. A registration contract test also asserts that every tool declares an input schema and all four MCP behaviour hints.
To enable the pre-commit hook that blocks committing credentials:
git config core.hooksPath .githooks
It refuses any commit that stages a .env file or puts a non-placeholder value in .env.example, and runs gitleaks on staged changes when installed.
Project structure
├── src/
│ ├── index.ts # MCP server entry point │ ├── bevigil-client.ts # API client (auth, errors, timeouts, envelopes) │ ├── types.ts # Shared types, pagination, output helpers │ └── tools/ # One file per MCP tool ├── tests/ │ ├── bevigil-client.test.ts │ ├── tools.test.ts │ └── fixtures/responses.ts ├── .github/workflows/ci.yml # Typecheck, build, test, secret scan ├── .githooks/pre-commit # Blocks committing credentials └── server.json # MCP Registry metadata
</details>
Issues and PRs welcome — bug reports, new BeVigil endpoints, and client configurations for MCP hosts not listed above are all useful.
MIT — see LICENSE. Privacy policy: PRIVACY.md.
Not affiliated with or endorsed by CloudSEK. BeVigil is a CloudSEK product; this is an independent open-source client for their public OSINT API.