@sentinelsup/mcp 0.1.4 → 0.1.6

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.
Files changed (3) hide show
  1. package/README.md +4 -4
  2. package/index.js +9 -6
  3. package/package.json +2 -2
package/README.md CHANGED
@@ -18,7 +18,7 @@ Neither mode performs a browser visit. VPN/proxy and device evidence require a b
18
18
  ### Claude Code
19
19
 
20
20
  ```bash
21
- claude mcp add sentinel -e SENTINEL_API_KEY=sk_live_your_key -- npx -y @sentinelsup/mcp
21
+ claude mcp add sentinel -e MASKBREAK_API_KEY=sk_live_your_key -- npx -y @sentinelsup/mcp
22
22
  ```
23
23
 
24
24
  ### Claude Desktop
@@ -31,7 +31,7 @@ Add to `claude_desktop_config.json`:
31
31
  "sentinel": {
32
32
  "command": "npx",
33
33
  "args": ["-y", "@sentinelsup/mcp"],
34
- "env": { "SENTINEL_API_KEY": "sk_live_your_key" }
34
+ "env": { "MASKBREAK_API_KEY": "sk_live_your_key" }
35
35
  }
36
36
  }
37
37
  }
@@ -39,7 +39,7 @@ Add to `claude_desktop_config.json`:
39
39
 
40
40
  ### Cursor / other MCP clients
41
41
 
42
- Any client that speaks stdio MCP works the same way: command `npx`, args `["-y", "@sentinelsup/mcp"]`, env `SENTINEL_API_KEY`.
42
+ Any client that speaks stdio MCP works the same way: command `npx`, args `["-y", "@sentinelsup/mcp"]`, env `MASKBREAK_API_KEY`.
43
43
 
44
44
  ### Hosted endpoint (no install)
45
45
 
@@ -66,7 +66,7 @@ Illustrative unknown-IP response, not a live lookup:
66
66
 
67
67
  | Variable | Required | Default | Purpose |
68
68
  |----------|----------|---------|---------|
69
- | `SENTINEL_API_KEY` | recommended | — | API key from your [dashboard](https://maskbreak.com/dashboard); unlocks 1,000 lookups/hour |
69
+ | `MASKBREAK_API_KEY` | recommended | — | API key from your [dashboard](https://maskbreak.com/dashboard); unlocks 1,000 lookups/hour. 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
@@ -2,10 +2,11 @@
2
2
  // Maskbreak MCP server — IP fraud intelligence for MCP clients (Claude Code,
3
3
  // Claude Desktop, Cursor, ...). One stdio server, two tools.
4
4
  //
5
- // With SENTINEL_API_KEY set, lookups go through the authenticated API
6
- // (GET /v1/lookup/{ip}, 1,000 req/hr on the free tier). Without a key they
7
- // fall back to the free web-tool endpoint, which is fine for trying it out
8
- // but rate-limited to a handful of lookups per minute.
5
+ // With MASKBREAK_API_KEY set (the older SENTINEL_API_KEY still works), lookups
6
+ // go through the authenticated API (GET /v1/lookup/{ip}, 1,000 req/hr on the
7
+ // free tier). Without a key they fall back to the free web-tool endpoint,
8
+ // which is fine for trying it out but rate-limited to a handful of lookups
9
+ // per minute.
9
10
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
10
11
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
11
12
  import { z } from 'zod';
@@ -18,7 +19,9 @@ const { version: VERSION } = JSON.parse(
18
19
  );
19
20
 
20
21
  const BASE = (process.env.SENTINEL_BASE_URL || 'https://maskbreak.com').replace(/\/+$/, '');
21
- const API_KEY = process.env.SENTINEL_API_KEY || '';
22
+ // MASKBREAK_API_KEY is the name every doc surface uses; SENTINEL_API_KEY is
23
+ // the older name, still read so existing client configs keep working.
24
+ const API_KEY = process.env.MASKBREAK_API_KEY || process.env.SENTINEL_API_KEY || '';
22
25
  const TIMEOUT_MS = 5000;
23
26
 
24
27
  async function requestJson(path, init = {}, keylessLookup = false) {
@@ -39,7 +42,7 @@ async function requestJson(path, init = {}, keylessLookup = false) {
39
42
  }
40
43
  if (!res.ok) {
41
44
  const hint = keylessLookup && res.status === 429
42
- ? ' (keyless mode is tightly rate-limited — set SENTINEL_API_KEY for 1,000 lookups/hour; free key at https://maskbreak.com/signup)'
45
+ ? ' (keyless mode is tightly rate-limited — set MASKBREAK_API_KEY for 1,000 lookups/hour; free key at https://maskbreak.com/signup)'
43
46
  : '';
44
47
  throw new Error(`${data?.error || `HTTP ${res.status}`}${hint}`);
45
48
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sentinelsup/mcp",
3
- "version": "0.1.4",
4
- "mcpName": "io.github.sentinelsup/maskbreak-mcp",
3
+ "version": "0.1.6",
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",