@apitap/core 1.0.3 → 1.0.5
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 +3 -3
- package/dist/capture/scrubber.js +6 -0
- package/dist/capture/scrubber.js.map +1 -1
- package/dist/mcp.js +38 -65
- package/dist/mcp.js.map +1 -1
- package/dist/serve.js +2 -1
- package/dist/serve.js.map +1 -1
- package/package.json +1 -1
- package/src/capture/scrubber.ts +8 -0
- package/src/mcp.ts +38 -65
- package/src/serve.ts +2 -1
package/README.md
CHANGED
|
@@ -118,11 +118,11 @@ ApiTap includes a text-mode browsing pipeline — `peek` and `read` — that let
|
|
|
118
118
|
|
|
119
119
|
| Site | Decoder | Typical Tokens | vs Raw HTML |
|
|
120
120
|
|------|---------|----------------|-------------|
|
|
121
|
-
| Reddit | `reddit` | ~
|
|
121
|
+
| Reddit | `reddit` | ~627 | 93% smaller |
|
|
122
122
|
| YouTube | `youtube` | ~36 | 99% smaller |
|
|
123
123
|
| Wikipedia | `wikipedia` | ~127 | 97% smaller |
|
|
124
124
|
| Hacker News | `hackernews` | ~200 | 90% smaller |
|
|
125
|
-
| Grokipedia | `grokipedia` | ~150 |
|
|
125
|
+
| Grokipedia | `grokipedia` | ~150–5000+ | varies by article length |
|
|
126
126
|
| Twitter/X | `twitter` | ~80 | 95% smaller |
|
|
127
127
|
| Any other site | `generic` | varies | ~74% avg |
|
|
128
128
|
|
|
@@ -135,7 +135,7 @@ apitap peek https://reddit.com/r/programming
|
|
|
135
135
|
|
|
136
136
|
# Extract content — no browser needed
|
|
137
137
|
apitap read https://reddit.com/r/programming
|
|
138
|
-
✓ Reddit decoder: 12 posts, ~
|
|
138
|
+
✓ Reddit decoder: 12 posts, ~627 tokens
|
|
139
139
|
|
|
140
140
|
# Works for any URL — falls back to generic HTML extraction
|
|
141
141
|
apitap read https://example.com/blog/post
|
package/dist/capture/scrubber.js
CHANGED
|
@@ -11,6 +11,9 @@ const IPV4_RE = /\b(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\b/g;
|
|
|
11
11
|
const CARD_RE = /\b\d{4}[- ]?\d{4}[- ]?\d{4}[- ]?\d{4}\b/g;
|
|
12
12
|
// US SSN: 123-45-6789
|
|
13
13
|
const SSN_RE = /\b\d{3}-\d{2}-\d{4}\b/g;
|
|
14
|
+
// Auth tokens
|
|
15
|
+
const BEARER_TOKEN_RE = /\bBearer\s+[A-Za-z0-9._~+/-]+=*\b/g;
|
|
16
|
+
const JWT_RE = /\beyJ[a-zA-Z0-9_-]+\.[a-zA-Z0-9_-]+\.[a-zA-Z0-9_-]+\b/g;
|
|
14
17
|
/**
|
|
15
18
|
* Scrub PII from a string. Returns the string with PII replaced by placeholders.
|
|
16
19
|
* Order matters: SSN before phone (SSN is more specific).
|
|
@@ -33,6 +36,9 @@ export function scrubPII(input) {
|
|
|
33
36
|
// Phone (international, then US)
|
|
34
37
|
result = result.replace(PHONE_INTL_RE, '[phone]');
|
|
35
38
|
result = result.replace(PHONE_US_RE, '[phone]');
|
|
39
|
+
// Auth tokens
|
|
40
|
+
result = result.replace(BEARER_TOKEN_RE, '[token]');
|
|
41
|
+
result = result.replace(JWT_RE, '[token]');
|
|
36
42
|
return result;
|
|
37
43
|
}
|
|
38
44
|
//# sourceMappingURL=scrubber.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scrubber.js","sourceRoot":"","sources":["../../src/capture/scrubber.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAE1B,0BAA0B;AAC1B,MAAM,QAAQ,GAAG,iDAAiD,CAAC;AAEnE,2CAA2C;AAC3C,MAAM,aAAa,GAAG,kBAAkB,CAAC;AAEzC,mFAAmF;AACnF,MAAM,WAAW,GAAG,8DAA8D,CAAC;AAEnF,4DAA4D;AAC5D,MAAM,OAAO,GAAG,iDAAiD,CAAC;AAElE,gEAAgE;AAChE,MAAM,OAAO,GAAG,0CAA0C,CAAC;AAE3D,sBAAsB;AACtB,MAAM,MAAM,GAAG,wBAAwB,CAAC;AAExC;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAa;IACpC,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,yCAAyC;IACzC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAE7C,+DAA+D;IAC/D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEzC,eAAe;IACf,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAE3C,6BAA6B;IAC7B,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;QAC1D,MAAM,MAAM,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC;YAAE,OAAO,MAAM,CAAC;QAC/C,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,iCAAiC;IACjC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IAClD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAEhD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"scrubber.js","sourceRoot":"","sources":["../../src/capture/scrubber.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAE1B,0BAA0B;AAC1B,MAAM,QAAQ,GAAG,iDAAiD,CAAC;AAEnE,2CAA2C;AAC3C,MAAM,aAAa,GAAG,kBAAkB,CAAC;AAEzC,mFAAmF;AACnF,MAAM,WAAW,GAAG,8DAA8D,CAAC;AAEnF,4DAA4D;AAC5D,MAAM,OAAO,GAAG,iDAAiD,CAAC;AAElE,gEAAgE;AAChE,MAAM,OAAO,GAAG,0CAA0C,CAAC;AAE3D,sBAAsB;AACtB,MAAM,MAAM,GAAG,wBAAwB,CAAC;AAExC,cAAc;AACd,MAAM,eAAe,GAAG,oCAAoC,CAAC;AAC7D,MAAM,MAAM,GAAG,wDAAwD,CAAC;AAExE;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAa;IACpC,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,yCAAyC;IACzC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAE7C,+DAA+D;IAC/D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEzC,eAAe;IACf,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAE3C,6BAA6B;IAC7B,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;QAC1D,MAAM,MAAM,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC;YAAE,OAAO,MAAM,CAAC;QAC/C,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,iCAAiC;IACjC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IAClD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAEhD,cAAc;IACd,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IACpD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAE3C,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/mcp.js
CHANGED
|
@@ -13,9 +13,13 @@ import { discover } from './discovery/index.js';
|
|
|
13
13
|
import { SessionCache } from './orchestration/cache.js';
|
|
14
14
|
import { peek } from './read/peek.js';
|
|
15
15
|
import { read } from './read/index.js';
|
|
16
|
+
import { resolveAndValidateUrl } from './skill/ssrf.js';
|
|
17
|
+
import { createRequire } from 'node:module';
|
|
16
18
|
import { homedir } from 'node:os';
|
|
17
19
|
import { join } from 'node:path';
|
|
18
20
|
const APITAP_DIR = join(homedir(), '.apitap');
|
|
21
|
+
const require = createRequire(import.meta.url);
|
|
22
|
+
const { version: PACKAGE_VERSION } = require('../package.json');
|
|
19
23
|
/**
|
|
20
24
|
* Wrap response data with external content metadata.
|
|
21
25
|
* MCP clients that respect this can apply security wrappers (e.g., SECURITY NOTICE).
|
|
@@ -44,18 +48,12 @@ export function createMcpServer(options = {}) {
|
|
|
44
48
|
const sessionCache = new SessionCache();
|
|
45
49
|
const server = new McpServer({
|
|
46
50
|
name: 'apitap',
|
|
47
|
-
version:
|
|
51
|
+
version: PACKAGE_VERSION,
|
|
48
52
|
});
|
|
49
53
|
// --- apitap_search ---
|
|
50
54
|
server.registerTool('apitap_search', {
|
|
51
|
-
description: '
|
|
52
|
-
'
|
|
53
|
-
'Returns matching endpoints with replayability tiers: ' +
|
|
54
|
-
'green = public, no auth needed — safe to replay directly; ' +
|
|
55
|
-
'yellow = needs auth credentials but no signing/anti-bot; ' +
|
|
56
|
-
'orange = CSRF/session-bound, fragile replay; ' +
|
|
57
|
-
'red = anti-bot protection, needs browser. ' +
|
|
58
|
-
'If not found, use apitap_capture to capture the site first.',
|
|
55
|
+
description: 'Find captured API endpoints by domain or keyword. ' +
|
|
56
|
+
'Returns endpoints with replayability tier (green/yellow/orange/red) and endpoint IDs for replay.',
|
|
59
57
|
inputSchema: z.object({
|
|
60
58
|
query: z.string().describe('Search query — domain name, endpoint path, or keyword (e.g. "polymarket", "events", "get-markets")'),
|
|
61
59
|
}),
|
|
@@ -71,13 +69,9 @@ export function createMcpServer(options = {}) {
|
|
|
71
69
|
});
|
|
72
70
|
// --- apitap_discover ---
|
|
73
71
|
server.registerTool('apitap_discover', {
|
|
74
|
-
description: '
|
|
75
|
-
'
|
|
76
|
-
'
|
|
77
|
-
'Use this BEFORE apitap_capture to check if expensive browser-based capture is needed. ' +
|
|
78
|
-
'Returns { confidence, skillFile?, hints, frameworks?, specs?, probes? }. ' +
|
|
79
|
-
'If confidence is "high" or "medium", a skeleton skill file is generated — ' +
|
|
80
|
-
'try replaying its endpoints before resorting to capture.',
|
|
72
|
+
description: 'Probe a site\'s APIs without a browser: detects frameworks, finds OpenAPI specs, ' +
|
|
73
|
+
'probes common paths. Returns { confidence, skillFile?, frameworks?, hints }. ' +
|
|
74
|
+
'High/medium confidence generates a skeleton skill file ready to replay.',
|
|
81
75
|
inputSchema: z.object({
|
|
82
76
|
url: z.string().describe('URL to discover (e.g. "https://example.com")'),
|
|
83
77
|
}),
|
|
@@ -109,12 +103,9 @@ export function createMcpServer(options = {}) {
|
|
|
109
103
|
});
|
|
110
104
|
// --- apitap_replay ---
|
|
111
105
|
server.registerTool('apitap_replay', {
|
|
112
|
-
description: '
|
|
113
|
-
'
|
|
114
|
-
'
|
|
115
|
-
'For POST endpoints with request bodies, params can include body variable paths ' +
|
|
116
|
-
'(e.g. "variables.limit": "25" for GraphQL). ' +
|
|
117
|
-
'Returns { status, data } with the API response.',
|
|
106
|
+
description: 'Call a captured API endpoint and return live data. ' +
|
|
107
|
+
'Requires domain and endpointId from apitap_search. ' +
|
|
108
|
+
'Pass params for path variables, query params, or body variables (e.g. "variables.limit": "25" for GraphQL).',
|
|
118
109
|
inputSchema: z.object({
|
|
119
110
|
domain: z.string().describe('Domain of the API (e.g. "gamma-api.polymarket.com")'),
|
|
120
111
|
endpointId: z.string().describe('Endpoint ID from search results (e.g. "get-events", "post-graphql-GetPosts")'),
|
|
@@ -189,10 +180,8 @@ export function createMcpServer(options = {}) {
|
|
|
189
180
|
});
|
|
190
181
|
// --- apitap_replay_batch ---
|
|
191
182
|
server.registerTool('apitap_replay_batch', {
|
|
192
|
-
description: 'Replay multiple
|
|
193
|
-
'
|
|
194
|
-
'Each request gets its own result — one site failing does not affect others. ' +
|
|
195
|
-
'Returns an array of { domain, endpointId, status, data, error?, tier?, capturedAt? }.',
|
|
183
|
+
description: 'Replay multiple captured endpoints in parallel across domains. ' +
|
|
184
|
+
'Returns array of { domain, endpointId, status, data, error? } — failures are isolated per request.',
|
|
196
185
|
inputSchema: z.object({
|
|
197
186
|
requests: z.array(z.object({
|
|
198
187
|
domain: z.string().describe('Domain of the API'),
|
|
@@ -217,13 +206,8 @@ export function createMcpServer(options = {}) {
|
|
|
217
206
|
});
|
|
218
207
|
// --- apitap_browse ---
|
|
219
208
|
server.registerTool('apitap_browse', {
|
|
220
|
-
description: '
|
|
221
|
-
'
|
|
222
|
-
'and replays the best matching endpoint — all in one call. ' +
|
|
223
|
-
'Use this when you want data from a URL without manually chaining search → discover → replay. ' +
|
|
224
|
-
'Returns { success: true, data, domain, endpointId, tier } on success, ' +
|
|
225
|
-
'or { success: false, suggestion: "capture_needed" } if the site needs browser-based capture first. ' +
|
|
226
|
-
'For precise control over which endpoint to replay, use apitap_search + apitap_replay instead.',
|
|
209
|
+
description: 'Get data from a URL in one call: checks skill files, runs discovery, replays best endpoint. ' +
|
|
210
|
+
'Returns { success, data, domain, endpointId, tier } or { success: false, suggestion } if capture needed.',
|
|
227
211
|
inputSchema: z.object({
|
|
228
212
|
url: z.string().describe('URL to browse (e.g. "https://zillow.com/rentals/portland")'),
|
|
229
213
|
task: z.string().optional().describe('Optional task description (e.g. "find apartments under $1500") — passed through in response for correlation'),
|
|
@@ -252,9 +236,8 @@ export function createMcpServer(options = {}) {
|
|
|
252
236
|
});
|
|
253
237
|
// --- apitap_peek ---
|
|
254
238
|
server.registerTool('apitap_peek', {
|
|
255
|
-
description: '
|
|
256
|
-
'
|
|
257
|
-
'tokens on blocked sites. Returns { accessible, recommendation, botProtection, framework, signals }.',
|
|
239
|
+
description: 'HTTP HEAD triage of a URL — checks accessibility, bot protection, framework. ' +
|
|
240
|
+
'Returns { accessible, recommendation, botProtection, framework }.',
|
|
258
241
|
inputSchema: z.object({
|
|
259
242
|
url: z.string().describe('URL to peek at (e.g. "https://example.com")'),
|
|
260
243
|
}),
|
|
@@ -277,10 +260,8 @@ export function createMcpServer(options = {}) {
|
|
|
277
260
|
});
|
|
278
261
|
// --- apitap_read ---
|
|
279
262
|
server.registerTool('apitap_read', {
|
|
280
|
-
description: 'Extract content from a URL without a browser. Uses
|
|
281
|
-
'
|
|
282
|
-
'everything else. Returns structured JSON with clean markdown content. 0-10K tokens ' +
|
|
283
|
-
'vs 50-200K for browser automation.',
|
|
263
|
+
description: 'Extract content from a URL without a browser. Uses native APIs for Reddit/YouTube/Wikipedia/HN, ' +
|
|
264
|
+
'HTML extraction elsewhere. Returns clean markdown. ~10K tokens vs 200K for browser.',
|
|
284
265
|
inputSchema: z.object({
|
|
285
266
|
url: z.string().describe('URL to read (e.g. "https://en.wikipedia.org/wiki/TypeScript")'),
|
|
286
267
|
maxBytes: z.number().optional().describe('Maximum content size in bytes. Content is truncated to fit.'),
|
|
@@ -291,6 +272,10 @@ export function createMcpServer(options = {}) {
|
|
|
291
272
|
},
|
|
292
273
|
}, async ({ url, maxBytes }) => {
|
|
293
274
|
try {
|
|
275
|
+
const validation = await resolveAndValidateUrl(url);
|
|
276
|
+
if (!validation.safe) {
|
|
277
|
+
throw new Error(validation.reason ?? 'URL validation failed');
|
|
278
|
+
}
|
|
294
279
|
const result = await read(url, { maxBytes: maxBytes ?? undefined });
|
|
295
280
|
if (!result) {
|
|
296
281
|
return {
|
|
@@ -309,11 +294,8 @@ export function createMcpServer(options = {}) {
|
|
|
309
294
|
});
|
|
310
295
|
// --- apitap_capture ---
|
|
311
296
|
server.registerTool('apitap_capture', {
|
|
312
|
-
description: '
|
|
313
|
-
'
|
|
314
|
-
'Navigates to the URL, captures API calls for the specified duration, ' +
|
|
315
|
-
'and generates skill files for future replay. ' +
|
|
316
|
-
'Returns { domains, totalRequests, filtered, skillFiles } summary.',
|
|
297
|
+
description: 'Launch a browser to capture a site\'s API traffic and save skill files for replay. ' +
|
|
298
|
+
'Returns { domains, totalRequests, skillFiles }.',
|
|
317
299
|
inputSchema: z.object({
|
|
318
300
|
url: z.string().describe('URL to capture (e.g. "https://polymarket.com")'),
|
|
319
301
|
duration: z.number().optional().describe('Capture duration in seconds (default: 30)'),
|
|
@@ -330,7 +312,8 @@ export function createMcpServer(options = {}) {
|
|
|
330
312
|
const { promisify } = await import('node:util');
|
|
331
313
|
const execFileAsync = promisify(execFile);
|
|
332
314
|
// Use compiled dist/cli.js, not src/cli.ts (tsx is dev-only)
|
|
333
|
-
|
|
315
|
+
// Both mcp.js and cli.js compile to dist/ so path is ./cli.js not ../cli.js
|
|
316
|
+
const cliPath = new URL('./cli.js', import.meta.url).pathname;
|
|
334
317
|
const cliArgs = [cliPath, 'capture', url, '--duration', String(dur), '--json', '--no-verify'];
|
|
335
318
|
if (port)
|
|
336
319
|
cliArgs.push('--port', String(port));
|
|
@@ -352,10 +335,8 @@ export function createMcpServer(options = {}) {
|
|
|
352
335
|
});
|
|
353
336
|
// --- apitap_capture_start ---
|
|
354
337
|
server.registerTool('apitap_capture_start', {
|
|
355
|
-
description: 'Start an interactive
|
|
356
|
-
'
|
|
357
|
-
'Returns a sessionId and a page snapshot with interactive elements (buttons, links, inputs). ' +
|
|
358
|
-
'Use apitap_capture_interact to drive the browser and apitap_capture_finish to save skill files.',
|
|
338
|
+
description: 'Start an interactive capture session. Launches browser, begins capturing API traffic. ' +
|
|
339
|
+
'Returns sessionId and page snapshot. Drive with apitap_capture_interact, save with apitap_capture_finish.',
|
|
359
340
|
inputSchema: z.object({
|
|
360
341
|
url: z.string().describe('URL to navigate to (e.g. "https://polymarket.com")'),
|
|
361
342
|
headless: z.boolean().optional().describe('Run browser in headless mode (default: true)'),
|
|
@@ -394,11 +375,9 @@ export function createMcpServer(options = {}) {
|
|
|
394
375
|
});
|
|
395
376
|
// --- apitap_capture_interact ---
|
|
396
377
|
server.registerTool('apitap_capture_interact', {
|
|
397
|
-
description: '
|
|
398
|
-
'Actions: snapshot
|
|
399
|
-
'
|
|
400
|
-
'Every action returns a fresh page snapshot with updated elements and capture stats. ' +
|
|
401
|
-
'Use element refs (e.g. "e0", "e3") from the snapshot to target clicks and typing.',
|
|
378
|
+
description: 'Drive a live capture session browser. ' +
|
|
379
|
+
'Actions: snapshot, click (ref), type (ref+text), select, navigate, scroll, wait. ' +
|
|
380
|
+
'Returns updated page snapshot after each action. Use element refs (e.g. "e0") from snapshots.',
|
|
402
381
|
inputSchema: z.object({
|
|
403
382
|
sessionId: z.string().describe('Session ID from apitap_capture_start'),
|
|
404
383
|
action: z.enum(['snapshot', 'click', 'type', 'select', 'navigate', 'scroll', 'wait']).describe('Action to perform'),
|
|
@@ -445,10 +424,8 @@ export function createMcpServer(options = {}) {
|
|
|
445
424
|
});
|
|
446
425
|
// --- apitap_capture_finish ---
|
|
447
426
|
server.registerTool('apitap_capture_finish', {
|
|
448
|
-
description: 'Finish
|
|
449
|
-
'
|
|
450
|
-
'With abort: closes browser without saving. ' +
|
|
451
|
-
'Returns { aborted, domains: [{ domain, endpointCount, tiers, skillFile }] }.',
|
|
427
|
+
description: 'Finish a capture session: verifies endpoints and writes skill files. ' +
|
|
428
|
+
'Pass abort:true to close without saving. Returns { aborted, domains }.',
|
|
452
429
|
inputSchema: z.object({
|
|
453
430
|
sessionId: z.string().describe('Session ID from apitap_capture_start'),
|
|
454
431
|
abort: z.boolean().optional().describe('Abort without saving (default: false)'),
|
|
@@ -493,12 +470,8 @@ export function createMcpServer(options = {}) {
|
|
|
493
470
|
});
|
|
494
471
|
// --- apitap_auth_request ---
|
|
495
472
|
server.registerTool('apitap_auth_request', {
|
|
496
|
-
description: '
|
|
497
|
-
'
|
|
498
|
-
'Captures session cookies and auth tokens after login, stores them encrypted. ' +
|
|
499
|
-
'Default timeout is 5 minutes. ' +
|
|
500
|
-
'After success, use apitap_replay or apitap_capture with the domain — auth will be injected automatically. ' +
|
|
501
|
-
'Use this when: replay returns 401/403, discovery detects authRequired, or you know a site needs login.',
|
|
473
|
+
description: 'Open a visible browser for human login (handles 2FA, CAPTCHAs). ' +
|
|
474
|
+
'Stores session tokens encrypted — auto-injected on future replay/capture calls.',
|
|
502
475
|
inputSchema: z.object({
|
|
503
476
|
domain: z.string().describe('Domain to authenticate (e.g. "github.com")'),
|
|
504
477
|
loginUrl: z.string().optional().describe('Login page URL (defaults to https://<domain>)'),
|
package/dist/mcp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
|
package/dist/serve.js
CHANGED
|
@@ -130,10 +130,11 @@ export async function createServeServer(domain, options = {}) {
|
|
|
130
130
|
};
|
|
131
131
|
}
|
|
132
132
|
catch (err) {
|
|
133
|
+
console.error('Replay failed:', err);
|
|
133
134
|
return {
|
|
134
135
|
content: [{
|
|
135
136
|
type: 'text',
|
|
136
|
-
text:
|
|
137
|
+
text: 'Authentication failed',
|
|
137
138
|
}],
|
|
138
139
|
isError: true,
|
|
139
140
|
};
|
package/dist/serve.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@apitap/core",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.5",
|
|
4
4
|
"description": "Intercept web API traffic during browsing. Generate portable skill files so AI agents can call APIs directly instead of scraping.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
package/src/capture/scrubber.ts
CHANGED
|
@@ -18,6 +18,10 @@ const CARD_RE = /\b\d{4}[- ]?\d{4}[- ]?\d{4}[- ]?\d{4}\b/g;
|
|
|
18
18
|
// US SSN: 123-45-6789
|
|
19
19
|
const SSN_RE = /\b\d{3}-\d{2}-\d{4}\b/g;
|
|
20
20
|
|
|
21
|
+
// Auth tokens
|
|
22
|
+
const BEARER_TOKEN_RE = /\bBearer\s+[A-Za-z0-9._~+/-]+=*\b/g;
|
|
23
|
+
const JWT_RE = /\beyJ[a-zA-Z0-9_-]+\.[a-zA-Z0-9_-]+\.[a-zA-Z0-9_-]+\b/g;
|
|
24
|
+
|
|
21
25
|
/**
|
|
22
26
|
* Scrub PII from a string. Returns the string with PII replaced by placeholders.
|
|
23
27
|
* Order matters: SSN before phone (SSN is more specific).
|
|
@@ -45,5 +49,9 @@ export function scrubPII(input: string): string {
|
|
|
45
49
|
result = result.replace(PHONE_INTL_RE, '[phone]');
|
|
46
50
|
result = result.replace(PHONE_US_RE, '[phone]');
|
|
47
51
|
|
|
52
|
+
// Auth tokens
|
|
53
|
+
result = result.replace(BEARER_TOKEN_RE, '[token]');
|
|
54
|
+
result = result.replace(JWT_RE, '[token]');
|
|
55
|
+
|
|
48
56
|
return result;
|
|
49
57
|
}
|
package/src/mcp.ts
CHANGED
|
@@ -13,10 +13,14 @@ import { discover } from './discovery/index.js';
|
|
|
13
13
|
import { SessionCache } from './orchestration/cache.js';
|
|
14
14
|
import { peek } from './read/peek.js';
|
|
15
15
|
import { read } from './read/index.js';
|
|
16
|
+
import { resolveAndValidateUrl } from './skill/ssrf.js';
|
|
17
|
+
import { createRequire } from 'node:module';
|
|
16
18
|
import { homedir } from 'node:os';
|
|
17
19
|
import { join } from 'node:path';
|
|
18
20
|
|
|
19
21
|
const APITAP_DIR = join(homedir(), '.apitap');
|
|
22
|
+
const require = createRequire(import.meta.url);
|
|
23
|
+
const { version: PACKAGE_VERSION } = require('../package.json') as { version: string };
|
|
20
24
|
|
|
21
25
|
/**
|
|
22
26
|
* Wrap response data with external content metadata.
|
|
@@ -55,7 +59,7 @@ export function createMcpServer(options: McpServerOptions = {}): McpServer {
|
|
|
55
59
|
|
|
56
60
|
const server = new McpServer({
|
|
57
61
|
name: 'apitap',
|
|
58
|
-
version:
|
|
62
|
+
version: PACKAGE_VERSION,
|
|
59
63
|
});
|
|
60
64
|
|
|
61
65
|
// --- apitap_search ---
|
|
@@ -63,14 +67,8 @@ export function createMcpServer(options: McpServerOptions = {}): McpServer {
|
|
|
63
67
|
'apitap_search',
|
|
64
68
|
{
|
|
65
69
|
description:
|
|
66
|
-
'
|
|
67
|
-
'
|
|
68
|
-
'Returns matching endpoints with replayability tiers: ' +
|
|
69
|
-
'green = public, no auth needed — safe to replay directly; ' +
|
|
70
|
-
'yellow = needs auth credentials but no signing/anti-bot; ' +
|
|
71
|
-
'orange = CSRF/session-bound, fragile replay; ' +
|
|
72
|
-
'red = anti-bot protection, needs browser. ' +
|
|
73
|
-
'If not found, use apitap_capture to capture the site first.',
|
|
70
|
+
'Find captured API endpoints by domain or keyword. ' +
|
|
71
|
+
'Returns endpoints with replayability tier (green/yellow/orange/red) and endpoint IDs for replay.',
|
|
74
72
|
inputSchema: z.object({
|
|
75
73
|
query: z.string().describe('Search query — domain name, endpoint path, or keyword (e.g. "polymarket", "events", "get-markets")'),
|
|
76
74
|
}),
|
|
@@ -92,13 +90,9 @@ export function createMcpServer(options: McpServerOptions = {}): McpServer {
|
|
|
92
90
|
'apitap_discover',
|
|
93
91
|
{
|
|
94
92
|
description:
|
|
95
|
-
'
|
|
96
|
-
'
|
|
97
|
-
'
|
|
98
|
-
'Use this BEFORE apitap_capture to check if expensive browser-based capture is needed. ' +
|
|
99
|
-
'Returns { confidence, skillFile?, hints, frameworks?, specs?, probes? }. ' +
|
|
100
|
-
'If confidence is "high" or "medium", a skeleton skill file is generated — ' +
|
|
101
|
-
'try replaying its endpoints before resorting to capture.',
|
|
93
|
+
'Probe a site\'s APIs without a browser: detects frameworks, finds OpenAPI specs, ' +
|
|
94
|
+
'probes common paths. Returns { confidence, skillFile?, frameworks?, hints }. ' +
|
|
95
|
+
'High/medium confidence generates a skeleton skill file ready to replay.',
|
|
102
96
|
inputSchema: z.object({
|
|
103
97
|
url: z.string().describe('URL to discover (e.g. "https://example.com")'),
|
|
104
98
|
}),
|
|
@@ -137,12 +131,9 @@ export function createMcpServer(options: McpServerOptions = {}): McpServer {
|
|
|
137
131
|
'apitap_replay',
|
|
138
132
|
{
|
|
139
133
|
description:
|
|
140
|
-
'
|
|
141
|
-
'
|
|
142
|
-
'
|
|
143
|
-
'For POST endpoints with request bodies, params can include body variable paths ' +
|
|
144
|
-
'(e.g. "variables.limit": "25" for GraphQL). ' +
|
|
145
|
-
'Returns { status, data } with the API response.',
|
|
134
|
+
'Call a captured API endpoint and return live data. ' +
|
|
135
|
+
'Requires domain and endpointId from apitap_search. ' +
|
|
136
|
+
'Pass params for path variables, query params, or body variables (e.g. "variables.limit": "25" for GraphQL).',
|
|
146
137
|
inputSchema: z.object({
|
|
147
138
|
domain: z.string().describe('Domain of the API (e.g. "gamma-api.polymarket.com")'),
|
|
148
139
|
endpointId: z.string().describe('Endpoint ID from search results (e.g. "get-events", "post-graphql-GetPosts")'),
|
|
@@ -226,10 +217,8 @@ export function createMcpServer(options: McpServerOptions = {}): McpServer {
|
|
|
226
217
|
'apitap_replay_batch',
|
|
227
218
|
{
|
|
228
219
|
description:
|
|
229
|
-
'Replay multiple
|
|
230
|
-
'
|
|
231
|
-
'Each request gets its own result — one site failing does not affect others. ' +
|
|
232
|
-
'Returns an array of { domain, endpointId, status, data, error?, tier?, capturedAt? }.',
|
|
220
|
+
'Replay multiple captured endpoints in parallel across domains. ' +
|
|
221
|
+
'Returns array of { domain, endpointId, status, data, error? } — failures are isolated per request.',
|
|
233
222
|
inputSchema: z.object({
|
|
234
223
|
requests: z.array(z.object({
|
|
235
224
|
domain: z.string().describe('Domain of the API'),
|
|
@@ -260,13 +249,8 @@ export function createMcpServer(options: McpServerOptions = {}): McpServer {
|
|
|
260
249
|
'apitap_browse',
|
|
261
250
|
{
|
|
262
251
|
description:
|
|
263
|
-
'
|
|
264
|
-
'
|
|
265
|
-
'and replays the best matching endpoint — all in one call. ' +
|
|
266
|
-
'Use this when you want data from a URL without manually chaining search → discover → replay. ' +
|
|
267
|
-
'Returns { success: true, data, domain, endpointId, tier } on success, ' +
|
|
268
|
-
'or { success: false, suggestion: "capture_needed" } if the site needs browser-based capture first. ' +
|
|
269
|
-
'For precise control over which endpoint to replay, use apitap_search + apitap_replay instead.',
|
|
252
|
+
'Get data from a URL in one call: checks skill files, runs discovery, replays best endpoint. ' +
|
|
253
|
+
'Returns { success, data, domain, endpointId, tier } or { success: false, suggestion } if capture needed.',
|
|
270
254
|
inputSchema: z.object({
|
|
271
255
|
url: z.string().describe('URL to browse (e.g. "https://zillow.com/rentals/portland")'),
|
|
272
256
|
task: z.string().optional().describe('Optional task description (e.g. "find apartments under $1500") — passed through in response for correlation'),
|
|
@@ -301,9 +285,8 @@ export function createMcpServer(options: McpServerOptions = {}): McpServer {
|
|
|
301
285
|
'apitap_peek',
|
|
302
286
|
{
|
|
303
287
|
description:
|
|
304
|
-
'
|
|
305
|
-
'
|
|
306
|
-
'tokens on blocked sites. Returns { accessible, recommendation, botProtection, framework, signals }.',
|
|
288
|
+
'HTTP HEAD triage of a URL — checks accessibility, bot protection, framework. ' +
|
|
289
|
+
'Returns { accessible, recommendation, botProtection, framework }.',
|
|
307
290
|
inputSchema: z.object({
|
|
308
291
|
url: z.string().describe('URL to peek at (e.g. "https://example.com")'),
|
|
309
292
|
}),
|
|
@@ -331,10 +314,8 @@ export function createMcpServer(options: McpServerOptions = {}): McpServer {
|
|
|
331
314
|
'apitap_read',
|
|
332
315
|
{
|
|
333
316
|
description:
|
|
334
|
-
'Extract content from a URL without a browser. Uses
|
|
335
|
-
'
|
|
336
|
-
'everything else. Returns structured JSON with clean markdown content. 0-10K tokens ' +
|
|
337
|
-
'vs 50-200K for browser automation.',
|
|
317
|
+
'Extract content from a URL without a browser. Uses native APIs for Reddit/YouTube/Wikipedia/HN, ' +
|
|
318
|
+
'HTML extraction elsewhere. Returns clean markdown. ~10K tokens vs 200K for browser.',
|
|
338
319
|
inputSchema: z.object({
|
|
339
320
|
url: z.string().describe('URL to read (e.g. "https://en.wikipedia.org/wiki/TypeScript")'),
|
|
340
321
|
maxBytes: z.number().optional().describe('Maximum content size in bytes. Content is truncated to fit.'),
|
|
@@ -346,6 +327,10 @@ export function createMcpServer(options: McpServerOptions = {}): McpServer {
|
|
|
346
327
|
},
|
|
347
328
|
async ({ url, maxBytes }) => {
|
|
348
329
|
try {
|
|
330
|
+
const validation = await resolveAndValidateUrl(url);
|
|
331
|
+
if (!validation.safe) {
|
|
332
|
+
throw new Error(validation.reason ?? 'URL validation failed');
|
|
333
|
+
}
|
|
349
334
|
const result = await read(url, { maxBytes: maxBytes ?? undefined });
|
|
350
335
|
if (!result) {
|
|
351
336
|
return {
|
|
@@ -368,11 +353,8 @@ export function createMcpServer(options: McpServerOptions = {}): McpServer {
|
|
|
368
353
|
'apitap_capture',
|
|
369
354
|
{
|
|
370
355
|
description:
|
|
371
|
-
'
|
|
372
|
-
'
|
|
373
|
-
'Navigates to the URL, captures API calls for the specified duration, ' +
|
|
374
|
-
'and generates skill files for future replay. ' +
|
|
375
|
-
'Returns { domains, totalRequests, filtered, skillFiles } summary.',
|
|
356
|
+
'Launch a browser to capture a site\'s API traffic and save skill files for replay. ' +
|
|
357
|
+
'Returns { domains, totalRequests, skillFiles }.',
|
|
376
358
|
inputSchema: z.object({
|
|
377
359
|
url: z.string().describe('URL to capture (e.g. "https://polymarket.com")'),
|
|
378
360
|
duration: z.number().optional().describe('Capture duration in seconds (default: 30)'),
|
|
@@ -392,7 +374,8 @@ export function createMcpServer(options: McpServerOptions = {}): McpServer {
|
|
|
392
374
|
const execFileAsync = promisify(execFile);
|
|
393
375
|
|
|
394
376
|
// Use compiled dist/cli.js, not src/cli.ts (tsx is dev-only)
|
|
395
|
-
|
|
377
|
+
// Both mcp.js and cli.js compile to dist/ so path is ./cli.js not ../cli.js
|
|
378
|
+
const cliPath = new URL('./cli.js', import.meta.url).pathname;
|
|
396
379
|
const cliArgs = [cliPath, 'capture', url, '--duration', String(dur), '--json', '--no-verify'];
|
|
397
380
|
if (port) cliArgs.push('--port', String(port));
|
|
398
381
|
|
|
@@ -418,10 +401,8 @@ export function createMcpServer(options: McpServerOptions = {}): McpServer {
|
|
|
418
401
|
'apitap_capture_start',
|
|
419
402
|
{
|
|
420
403
|
description:
|
|
421
|
-
'Start an interactive
|
|
422
|
-
'
|
|
423
|
-
'Returns a sessionId and a page snapshot with interactive elements (buttons, links, inputs). ' +
|
|
424
|
-
'Use apitap_capture_interact to drive the browser and apitap_capture_finish to save skill files.',
|
|
404
|
+
'Start an interactive capture session. Launches browser, begins capturing API traffic. ' +
|
|
405
|
+
'Returns sessionId and page snapshot. Drive with apitap_capture_interact, save with apitap_capture_finish.',
|
|
425
406
|
inputSchema: z.object({
|
|
426
407
|
url: z.string().describe('URL to navigate to (e.g. "https://polymarket.com")'),
|
|
427
408
|
headless: z.boolean().optional().describe('Run browser in headless mode (default: true)'),
|
|
@@ -466,11 +447,9 @@ export function createMcpServer(options: McpServerOptions = {}): McpServer {
|
|
|
466
447
|
'apitap_capture_interact',
|
|
467
448
|
{
|
|
468
449
|
description:
|
|
469
|
-
'
|
|
470
|
-
'Actions: snapshot
|
|
471
|
-
'
|
|
472
|
-
'Every action returns a fresh page snapshot with updated elements and capture stats. ' +
|
|
473
|
-
'Use element refs (e.g. "e0", "e3") from the snapshot to target clicks and typing.',
|
|
450
|
+
'Drive a live capture session browser. ' +
|
|
451
|
+
'Actions: snapshot, click (ref), type (ref+text), select, navigate, scroll, wait. ' +
|
|
452
|
+
'Returns updated page snapshot after each action. Use element refs (e.g. "e0") from snapshots.',
|
|
474
453
|
inputSchema: z.object({
|
|
475
454
|
sessionId: z.string().describe('Session ID from apitap_capture_start'),
|
|
476
455
|
action: z.enum(['snapshot', 'click', 'type', 'select', 'navigate', 'scroll', 'wait']).describe('Action to perform'),
|
|
@@ -524,10 +503,8 @@ export function createMcpServer(options: McpServerOptions = {}): McpServer {
|
|
|
524
503
|
'apitap_capture_finish',
|
|
525
504
|
{
|
|
526
505
|
description:
|
|
527
|
-
'Finish
|
|
528
|
-
'
|
|
529
|
-
'With abort: closes browser without saving. ' +
|
|
530
|
-
'Returns { aborted, domains: [{ domain, endpointCount, tiers, skillFile }] }.',
|
|
506
|
+
'Finish a capture session: verifies endpoints and writes skill files. ' +
|
|
507
|
+
'Pass abort:true to close without saving. Returns { aborted, domains }.',
|
|
531
508
|
inputSchema: z.object({
|
|
532
509
|
sessionId: z.string().describe('Session ID from apitap_capture_start'),
|
|
533
510
|
abort: z.boolean().optional().describe('Abort without saving (default: false)'),
|
|
@@ -579,12 +556,8 @@ export function createMcpServer(options: McpServerOptions = {}): McpServer {
|
|
|
579
556
|
'apitap_auth_request',
|
|
580
557
|
{
|
|
581
558
|
description:
|
|
582
|
-
'
|
|
583
|
-
'
|
|
584
|
-
'Captures session cookies and auth tokens after login, stores them encrypted. ' +
|
|
585
|
-
'Default timeout is 5 minutes. ' +
|
|
586
|
-
'After success, use apitap_replay or apitap_capture with the domain — auth will be injected automatically. ' +
|
|
587
|
-
'Use this when: replay returns 401/403, discovery detects authRequired, or you know a site needs login.',
|
|
559
|
+
'Open a visible browser for human login (handles 2FA, CAPTCHAs). ' +
|
|
560
|
+
'Stores session tokens encrypted — auto-injected on future replay/capture calls.',
|
|
588
561
|
inputSchema: z.object({
|
|
589
562
|
domain: z.string().describe('Domain to authenticate (e.g. "github.com")'),
|
|
590
563
|
loginUrl: z.string().optional().describe('Login page URL (defaults to https://<domain>)'),
|
package/src/serve.ts
CHANGED
|
@@ -170,10 +170,11 @@ export async function createServeServer(
|
|
|
170
170
|
}],
|
|
171
171
|
};
|
|
172
172
|
} catch (err: any) {
|
|
173
|
+
console.error('Replay failed:', err);
|
|
173
174
|
return {
|
|
174
175
|
content: [{
|
|
175
176
|
type: 'text' as const,
|
|
176
|
-
text:
|
|
177
|
+
text: 'Authentication failed',
|
|
177
178
|
}],
|
|
178
179
|
isError: true,
|
|
179
180
|
};
|