@sentinelsup/mcp 0.1.5 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/index.js +3 -3
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@ Look up limited public IP intelligence — cloud-hosting ranges and Tor exit nod
|
|
|
11
11
|
|
|
12
12
|
## Setup
|
|
13
13
|
|
|
14
|
-
Grab a free API key at [maskbreak.com/signup](https://maskbreak.com/signup) (
|
|
14
|
+
Grab a free API key at [maskbreak.com/signup](https://maskbreak.com/signup) (the Free plan includes 100,000 IP lookups a month, no card; paid plans from €29 a month raise it). Keyless mode uses the free web-tool endpoint, limited to 12 lookups/minute and 80/day per caller IP. Additional endpoint and abuse-protection limits can apply.
|
|
15
15
|
|
|
16
16
|
Neither mode performs a browser visit. VPN/proxy and device evidence require a browser-SDK-backed `/v1/evaluate` request outside these tools; service names are available only when known. Unknown IPs, false signals and `allow` verdicts are not proof of safety.
|
|
17
17
|
|
|
@@ -66,7 +66,7 @@ Illustrative unknown-IP response, not a live lookup:
|
|
|
66
66
|
|
|
67
67
|
| Variable | Required | Default | Purpose |
|
|
68
68
|
|----------|----------|---------|---------|
|
|
69
|
-
| `MASKBREAK_API_KEY` | recommended | — | API key from your [dashboard](https://maskbreak.com/dashboard); unlocks
|
|
69
|
+
| `MASKBREAK_API_KEY` | recommended | — | API key from your [dashboard](https://maskbreak.com/dashboard); unlocks your plan's lookup allowance (100,000 a month on the Free plan). Since v0.1.5; the older `SENTINEL_API_KEY` name is still read |
|
|
70
70
|
| `SENTINEL_BASE_URL` | no | `https://maskbreak.com` | Override for testing |
|
|
71
71
|
|
|
72
72
|
## Failures and local checks
|
package/index.js
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
// Claude Desktop, Cursor, ...). One stdio server, two tools.
|
|
4
4
|
//
|
|
5
5
|
// With MASKBREAK_API_KEY set (the older SENTINEL_API_KEY still works), lookups
|
|
6
|
-
// go through the authenticated API (GET /v1/lookup/{ip}
|
|
7
|
-
//
|
|
6
|
+
// go through the authenticated API (GET /v1/lookup/{ip}; 100,000 lookups a month
|
|
7
|
+
// on the Free plan). Without a key they fall back to the free web-tool endpoint,
|
|
8
8
|
// which is fine for trying it out but rate-limited to a handful of lookups
|
|
9
9
|
// per minute.
|
|
10
10
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
@@ -42,7 +42,7 @@ async function requestJson(path, init = {}, keylessLookup = false) {
|
|
|
42
42
|
}
|
|
43
43
|
if (!res.ok) {
|
|
44
44
|
const hint = keylessLookup && res.status === 429
|
|
45
|
-
? ' (keyless mode is tightly rate-limited — set MASKBREAK_API_KEY for
|
|
45
|
+
? ' (keyless mode is tightly rate-limited — set MASKBREAK_API_KEY for 100,000 lookups a month on the Free plan; free key at https://maskbreak.com/signup)'
|
|
46
46
|
: '';
|
|
47
47
|
throw new Error(`${data?.error || `HTTP ${res.status}`}${hint}`);
|
|
48
48
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sentinelsup/mcp",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"mcpName": "
|
|
3
|
+
"version": "0.1.7",
|
|
4
|
+
"mcpName": "com.maskbreak/mcp",
|
|
5
5
|
"description": "MCP server for Maskbreak — look up public cloud-hosting and Tor IP signals, with limited reputation evidence and API status, from an MCP client.",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"mcp",
|