@chainpatrol/mcp 1.10.2 → 1.12.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/CHANGELOG.md +51 -0
- package/dist/{chunk-JBDTADFL.js → chunk-JE3KUTYE.js} +213 -28
- package/dist/chunk-JE3KUTYE.js.map +1 -0
- package/dist/index.js +1 -1
- package/dist/stdio-bin.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-JBDTADFL.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,56 @@
|
|
|
1
1
|
# @chainpatrol/mcp
|
|
2
2
|
|
|
3
|
+
## 1.12.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- ac640ce: `/detection/list` now returns up to 1000 detections per page (was 100). The
|
|
8
|
+
default page size stays at 50, and larger result sets still page with
|
|
9
|
+
`nextCursor`.
|
|
10
|
+
|
|
11
|
+
- `@chainpatrol/mcp`: the generated `detection_list` tool accepts `limit` up to
|
|
12
|
+
1000 and documents `startDate`/`endDate` for incremental syncs.
|
|
13
|
+
|
|
14
|
+
Server-side work lives in @chainpatrol/external-trpc and @chainpatrol/database;
|
|
15
|
+
both are private packages and don't need version bumps.
|
|
16
|
+
|
|
17
|
+
- 2552904: Add Time to Detection: `getMetricsTimeToDetection` in the SDK,
|
|
18
|
+
`chainpatrol metrics time-to-detection` in the CLI, and the
|
|
19
|
+
`metrics_time_to_detection` MCP tool, all backed by the new
|
|
20
|
+
`POST /metrics/time-to-detection` endpoint. It reports how long threats were
|
|
21
|
+
already live before the earliest automated detection of the asset, for any
|
|
22
|
+
organization, per asset type. The clock runs from when the asset was first
|
|
23
|
+
seen live to its earliest automated detection; a human report does not stop
|
|
24
|
+
it. Each number is a minimum, published with how many blocked assets are in
|
|
25
|
+
the sample. Server-side work lives in @chainpatrol/external-trpc,
|
|
26
|
+
@chainpatrol/validation and @chainpatrol/metrics; those are private packages
|
|
27
|
+
and need no version bump.
|
|
28
|
+
- 878241c: Adds the `GET /v2/organization/threats` endpoint, which returns every asset an
|
|
29
|
+
organization has reported together with the lifecycle state of that
|
|
30
|
+
investigation — report opened, escalated to the customer, blocklisted, takedown
|
|
31
|
+
submitted, takedown completed — as a state projection a threat-intel platform
|
|
32
|
+
can poll and upsert on asset ID. Built for the OpenCTI connector. The MCP tool
|
|
33
|
+
surface is regenerated from the public API schemas, so the new operation shows
|
|
34
|
+
up there; the handler lives in the private `@chainpatrol/external-trpc` and
|
|
35
|
+
`@chainpatrol/validation` packages, which changesets ignores.
|
|
36
|
+
|
|
37
|
+
## 1.11.0
|
|
38
|
+
|
|
39
|
+
### Minor Changes
|
|
40
|
+
|
|
41
|
+
- 3895c2f: `/asset/list` no longer requires `type`. Omitting it returns assets of every
|
|
42
|
+
type on a single pagination cursor, so mirroring the whole blocklist no longer
|
|
43
|
+
means looping the `AssetType` enum. Supplying `type` behaves exactly as before.
|
|
44
|
+
|
|
45
|
+
- `@chainpatrol/sdk`: `listAssets` accepts an input without `type`.
|
|
46
|
+
- `@chainpatrol/mcp`: the generated `asset_list` tool drops `type` from its
|
|
47
|
+
required fields.
|
|
48
|
+
|
|
49
|
+
Server-side work lives in @chainpatrol/validation and @chainpatrol/external-trpc;
|
|
50
|
+
both are private packages and don't need version bumps.
|
|
51
|
+
|
|
52
|
+
- 264c4f7: Expose the new `hasAttachments` filter on both report-list tools, `organization_reports_list` and `get_organization_reports`, so a report search can be narrowed to reports that carry evidence files. Supporting work lives in the private packages @chainpatrol/core, @chainpatrol/external-trpc and @chainpatrol/trpc, which do not need version bumps.
|
|
53
|
+
|
|
3
54
|
## 1.10.2
|
|
4
55
|
|
|
5
56
|
### Patch Changes
|
|
@@ -195,7 +195,7 @@ var tools_default = {
|
|
|
195
195
|
properties: {
|
|
196
196
|
type: {
|
|
197
197
|
type: "string",
|
|
198
|
-
description: "Asset type One of
|
|
198
|
+
description: "Asset type One of 95 values, e.g. URL, PAGE, ADDRESS, DISCORD, LINKEDIN, TWITTER, FACEBOOK, YOUTUBE. Full list: resource chainpatrol://enums/asset_type"
|
|
199
199
|
},
|
|
200
200
|
content: {
|
|
201
201
|
type: "string",
|
|
@@ -310,7 +310,7 @@ var tools_default = {
|
|
|
310
310
|
path: "/asset/list",
|
|
311
311
|
pathParams: [],
|
|
312
312
|
title: "List assets",
|
|
313
|
-
description: "Answers 'which assets
|
|
313
|
+
description: "Answers 'which assets does ChainPatrol hold at this status?'. Returns a paginated list defaulting to `BLOCKED`, optionally narrowed to a single `type` and to a date range. Omit `type` to sweep every asset type on one cursor, which is the cheapest way to mirror the whole blocklist. Built for bulk export and sync \u2014 pass `next_page` from the previous response to continue. To check one specific asset, use `/asset/check` instead; for an organization's own monitored assets, use `/organization/assets`.",
|
|
314
314
|
tags: [
|
|
315
315
|
"asset"
|
|
316
316
|
],
|
|
@@ -321,7 +321,7 @@ var tools_default = {
|
|
|
321
321
|
properties: {
|
|
322
322
|
type: {
|
|
323
323
|
type: "string",
|
|
324
|
-
description: "Asset type One of
|
|
324
|
+
description: "Asset type to retrieve. Omit the field entirely to retrieve assets of every type in a single paginated sweep; an explicit null is rejected. One of 95 values, e.g. URL, PAGE, ADDRESS, DISCORD, LINKEDIN, TWITTER, FACEBOOK, YOUTUBE. Full list: resource chainpatrol://enums/asset_type"
|
|
325
325
|
},
|
|
326
326
|
status: {
|
|
327
327
|
type: "string",
|
|
@@ -367,10 +367,7 @@ var tools_default = {
|
|
|
367
367
|
description: "Cursor for fetching the next page of results"
|
|
368
368
|
}
|
|
369
369
|
},
|
|
370
|
-
|
|
371
|
-
"type"
|
|
372
|
-
],
|
|
373
|
-
description: "List asset request body\n\nDefaults to getting all the updates in the last 1 day.\n\nYou can also choose a `startDate` and `endDate` for the range of asset updates, most \ntimestamp formats should work, we use [Luxon](https://moment.github.io/luxon/#/parsing) \nfor parsing the dates."
|
|
370
|
+
description: "List asset request body\n\nWith no `startDate`, this returns every matching asset regardless of age \u2014 there\nis no implicit one-day window. Pass `startDate` to get a delta instead.\n\nYou can also choose a `startDate` and `endDate` for the range of asset updates, most \ntimestamp formats should work, we use [Luxon](https://moment.github.io/luxon/#/parsing) \nfor parsing the dates."
|
|
374
371
|
}
|
|
375
372
|
},
|
|
376
373
|
{
|
|
@@ -622,7 +619,7 @@ var tools_default = {
|
|
|
622
619
|
},
|
|
623
620
|
source: {
|
|
624
621
|
type: "string",
|
|
625
|
-
description: "Detection source key, from `GET /detection/sources`. The source must support the `organization` scope; global-only sources cannot be configured per organization. One of
|
|
622
|
+
description: "Detection source key, from `GET /detection/sources`. The source must support the `organization` scope; global-only sources cannot be configured per organization. One of 59 values, e.g. meta_ads_search, telegram_channels_search, telegram_user_search, telegram_channels_search_vetric, telegram_user_search_vetric, facebook_page_search_vetric, facebook_user_search_vetric, facebook_post_search_vetric. Full list: resource chainpatrol://enums/source"
|
|
626
623
|
},
|
|
627
624
|
status: {
|
|
628
625
|
type: "string",
|
|
@@ -997,7 +994,7 @@ var tools_default = {
|
|
|
997
994
|
path: "/detection/list",
|
|
998
995
|
pathParams: [],
|
|
999
996
|
title: "List threat detection results for organization",
|
|
1000
|
-
description: "List threat detection results for an organization using API key authentication. Returns human-readable confidence levels (none, low, medium, high) and report status. Supports filtering by source, confidence level, asset status, and
|
|
997
|
+
description: "List threat detection results for an organization using API key authentication, newest first. Returns human-readable confidence levels (none, low, medium, high) and report status. Supports filtering by source, confidence level, asset status, asset type and creation time, plus search. Pages hold up to 1000 results: pass `nextCursor` back as `cursor` until it is absent, and use `startDate` to fetch only detections created since your last sync.",
|
|
1001
998
|
tags: [
|
|
1002
999
|
"detection"
|
|
1003
1000
|
],
|
|
@@ -1012,18 +1009,18 @@ var tools_default = {
|
|
|
1012
1009
|
},
|
|
1013
1010
|
cursor: {
|
|
1014
1011
|
type: "number",
|
|
1015
|
-
description: "
|
|
1012
|
+
description: "Pass the `nextCursor` from the previous response to fetch the next page. Omit it for the first page."
|
|
1016
1013
|
},
|
|
1017
1014
|
limit: {
|
|
1018
1015
|
type: "number",
|
|
1019
1016
|
minimum: 1,
|
|
1020
|
-
maximum:
|
|
1017
|
+
maximum: 1e3,
|
|
1021
1018
|
default: 50,
|
|
1022
|
-
description: "Number of results to
|
|
1019
|
+
description: "Number of results per page, between 1 and 1000. Defaults to 50."
|
|
1023
1020
|
},
|
|
1024
1021
|
filters: {
|
|
1025
1022
|
type: "array",
|
|
1026
|
-
description: "Filters to apply to the results. Each clause filters on one property. Accepted values per property \u2014 `source`: One of
|
|
1023
|
+
description: "Filters to apply to the results. Each clause filters on one property. Accepted values per property \u2014 `source`: One of 59 values, e.g. meta_ads_search, telegram_channels_search, telegram_user_search, telegram_channels_search_vetric, telegram_user_search_vetric, facebook_page_search_vetric, facebook_user_search_vetric, facebook_post_search_vetric. Full list: resource chainpatrol://enums/source; `confidence`: none, low, medium, high; `liveness`: UNKNOWN, ALIVE, DEAD; `watchlist`: ENABLED, DISABLED; `assetStatus`: UNKNOWN, ALLOWED, BLOCKED; `reported`: reported, not_reported; `assetType`: One of 95 values, e.g. URL, PAGE, ADDRESS, DISCORD, LINKEDIN, TWITTER, FACEBOOK, YOUTUBE. Full list: resource chainpatrol://enums/asset_type; `brand`: number values; `deleted`: string values; `countryCode`: string values.",
|
|
1027
1024
|
items: {
|
|
1028
1025
|
type: "object",
|
|
1029
1026
|
properties: {
|
|
@@ -1078,12 +1075,12 @@ var tools_default = {
|
|
|
1078
1075
|
startDate: {
|
|
1079
1076
|
type: "string",
|
|
1080
1077
|
format: "date-time",
|
|
1081
|
-
description: "
|
|
1078
|
+
description: "Only return detections created at or after this time (inclusive). For incremental syncs, pass the time your previous sync started minus a few minutes of overlap, and de-duplicate by `id`."
|
|
1082
1079
|
},
|
|
1083
1080
|
endDate: {
|
|
1084
1081
|
type: "string",
|
|
1085
1082
|
format: "date-time",
|
|
1086
|
-
description: "
|
|
1083
|
+
description: "Only return detections created at or before this time (inclusive). Pin it to the time a sync starts so every page of that sync sees the same result set."
|
|
1087
1084
|
}
|
|
1088
1085
|
},
|
|
1089
1086
|
required: [
|
|
@@ -1239,7 +1236,7 @@ var tools_default = {
|
|
|
1239
1236
|
type: "array",
|
|
1240
1237
|
items: {
|
|
1241
1238
|
type: "string",
|
|
1242
|
-
description: "One of
|
|
1239
|
+
description: "One of 95 values, e.g. URL, PAGE, ADDRESS, DISCORD, LINKEDIN, TWITTER, FACEBOOK, YOUTUBE. Full list: resource chainpatrol://enums/asset_type"
|
|
1243
1240
|
}
|
|
1244
1241
|
},
|
|
1245
1242
|
reviewedByUserId: {
|
|
@@ -1300,6 +1297,10 @@ var tools_default = {
|
|
|
1300
1297
|
hasMxRecords: {
|
|
1301
1298
|
type: "boolean"
|
|
1302
1299
|
},
|
|
1300
|
+
hasAttachments: {
|
|
1301
|
+
type: "boolean",
|
|
1302
|
+
description: "Filter on evidence files uploaded with the report. `true` returns only reports with at least one attachment that has not been removed; `false` returns only reports with none. Useful for finding phone number or email reports that came with supporting evidence."
|
|
1303
|
+
},
|
|
1303
1304
|
sources: {
|
|
1304
1305
|
type: "array",
|
|
1305
1306
|
items: {
|
|
@@ -1814,6 +1815,60 @@ var tools_default = {
|
|
|
1814
1815
|
]
|
|
1815
1816
|
}
|
|
1816
1817
|
},
|
|
1818
|
+
{
|
|
1819
|
+
name: "metrics_false_positive_rate",
|
|
1820
|
+
procedure: "metricsFalsePositiveRate",
|
|
1821
|
+
method: "POST",
|
|
1822
|
+
path: "/metrics/false-positive-rate",
|
|
1823
|
+
pathParams: [],
|
|
1824
|
+
title: "Get organization false positive rate by asset type",
|
|
1825
|
+
description: "Get the share of blocks that were later reversed, broken down by asset type, for a date range. Every asset type blocked in the range is returned, including ones with no false positives. The range bounds when the asset was blocked; whether the block still stands is read as of now, so a recent range reads low simply because its reversals have not happened yet.",
|
|
1826
|
+
tags: [
|
|
1827
|
+
"metrics"
|
|
1828
|
+
],
|
|
1829
|
+
readOnly: true,
|
|
1830
|
+
deprecated: false,
|
|
1831
|
+
inputSchema: {
|
|
1832
|
+
type: "object",
|
|
1833
|
+
properties: {
|
|
1834
|
+
slug: {
|
|
1835
|
+
type: "string",
|
|
1836
|
+
minLength: 1,
|
|
1837
|
+
description: "Organization slug"
|
|
1838
|
+
},
|
|
1839
|
+
startDate: {
|
|
1840
|
+
type: "string",
|
|
1841
|
+
format: "date-time",
|
|
1842
|
+
description: "Only include assets blocked on or after this date. A date-only value (YYYY-MM-DD) starts at midnight UTC"
|
|
1843
|
+
},
|
|
1844
|
+
endDate: {
|
|
1845
|
+
type: "string",
|
|
1846
|
+
format: "date-time",
|
|
1847
|
+
description: "Only include assets blocked on or before this date. A date-only value (YYYY-MM-DD) covers the whole day in UTC; pass a full timestamp for a precise cut-off"
|
|
1848
|
+
},
|
|
1849
|
+
brandIds: {
|
|
1850
|
+
type: "array",
|
|
1851
|
+
items: {
|
|
1852
|
+
type: "integer",
|
|
1853
|
+
exclusiveMinimum: 0
|
|
1854
|
+
},
|
|
1855
|
+
description: "Only include assets belonging to these brands"
|
|
1856
|
+
},
|
|
1857
|
+
countryCodes: {
|
|
1858
|
+
type: "array",
|
|
1859
|
+
items: {
|
|
1860
|
+
type: "string",
|
|
1861
|
+
minLength: 2,
|
|
1862
|
+
maxLength: 2
|
|
1863
|
+
},
|
|
1864
|
+
description: "Only include assets scanned from these ISO 3166-1 alpha-2 countries"
|
|
1865
|
+
}
|
|
1866
|
+
},
|
|
1867
|
+
required: [
|
|
1868
|
+
"slug"
|
|
1869
|
+
]
|
|
1870
|
+
}
|
|
1871
|
+
},
|
|
1817
1872
|
{
|
|
1818
1873
|
name: "metrics_found",
|
|
1819
1874
|
procedure: "metricsFound",
|
|
@@ -2190,7 +2245,7 @@ var tools_default = {
|
|
|
2190
2245
|
type: "array",
|
|
2191
2246
|
items: {
|
|
2192
2247
|
type: "string",
|
|
2193
|
-
description: "One of
|
|
2248
|
+
description: "One of 95 values, e.g. URL, PAGE, ADDRESS, DISCORD, LINKEDIN, TWITTER, FACEBOOK, YOUTUBE. Full list: resource chainpatrol://enums/asset_type"
|
|
2194
2249
|
},
|
|
2195
2250
|
maxItems: 5,
|
|
2196
2251
|
description: "Break the trend down by these asset types, one series each. Omit for a single series pooled across every asset type"
|
|
@@ -2231,6 +2286,60 @@ var tools_default = {
|
|
|
2231
2286
|
]
|
|
2232
2287
|
}
|
|
2233
2288
|
},
|
|
2289
|
+
{
|
|
2290
|
+
name: "metrics_time_to_detection",
|
|
2291
|
+
procedure: "metricsTimeToDetection",
|
|
2292
|
+
method: "POST",
|
|
2293
|
+
path: "/metrics/time-to-detection",
|
|
2294
|
+
pathParams: [],
|
|
2295
|
+
title: "Get organization time to detection by asset type",
|
|
2296
|
+
description: "How long threats were already live before the earliest automated detection of the asset, for any organization. Broken down by asset type, for distinct assets this organization blocked in the date range that are still blocked today. The clock runs from when the asset was first seen live to its earliest automated detection; a human report does not stop it. Each median is a minimum.",
|
|
2297
|
+
tags: [
|
|
2298
|
+
"metrics"
|
|
2299
|
+
],
|
|
2300
|
+
readOnly: true,
|
|
2301
|
+
deprecated: false,
|
|
2302
|
+
inputSchema: {
|
|
2303
|
+
type: "object",
|
|
2304
|
+
properties: {
|
|
2305
|
+
slug: {
|
|
2306
|
+
type: "string",
|
|
2307
|
+
minLength: 1,
|
|
2308
|
+
description: "Organization slug"
|
|
2309
|
+
},
|
|
2310
|
+
startDate: {
|
|
2311
|
+
type: "string",
|
|
2312
|
+
format: "date-time",
|
|
2313
|
+
description: "Only include assets blocked on or after this date. A date-only value (YYYY-MM-DD) starts at midnight UTC"
|
|
2314
|
+
},
|
|
2315
|
+
endDate: {
|
|
2316
|
+
type: "string",
|
|
2317
|
+
format: "date-time",
|
|
2318
|
+
description: "Only include assets blocked on or before this date. A date-only value (YYYY-MM-DD) covers the whole day in UTC; pass a full timestamp for a precise cut-off"
|
|
2319
|
+
},
|
|
2320
|
+
brandIds: {
|
|
2321
|
+
type: "array",
|
|
2322
|
+
items: {
|
|
2323
|
+
type: "integer",
|
|
2324
|
+
exclusiveMinimum: 0
|
|
2325
|
+
},
|
|
2326
|
+
description: "Only include assets belonging to these brands"
|
|
2327
|
+
},
|
|
2328
|
+
countryCodes: {
|
|
2329
|
+
type: "array",
|
|
2330
|
+
items: {
|
|
2331
|
+
type: "string",
|
|
2332
|
+
minLength: 2,
|
|
2333
|
+
maxLength: 2
|
|
2334
|
+
},
|
|
2335
|
+
description: "Only include assets scanned from these ISO 3166-1 alpha-2 countries"
|
|
2336
|
+
}
|
|
2337
|
+
},
|
|
2338
|
+
required: [
|
|
2339
|
+
"slug"
|
|
2340
|
+
]
|
|
2341
|
+
}
|
|
2342
|
+
},
|
|
2234
2343
|
{
|
|
2235
2344
|
name: "operations_queues_snapshot",
|
|
2236
2345
|
procedure: "operationsQueuesSnapshot",
|
|
@@ -2484,7 +2593,7 @@ var tools_default = {
|
|
|
2484
2593
|
},
|
|
2485
2594
|
type: {
|
|
2486
2595
|
type: "string",
|
|
2487
|
-
description: "Filter by asset type (URL, ADDRESS, etc.) One of
|
|
2596
|
+
description: "Filter by asset type (URL, ADDRESS, etc.) One of 95 values, e.g. URL, PAGE, ADDRESS, DISCORD, LINKEDIN, TWITTER, FACEBOOK, YOUTUBE. Full list: resource chainpatrol://enums/asset_type"
|
|
2488
2597
|
},
|
|
2489
2598
|
groupId: {
|
|
2490
2599
|
type: "integer",
|
|
@@ -3002,6 +3111,10 @@ var tools_default = {
|
|
|
3002
3111
|
reportedByCustomer: {
|
|
3003
3112
|
type: "boolean"
|
|
3004
3113
|
},
|
|
3114
|
+
hasAttachments: {
|
|
3115
|
+
type: "boolean",
|
|
3116
|
+
description: "Filter on evidence files uploaded with the report. `true` returns only reports with at least one attachment that has not been removed; `false` returns only reports with none."
|
|
3117
|
+
},
|
|
3005
3118
|
needsCustomerReview: {
|
|
3006
3119
|
type: "boolean",
|
|
3007
3120
|
description: "Filter to reports waiting on your organization's own approval \u2014 the same queue your Review page shows. `true` returns only reports with at least one pending proposal that is yours to action; `false` returns only reports that are not. A pending proposal counts when ChainPatrol staff escalated it to you and you have not answered yet. Answering means approving, rejecting, or escalating it back to ChainPatrol. Two things do not put a report here: reports your organization sourced itself (ChainPatrol triages those and staff approval blocks the asset without you, though you still see them in the unfiltered list), and Obligatory Organization Admin Approval (a proposal ChainPatrol has not triaged yet is still waiting on our review, and reaches you only once staff escalate it)."
|
|
@@ -3023,7 +3136,7 @@ var tools_default = {
|
|
|
3023
3136
|
type: "array",
|
|
3024
3137
|
items: {
|
|
3025
3138
|
type: "string",
|
|
3026
|
-
description: "One of
|
|
3139
|
+
description: "One of 95 values, e.g. URL, PAGE, ADDRESS, DISCORD, LINKEDIN, TWITTER, FACEBOOK, YOUTUBE. Full list: resource chainpatrol://enums/asset_type"
|
|
3027
3140
|
}
|
|
3028
3141
|
},
|
|
3029
3142
|
brandIds: {
|
|
@@ -3065,6 +3178,63 @@ var tools_default = {
|
|
|
3065
3178
|
]
|
|
3066
3179
|
}
|
|
3067
3180
|
},
|
|
3181
|
+
{
|
|
3182
|
+
name: "organization_threats_list",
|
|
3183
|
+
procedure: "organizationThreatsList",
|
|
3184
|
+
method: "GET",
|
|
3185
|
+
path: "/organization/threats",
|
|
3186
|
+
pathParams: [],
|
|
3187
|
+
title: "List organization threats",
|
|
3188
|
+
description: "List every asset your organization has reported, with the lifecycle state of each investigation: report opened, escalated, blocklisted, takedown submitted, takedown completed. Built for threat-intel platforms that poll for changes and upsert on asset ID. Supports pagination.",
|
|
3189
|
+
tags: [
|
|
3190
|
+
"organization"
|
|
3191
|
+
],
|
|
3192
|
+
readOnly: true,
|
|
3193
|
+
deprecated: false,
|
|
3194
|
+
inputSchema: {
|
|
3195
|
+
type: "object",
|
|
3196
|
+
properties: {
|
|
3197
|
+
slug: {
|
|
3198
|
+
type: "string",
|
|
3199
|
+
description: "Organization slug. Optional for organization-scoped API keys, which resolve the organization from the key itself. Required when your credentials can reach more than one organization."
|
|
3200
|
+
},
|
|
3201
|
+
updatedSince: {
|
|
3202
|
+
type: "string",
|
|
3203
|
+
description: "Only return threats touched at or after this ISO 8601 timestamp. Compared against the most recent change to the asset, its reports, and its takedown \u2014 whichever is latest. Omit for a full backfill. Overlap your windows by a few minutes: writes that land mid-request can otherwise fall between two polls."
|
|
3204
|
+
},
|
|
3205
|
+
assetType: {
|
|
3206
|
+
type: "string",
|
|
3207
|
+
description: "Filter by asset type. Omit to return every type. One of 95 values, e.g. URL, PAGE, ADDRESS, DISCORD, LINKEDIN, TWITTER, FACEBOOK, YOUTUBE. Full list: resource chainpatrol://enums/asset_type"
|
|
3208
|
+
},
|
|
3209
|
+
per_page: {
|
|
3210
|
+
type: "integer",
|
|
3211
|
+
minimum: 1,
|
|
3212
|
+
maximum: 1e3,
|
|
3213
|
+
default: 100,
|
|
3214
|
+
description: "The number of threats to return per page (max 1000)"
|
|
3215
|
+
},
|
|
3216
|
+
next_page: {
|
|
3217
|
+
anyOf: [
|
|
3218
|
+
{
|
|
3219
|
+
anyOf: [
|
|
3220
|
+
{
|
|
3221
|
+
not: {}
|
|
3222
|
+
},
|
|
3223
|
+
{
|
|
3224
|
+
type: "string"
|
|
3225
|
+
}
|
|
3226
|
+
]
|
|
3227
|
+
},
|
|
3228
|
+
{
|
|
3229
|
+
type: "null"
|
|
3230
|
+
}
|
|
3231
|
+
],
|
|
3232
|
+
description: "Cursor for fetching the next page of results"
|
|
3233
|
+
}
|
|
3234
|
+
},
|
|
3235
|
+
description: "List organization threats request body\n\nReturns every asset this organization has filed a report against, together with\nthe lifecycle state of that investigation \u2014 report opened, escalated, blocked,\ntakedown submitted, takedown completed.\n\nThis is a projection of current state, not an event stream: each threat is\nreturned with the facts as they stand right now, so a consumer that upserts on\n`id` converges regardless of which intermediate transitions it saw. Results are\nordered by asset ID ascending and paginated with `next_page`."
|
|
3236
|
+
}
|
|
3237
|
+
},
|
|
3068
3238
|
{
|
|
3069
3239
|
name: "report_create",
|
|
3070
3240
|
procedure: "reportCreate",
|
|
@@ -3166,7 +3336,7 @@ var tools_default = {
|
|
|
3166
3336
|
properties: {
|
|
3167
3337
|
type: {
|
|
3168
3338
|
type: "string",
|
|
3169
|
-
description: "Enrichment type One of
|
|
3339
|
+
description: "Enrichment type One of 49 values, e.g. content_and_metadata, browser_capture, ownership_and_registration, geolocation_and_ip, dns, tls, tcp, hostname_first_seen. Full list: resource chainpatrol://enums/asset_scan_enrichment_type"
|
|
3170
3340
|
},
|
|
3171
3341
|
source: {
|
|
3172
3342
|
type: "string",
|
|
@@ -3337,7 +3507,7 @@ var tools_default = {
|
|
|
3337
3507
|
type: "array",
|
|
3338
3508
|
items: {
|
|
3339
3509
|
type: "string",
|
|
3340
|
-
description: "One of
|
|
3510
|
+
description: "One of 95 values, e.g. URL, PAGE, ADDRESS, DISCORD, LINKEDIN, TWITTER, FACEBOOK, YOUTUBE. Full list: resource chainpatrol://enums/asset_type"
|
|
3341
3511
|
},
|
|
3342
3512
|
description: "Filter by asset types"
|
|
3343
3513
|
},
|
|
@@ -3497,7 +3667,7 @@ var tools_default = {
|
|
|
3497
3667
|
type: "array",
|
|
3498
3668
|
items: {
|
|
3499
3669
|
type: "string",
|
|
3500
|
-
description: "One of
|
|
3670
|
+
description: "One of 95 values, e.g. URL, PAGE, ADDRESS, DISCORD, LINKEDIN, TWITTER, FACEBOOK, YOUTUBE. Full list: resource chainpatrol://enums/asset_type"
|
|
3501
3671
|
},
|
|
3502
3672
|
description: "Filter by asset types"
|
|
3503
3673
|
},
|
|
@@ -3753,7 +3923,7 @@ var tools_default = {
|
|
|
3753
3923
|
type: "array",
|
|
3754
3924
|
items: {
|
|
3755
3925
|
type: "string",
|
|
3756
|
-
description: "One of
|
|
3926
|
+
description: "One of 95 values, e.g. URL, PAGE, ADDRESS, DISCORD, LINKEDIN, TWITTER, FACEBOOK, YOUTUBE. Full list: resource chainpatrol://enums/asset_type"
|
|
3757
3927
|
},
|
|
3758
3928
|
minItems: 1
|
|
3759
3929
|
}
|
|
@@ -3960,6 +4130,7 @@ var tools_default = {
|
|
|
3960
4130
|
"dns",
|
|
3961
4131
|
"tls",
|
|
3962
4132
|
"tcp",
|
|
4133
|
+
"hostname_first_seen",
|
|
3963
4134
|
"post",
|
|
3964
4135
|
"profile",
|
|
3965
4136
|
"twitter_followers",
|
|
@@ -3975,6 +4146,7 @@ var tools_default = {
|
|
|
3975
4146
|
"apple_app_store_listing",
|
|
3976
4147
|
"google_play_store_listing",
|
|
3977
4148
|
"mozilla_addon",
|
|
4149
|
+
"github_comment",
|
|
3978
4150
|
"reddit_subreddit",
|
|
3979
4151
|
"email_validation",
|
|
3980
4152
|
"phone_lookup",
|
|
@@ -3985,14 +4157,21 @@ var tools_default = {
|
|
|
3985
4157
|
"vimeo_profile",
|
|
3986
4158
|
"stackblitz_page",
|
|
3987
4159
|
"leetcode_page",
|
|
4160
|
+
"tumblr_blog",
|
|
4161
|
+
"tumblr_post",
|
|
4162
|
+
"tumblr_community",
|
|
3988
4163
|
"npm_package",
|
|
3989
4164
|
"pypi_package",
|
|
3990
4165
|
"rust_package",
|
|
3991
4166
|
"linkedin_profile",
|
|
4167
|
+
"pump_fun_token",
|
|
3992
4168
|
"meta_ad",
|
|
3993
4169
|
"google_ad",
|
|
3994
4170
|
"adlibrary_ad",
|
|
3995
|
-
"contract_deployer"
|
|
4171
|
+
"contract_deployer",
|
|
4172
|
+
"threat_intel",
|
|
4173
|
+
"list_membership",
|
|
4174
|
+
"threat_score"
|
|
3996
4175
|
],
|
|
3997
4176
|
usedBy: [
|
|
3998
4177
|
"report_create.type"
|
|
@@ -4092,7 +4271,10 @@ var tools_default = {
|
|
|
4092
4271
|
"FIVE_HUNDRED_PX",
|
|
4093
4272
|
"LUMA",
|
|
4094
4273
|
"SMARTMONEYMATCH",
|
|
4095
|
-
"APK_GOLD"
|
|
4274
|
+
"APK_GOLD",
|
|
4275
|
+
"GLASSDOOR",
|
|
4276
|
+
"PUMP_FUN",
|
|
4277
|
+
"TUMBLR"
|
|
4096
4278
|
],
|
|
4097
4279
|
usedBy: [
|
|
4098
4280
|
"asset_changelog.type",
|
|
@@ -4102,6 +4284,7 @@ var tools_default = {
|
|
|
4102
4284
|
"metrics_takedown_time_trend.assetTypes",
|
|
4103
4285
|
"organization_assets_list.type",
|
|
4104
4286
|
"organization_reports_list.assetTypes",
|
|
4287
|
+
"organization_threats_list.assetType",
|
|
4105
4288
|
"takedowns_list.assetType",
|
|
4106
4289
|
"threats_list.assetType",
|
|
4107
4290
|
"user_orgs.assetTypes"
|
|
@@ -4130,6 +4313,7 @@ var tools_default = {
|
|
|
4130
4313
|
"blocklist",
|
|
4131
4314
|
"apple_app_store",
|
|
4132
4315
|
"google_ads_search",
|
|
4316
|
+
"google_ads_transparency_search",
|
|
4133
4317
|
"mozilla_addon_search",
|
|
4134
4318
|
"reddit_subreddit_search",
|
|
4135
4319
|
"asset_check",
|
|
@@ -4166,7 +4350,8 @@ var tools_default = {
|
|
|
4166
4350
|
"adlibrary_ads_search",
|
|
4167
4351
|
"dnsdb",
|
|
4168
4352
|
"daily_motion_search",
|
|
4169
|
-
"watchlist"
|
|
4353
|
+
"watchlist",
|
|
4354
|
+
"github_search"
|
|
4170
4355
|
],
|
|
4171
4356
|
usedBy: [
|
|
4172
4357
|
"detection_configs_create.source",
|
|
@@ -4469,7 +4654,7 @@ var package_default = {
|
|
|
4469
4654
|
name: "@chainpatrol/mcp",
|
|
4470
4655
|
description: "The official ChainPatrol MCP server \u2014 every public API capability as an MCP tool",
|
|
4471
4656
|
author: "ChainPatrol <support@chainpatrol.io>",
|
|
4472
|
-
version: "1.
|
|
4657
|
+
version: "1.12.0",
|
|
4473
4658
|
license: "UNLICENSED",
|
|
4474
4659
|
homepage: "https://chainpatrol.com/docs/mcp",
|
|
4475
4660
|
keywords: [
|
|
@@ -4546,4 +4731,4 @@ export {
|
|
|
4546
4731
|
toolsFromEnvironment,
|
|
4547
4732
|
PACKAGE_VERSION
|
|
4548
4733
|
};
|
|
4549
|
-
//# sourceMappingURL=chunk-
|
|
4734
|
+
//# sourceMappingURL=chunk-JE3KUTYE.js.map
|