vpndetection-mcp 1.0.1 → 3.0.0
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 +7 -6
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/schema.gen.d.ts +4 -3
- package/dist/schema.gen.js +37 -11
- package/dist/schema.gen.js.map +1 -1
- package/dist/tools.d.ts +3 -1
- package/dist/tools.js +80 -30
- package/dist/tools.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
The official [Model Context Protocol](https://modelcontextprotocol.io) server for the [VPNDetection](https://vpndetection.io) API.
|
|
7
7
|
|
|
8
|
-
It gives an AI agent
|
|
8
|
+
It gives an AI agent six read-only tools for anonymity detection: whether an address belongs to a VPN, a residential, datacenter or mobile proxy, a Tor node, a public relay, a hosting provider or a CDN, plus the catalogue of databases your organization is licensed to download.
|
|
9
9
|
|
|
10
10
|
## Getting Started
|
|
11
11
|
|
|
@@ -30,7 +30,7 @@ Requires Node.js 22 or newer.
|
|
|
30
30
|
|
|
31
31
|
### With an API key
|
|
32
32
|
|
|
33
|
-
A key unlocks the provider name, the classification
|
|
33
|
+
A key unlocks the provider name, the classification databases and the proxy families. Put it in the environment:
|
|
34
34
|
|
|
35
35
|
```json
|
|
36
36
|
{
|
|
@@ -52,11 +52,12 @@ A key unlocks the provider name, the classification datasets and the proxy famil
|
|
|
52
52
|
|---|---|
|
|
53
53
|
| `lookup_ip` | Classify one address. |
|
|
54
54
|
| `lookup_ips` | Classify up to 100 addresses in one call, keyed by address. |
|
|
55
|
-
| `list_databases` | The
|
|
56
|
-
| `database_metadata` | A
|
|
57
|
-
| `database_checksum` | The published digests for one
|
|
55
|
+
| `list_databases` | The databases your organization is licensed for. |
|
|
56
|
+
| `database_metadata` | A database's columns, sample rows, row count, build date and file sizes. |
|
|
57
|
+
| `database_checksum` | The published digests for one database file. |
|
|
58
|
+
| `list_downloads` | Your organization's recent download attempts, refusals included. |
|
|
58
59
|
|
|
59
|
-
Every tool is read-only. There is deliberately no download tool: the
|
|
60
|
+
Every tool is read-only. There is deliberately no download tool: the databases run to several GB, which is not something an agent should pull into a conversation. Fetch them with the [client libraries](https://github.com/vpndetection-io) or the API instead.
|
|
60
61
|
|
|
61
62
|
## Reading a result
|
|
62
63
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { createTools, registerTools, BATCH_LIMIT } from './tools.js';
|
|
1
|
+
export { createTools, registerTools, BATCH_LIMIT, DOWNLOADS_LIMIT } from './tools.js';
|
|
2
2
|
export type { ToolContext, ToolDef } from './tools.js';
|
|
3
3
|
export { coverageOf, batchCoverage, COVERAGE_SCHEMA } from './coverage.js';
|
|
4
4
|
export type { Coverage } from './coverage.js';
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { createTools, registerTools, BATCH_LIMIT } from './tools.js';
|
|
1
|
+
export { createTools, registerTools, BATCH_LIMIT, DOWNLOADS_LIMIT } from './tools.js';
|
|
2
2
|
export { coverageOf, batchCoverage, COVERAGE_SCHEMA } from './coverage.js';
|
|
3
3
|
export { LOOKUP_MEMBERS, LOOKUP_GATED_MEMBERS, SPEC_VERSION } from './schema.gen.js';
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEtF,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAE3E,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/schema.gen.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare const LOOKUP_MEMBERS: readonly string[];
|
|
2
2
|
export declare const LOOKUP_GATED_MEMBERS: readonly string[];
|
|
3
|
-
export declare const SPEC_VERSION = "2026.09.
|
|
3
|
+
export declare const SPEC_VERSION = "2026.09.13";
|
|
4
4
|
export interface ObjectSchema {
|
|
5
5
|
type: 'object';
|
|
6
6
|
properties?: Record<string, object>;
|
|
@@ -8,5 +8,6 @@ export interface ObjectSchema {
|
|
|
8
8
|
[k: string]: unknown;
|
|
9
9
|
}
|
|
10
10
|
export declare const LOOKUP_RESULT_SCHEMA: ObjectSchema;
|
|
11
|
-
export declare const
|
|
12
|
-
export declare const
|
|
11
|
+
export declare const DATABASE_SCHEMA: ObjectSchema;
|
|
12
|
+
export declare const DATABASE_METADATA_SCHEMA: ObjectSchema;
|
|
13
|
+
export declare const DB_CHECKSUMS_SCHEMA: ObjectSchema;
|
package/dist/schema.gen.js
CHANGED
|
@@ -35,7 +35,7 @@ export const LOOKUP_GATED_MEMBERS = [
|
|
|
35
35
|
'dcproxy',
|
|
36
36
|
'mobproxy',
|
|
37
37
|
];
|
|
38
|
-
export const SPEC_VERSION = '2026.09.
|
|
38
|
+
export const SPEC_VERSION = '2026.09.13';
|
|
39
39
|
export const LOOKUP_RESULT_SCHEMA = {
|
|
40
40
|
"type": "object",
|
|
41
41
|
"description": "The union of every plan's answer. Only `ip` and `is_vpn` are guaranteed;\neach remaining field is present when your plan includes it, and absent\notherwise. A client that must work across plans should treat an absent\nflag as unknown rather than as `false`.\n",
|
|
@@ -277,13 +277,13 @@ export const LOOKUP_RESULT_SCHEMA = {
|
|
|
277
277
|
}
|
|
278
278
|
}
|
|
279
279
|
};
|
|
280
|
-
export const
|
|
280
|
+
export const DATABASE_SCHEMA = {
|
|
281
281
|
"type": "object",
|
|
282
|
-
"description": "One
|
|
282
|
+
"description": "One database FAMILY your organization is licensed for. A license covers\nthe family, while a download names a specific version, so the ids you\npass to the download and checksum endpoints come from `versions`.\n",
|
|
283
283
|
"properties": {
|
|
284
284
|
"base": {
|
|
285
285
|
"type": "string",
|
|
286
|
-
"description": "The
|
|
286
|
+
"description": "The database family, e.g. `vpn_ip`. What the license is held against."
|
|
287
287
|
},
|
|
288
288
|
"name": {
|
|
289
289
|
"type": "string"
|
|
@@ -293,12 +293,12 @@ export const LICENSED_DATASET_SCHEMA = {
|
|
|
293
293
|
},
|
|
294
294
|
"license_type": {
|
|
295
295
|
"type": "string",
|
|
296
|
+
"description": "What a license permits you to do with the data.",
|
|
296
297
|
"enum": [
|
|
297
298
|
"evaluation",
|
|
298
299
|
"standard",
|
|
299
300
|
"redistribute"
|
|
300
|
-
]
|
|
301
|
-
"description": "What your license permits you to do with the data."
|
|
301
|
+
]
|
|
302
302
|
},
|
|
303
303
|
"starts": {
|
|
304
304
|
"type": "string",
|
|
@@ -329,12 +329,12 @@ export const LICENSED_DATASET_SCHEMA = {
|
|
|
329
329
|
},
|
|
330
330
|
"standing": {
|
|
331
331
|
"type": "string",
|
|
332
|
+
"description": "Where your license for a database family stands today. `licensed` is a\nlive grant, `expired` one whose term has ended, and `unlicensed` a\ndatabase published but never bought.\n",
|
|
332
333
|
"enum": [
|
|
333
334
|
"expired",
|
|
334
335
|
"licensed",
|
|
335
336
|
"unlicensed"
|
|
336
|
-
]
|
|
337
|
-
"description": "`licensed` is a live grant, `expired` one whose term has ended, and\n`unlicensed` a dataset published but never bought.\n"
|
|
337
|
+
]
|
|
338
338
|
},
|
|
339
339
|
"versions": {
|
|
340
340
|
"type": "array",
|
|
@@ -344,7 +344,7 @@ export const LICENSED_DATASET_SCHEMA = {
|
|
|
344
344
|
"properties": {
|
|
345
345
|
"id": {
|
|
346
346
|
"type": "string",
|
|
347
|
-
"description": "The versioned
|
|
347
|
+
"description": "The versioned database id, e.g. `vpn_ip_v1`. Pass this to download."
|
|
348
348
|
},
|
|
349
349
|
"version": {
|
|
350
350
|
"type": "integer"
|
|
@@ -359,6 +359,7 @@ export const LICENSED_DATASET_SCHEMA = {
|
|
|
359
359
|
"properties": {
|
|
360
360
|
"format": {
|
|
361
361
|
"type": "string",
|
|
362
|
+
"description": "A file format a database version is published in.",
|
|
362
363
|
"enum": [
|
|
363
364
|
"csvgz",
|
|
364
365
|
"mmdb"
|
|
@@ -376,11 +377,12 @@ export const LICENSED_DATASET_SCHEMA = {
|
|
|
376
377
|
]
|
|
377
378
|
}
|
|
378
379
|
},
|
|
379
|
-
"
|
|
380
|
+
"sample_formats": {
|
|
380
381
|
"type": "array",
|
|
381
382
|
"description": "The formats an evaluation sample is published in, if any.",
|
|
382
383
|
"items": {
|
|
383
384
|
"type": "string",
|
|
385
|
+
"description": "A file format a database version is published in.",
|
|
384
386
|
"enum": [
|
|
385
387
|
"csvgz",
|
|
386
388
|
"mmdb"
|
|
@@ -410,7 +412,7 @@ export const LICENSED_DATASET_SCHEMA = {
|
|
|
410
412
|
"versions"
|
|
411
413
|
]
|
|
412
414
|
};
|
|
413
|
-
export const
|
|
415
|
+
export const DATABASE_METADATA_SCHEMA = {
|
|
414
416
|
"type": "object",
|
|
415
417
|
"properties": {
|
|
416
418
|
"id": {
|
|
@@ -489,4 +491,28 @@ export const DATASET_METADATA_SCHEMA = {
|
|
|
489
491
|
"schema"
|
|
490
492
|
]
|
|
491
493
|
};
|
|
494
|
+
export const DB_CHECKSUMS_SCHEMA = {
|
|
495
|
+
"type": "object",
|
|
496
|
+
"description": "The published digests for one database file.",
|
|
497
|
+
"properties": {
|
|
498
|
+
"md5": {
|
|
499
|
+
"type": "string"
|
|
500
|
+
},
|
|
501
|
+
"sha1": {
|
|
502
|
+
"type": "string"
|
|
503
|
+
},
|
|
504
|
+
"sha256": {
|
|
505
|
+
"type": "string"
|
|
506
|
+
},
|
|
507
|
+
"sha512": {
|
|
508
|
+
"type": "string"
|
|
509
|
+
}
|
|
510
|
+
},
|
|
511
|
+
"required": [
|
|
512
|
+
"md5",
|
|
513
|
+
"sha1",
|
|
514
|
+
"sha256",
|
|
515
|
+
"sha512"
|
|
516
|
+
]
|
|
517
|
+
};
|
|
492
518
|
//# sourceMappingURL=schema.gen.js.map
|
package/dist/schema.gen.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.gen.js","sourceRoot":"","sources":["../src/schema.gen.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"schema.gen.js","sourceRoot":"","sources":["../src/schema.gen.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.d.ts
CHANGED
|
@@ -3,10 +3,12 @@ import type { CallToolResult, Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
|
3
3
|
import type { VPNDetection } from 'vpndetection';
|
|
4
4
|
/** The most addresses one `lookup_ips` call may carry. */
|
|
5
5
|
export declare const BATCH_LIMIT = 100;
|
|
6
|
+
/** The most history rows one `list_downloads` call may ask for. The API clamps to the same. */
|
|
7
|
+
export declare const DOWNLOADS_LIMIT = 200;
|
|
6
8
|
export interface ToolContext {
|
|
7
9
|
client: VPNDetection;
|
|
8
10
|
/**
|
|
9
|
-
* Whether to offer the
|
|
11
|
+
* Whether to offer the database tools. On by default: a key without the
|
|
10
12
|
* `db.download` scope gets a plain refusal from the API, which reads better
|
|
11
13
|
* than a tool that silently does not exist, and deciding otherwise would
|
|
12
14
|
* mean re-validating the key here against a policy `db_dl_api` owns.
|
package/dist/tools.js
CHANGED
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
|
|
3
3
|
import { batchCoverage, COVERAGE_SCHEMA, coverageOf, wireBody } from './coverage.js';
|
|
4
|
-
import {
|
|
4
|
+
import { DATABASE_METADATA_SCHEMA, DATABASE_SCHEMA, DB_CHECKSUMS_SCHEMA, LOOKUP_RESULT_SCHEMA, } from './schema.gen.js';
|
|
5
5
|
/** The most addresses one `lookup_ips` call may carry. */
|
|
6
6
|
export const BATCH_LIMIT = 100;
|
|
7
|
+
/** The most history rows one `list_downloads` call may ask for. The API clamps to the same. */
|
|
8
|
+
export const DOWNLOADS_LIMIT = 200;
|
|
9
|
+
// Both spellings of a database id, stated wherever one is taken. `list_databases`
|
|
10
|
+
// answers a `base` id (what a licence names) and a `versions[].id`; everything
|
|
11
|
+
// else accepts only the versioned one. A model that has just read
|
|
12
|
+
// `base: "cdn_ip"` will otherwise pass it and get a refusal that reads like a
|
|
13
|
+
// bad database rather than a wrong spelling.
|
|
14
|
+
const VERSIONED_ID = 'A VERSIONED database id, from `versions[].id` in `list_databases` - '
|
|
15
|
+
+ '`cdn_ip_v1`, not `cdn_ip`. The unversioned base id is a licence reference and is '
|
|
16
|
+
+ 'not accepted here.';
|
|
7
17
|
/**
|
|
8
18
|
* The tool manifest, and the single place either transport gets it from.
|
|
9
19
|
*
|
|
@@ -130,38 +140,46 @@ function databaseTools(ctx) {
|
|
|
130
140
|
{
|
|
131
141
|
tool: {
|
|
132
142
|
name: 'list_databases',
|
|
133
|
-
title: 'List
|
|
134
|
-
description: 'The
|
|
135
|
-
+ 'with the licence type and term. A
|
|
136
|
-
+ '
|
|
137
|
-
+ 'licence names, and a `versions` array whose
|
|
138
|
-
+ 'tools take - pass `versions[].id`
|
|
139
|
-
+ '(`cdn_ip`).'
|
|
143
|
+
title: 'List databases',
|
|
144
|
+
description: 'The database catalog as this API key\'s organization may see it, '
|
|
145
|
+
+ 'one entry per database FAMILY, with the licence type and term. A database '
|
|
146
|
+
+ 'absent from this list is one the organization does not hold. Each entry has '
|
|
147
|
+
+ 'a `base` id, which is what the licence names, and a `versions` array whose '
|
|
148
|
+
+ '`id` is what the other database tools take - pass `versions[].id` '
|
|
149
|
+
+ '(`cdn_ip_v1`), never the `base` (`cdn_ip`). Ask again rather than holding '
|
|
150
|
+
+ 'on to this: it is answered per key and is not the same for everyone.',
|
|
140
151
|
inputSchema: { type: 'object', additionalProperties: false },
|
|
141
152
|
outputSchema: objectSchema({
|
|
142
|
-
|
|
143
|
-
}, ['
|
|
144
|
-
annotations: {
|
|
153
|
+
databases: { type: 'array', items: DATABASE_SCHEMA },
|
|
154
|
+
}, ['databases']),
|
|
155
|
+
annotations: {
|
|
156
|
+
readOnlyHint: true,
|
|
157
|
+
idempotentHint: true,
|
|
158
|
+
openWorldHint: true,
|
|
159
|
+
},
|
|
145
160
|
},
|
|
146
161
|
handler: async () => {
|
|
147
|
-
return ok({
|
|
162
|
+
return ok({ databases: await ctx.client.database.list() });
|
|
148
163
|
},
|
|
149
164
|
},
|
|
150
165
|
{
|
|
151
166
|
tool: {
|
|
152
167
|
name: 'database_metadata',
|
|
153
|
-
title: 'Describe a
|
|
154
|
-
description: '
|
|
168
|
+
title: 'Describe a database',
|
|
169
|
+
description: 'What is inside one database before you fetch it: the columns in each '
|
|
155
170
|
+ 'published format with their types, a few sample rows, the row count, the '
|
|
156
171
|
+ 'build date and the file sizes. Use this to answer questions about what a '
|
|
157
|
-
+ '
|
|
172
|
+
+ 'database contains without downloading it - the files reach several GB - and '
|
|
173
|
+
+ 'to budget a transfer before starting one.',
|
|
158
174
|
inputSchema: jsonSchema(z.object({
|
|
159
|
-
dataset_id: z.string().describe(
|
|
160
|
-
+ '`cdn_ip_v1`, not `cdn_ip`. The unversioned base id is a licence '
|
|
161
|
-
+ 'reference and is not accepted here.'),
|
|
175
|
+
dataset_id: z.string().describe(VERSIONED_ID),
|
|
162
176
|
})),
|
|
163
|
-
outputSchema:
|
|
164
|
-
annotations: {
|
|
177
|
+
outputSchema: DATABASE_METADATA_SCHEMA,
|
|
178
|
+
annotations: {
|
|
179
|
+
readOnlyHint: true,
|
|
180
|
+
idempotentHint: true,
|
|
181
|
+
openWorldHint: true,
|
|
182
|
+
},
|
|
165
183
|
},
|
|
166
184
|
handler: async (args) => {
|
|
167
185
|
const { dataset_id } = z.object({ dataset_id: z.string() }).parse(args);
|
|
@@ -171,20 +189,20 @@ function databaseTools(ctx) {
|
|
|
171
189
|
{
|
|
172
190
|
tool: {
|
|
173
191
|
name: 'database_checksum',
|
|
174
|
-
title: 'Get a
|
|
175
|
-
description: 'The published digests for one
|
|
176
|
-
+ 'already hold or deciding whether a build has changed since you last
|
|
192
|
+
title: 'Get a database\'s checksums',
|
|
193
|
+
description: 'The published digests for one database file, for verifying a copy '
|
|
194
|
+
+ 'you already hold or deciding whether a build has changed since you last '
|
|
195
|
+
+ 'fetched it.',
|
|
177
196
|
inputSchema: jsonSchema(z.object({
|
|
178
|
-
dataset_id: z.string().describe(
|
|
179
|
-
+ '`cdn_ip_v1`, not `cdn_ip`.'),
|
|
197
|
+
dataset_id: z.string().describe(VERSIONED_ID),
|
|
180
198
|
format: formats.describe('Which published file to digest.'),
|
|
181
199
|
})),
|
|
182
|
-
outputSchema: {
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
200
|
+
outputSchema: objectSchema({ checksums: DB_CHECKSUMS_SCHEMA }, ['checksums']),
|
|
201
|
+
annotations: {
|
|
202
|
+
readOnlyHint: true,
|
|
203
|
+
idempotentHint: true,
|
|
204
|
+
openWorldHint: true,
|
|
186
205
|
},
|
|
187
|
-
annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: true },
|
|
188
206
|
},
|
|
189
207
|
handler: async (args) => {
|
|
190
208
|
const parsed = z.object({
|
|
@@ -195,6 +213,38 @@ function databaseTools(ctx) {
|
|
|
195
213
|
return ok({ checksums: checksums });
|
|
196
214
|
},
|
|
197
215
|
},
|
|
216
|
+
{
|
|
217
|
+
tool: {
|
|
218
|
+
name: 'list_downloads',
|
|
219
|
+
title: 'List recent download attempts',
|
|
220
|
+
description: 'This organization\'s own recent download attempts, newest first, '
|
|
221
|
+
+ 'REFUSALS INCLUDED - a denial carries the `outcome` and `http_status` that '
|
|
222
|
+
+ 'answer "it stopped working", which nothing else here can. Use it to explain '
|
|
223
|
+
+ 'a failing fetch, to confirm a transfer ran, or to check whether a request '
|
|
224
|
+
+ 'was theirs. This is a bounded WINDOW of at most '
|
|
225
|
+
+ `${DOWNLOADS_LIMIT} rows, so a database missing from the answer means it is `
|
|
226
|
+
+ 'not in this window - never that it was never downloaded.',
|
|
227
|
+
inputSchema: jsonSchema(z.object({
|
|
228
|
+
limit: z.number().int().min(1).max(DOWNLOADS_LIMIT).optional().describe(`How many attempts to return, newest first. At most ${DOWNLOADS_LIMIT}; `
|
|
229
|
+
+ 'the API defaults to 50.'),
|
|
230
|
+
})),
|
|
231
|
+
outputSchema: objectSchema({
|
|
232
|
+
downloads: { type: 'array', items: { type: 'object', additionalProperties: true } },
|
|
233
|
+
}, ['downloads']),
|
|
234
|
+
annotations: {
|
|
235
|
+
readOnlyHint: true,
|
|
236
|
+
idempotentHint: false,
|
|
237
|
+
openWorldHint: true,
|
|
238
|
+
},
|
|
239
|
+
},
|
|
240
|
+
handler: async (args) => {
|
|
241
|
+
const { limit } = z.object({
|
|
242
|
+
limit: z.number().int().min(1).max(DOWNLOADS_LIMIT).optional(),
|
|
243
|
+
}).parse(args);
|
|
244
|
+
const downloads = await ctx.client.database.downloads(limit === undefined ? {} : { limit: limit });
|
|
245
|
+
return ok({ downloads: downloads });
|
|
246
|
+
},
|
|
247
|
+
},
|
|
198
248
|
];
|
|
199
249
|
}
|
|
200
250
|
/**
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,OAAO,EACH,qBAAqB,EAAE,sBAAsB,GAChD,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EACH,
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vpndetection-mcp",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "Official MCP server for the VPNDetection API. Gives an LLM agent VPN, proxy, Tor, hosting and CDN detection for any IP address.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
52
|
"@modelcontextprotocol/sdk": "^1.20.2",
|
|
53
|
-
"vpndetection": "^
|
|
53
|
+
"vpndetection": "^3.0.0",
|
|
54
54
|
"zod": "^4.1.12"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|