@noresponse/mcp 0.13.24 → 0.13.26
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 +25 -0
- package/README.md +10 -3
- package/bin/mcp-server.js +13 -10
- package/bin/mcp-server.js.map +11 -11
- package/manifest.json +2 -2
- package/package.json +7 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.13.26
|
|
4
|
+
|
|
5
|
+
* `SDK.groups.listScreenings()`: `response.items[].platforms[].enum(chesscom)` **Added** (Breaking ⚠️)
|
|
6
|
+
* `SDK.settings.update()`:
|
|
7
|
+
* `request.body.refused_sources[].enum(chesscom)` **Added**
|
|
8
|
+
* `response.refused_sources[].enum(chesscom)` **Added** (Breaking ⚠️)
|
|
9
|
+
* `SDK.settings.listHistory()`: `response.items[].settings.refused_sources[].enum(chesscom)` **Added** (Breaking ⚠️)
|
|
10
|
+
* `SDK.settings.restore()`: `response.refused_sources[].enum(chesscom)` **Added** (Breaking ⚠️)
|
|
11
|
+
* `SDK.evaluations.publish()`: `response.refused_sources[].enum(chesscom)` **Added** (Breaking ⚠️)
|
|
12
|
+
* `SDK.groups.listPeople()`: `response.items[].handles[].platform.enum(chesscom)` **Added** (Breaking ⚠️)
|
|
13
|
+
* `SDK.groups.getPerson()`: `response` **Changed** (Breaking ⚠️)
|
|
14
|
+
* `SDK.groups.reviewPerson()`: `response.handles[].platform.enum(chesscom)` **Added** (Breaking ⚠️)
|
|
15
|
+
* `SDK.settings.get()`: `response.refused_sources[].enum(chesscom)` **Added** (Breaking ⚠️)
|
|
16
|
+
* `SDK.groups.startScreening()`:
|
|
17
|
+
* `request.body.platforms[].enum(chesscom)` **Added**
|
|
18
|
+
* `response.platforms[].enum(chesscom)` **Added** (Breaking ⚠️)
|
|
19
|
+
* `SDK.groups.getScreening()`: `response.platforms[].enum(chesscom)` **Added** (Breaking ⚠️)
|
|
20
|
+
* `SDK.groups.cancelScreening()`: `response.platforms[].enum(chesscom)` **Added** (Breaking ⚠️)
|
|
21
|
+
* `SDK.groups.addPeople()`:
|
|
22
|
+
* `request.body.people[].handles[].platform.enum(chesscom)` **Added**
|
|
23
|
+
|
|
24
|
+
## 0.13.25
|
|
25
|
+
|
|
26
|
+
No changes detected.
|
|
27
|
+
|
|
3
28
|
## 0.13.24
|
|
4
29
|
|
|
5
30
|
* `SDK.settings.get()`: `response.refused_sources[].enum(life360_phone)` **Added** (Breaking ⚠️)
|
package/README.md
CHANGED
|
@@ -2,14 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
# NoResponse MCP server
|
|
4
4
|
|
|
5
|
-
An [MCP](https://modelcontextprotocol.io) server for the NoResponse API, so an agent can
|
|
5
|
+
An [MCP](https://modelcontextprotocol.io) server for the NoResponse API, so an agent can investigate people: create a group, add people, screen them, read every account and leaked row that the lookups found, and search again on a value. It also assesses an account creation, login or purchase and records what you later learned. It is generated from the same OpenAPI document as the NoResponse SDKs.
|
|
6
6
|
|
|
7
|
-
The server uses the API key you give it and stores nothing. API key rotation and key creation are not tools: rotate and create keys from your own backend. The integration tools need a key with the `integrations` scope, the key, settings and list tools a key with the `management` scope, and the
|
|
7
|
+
The server uses the API key you give it and stores nothing. API key rotation and key creation are not tools: rotate and create keys from your own backend. The integration tools need a key with the `integrations` scope, the key, settings and list tools a key with the `management` scope, and the group, people, search and screening tools a key with the `groups` scope; give the server a key without them to keep them unusable.
|
|
8
8
|
|
|
9
9
|
## Tools
|
|
10
10
|
|
|
11
11
|
| Tool | What it does | API call |
|
|
12
12
|
|---|---|---|
|
|
13
|
+
| `create_group` | Create a group: one list of people to investigate or screen together. Needs the `groups` scope. | `POST /v1/workspaces/{workspace_id}/groups/{environment}` |
|
|
14
|
+
| `add_people` | Add or update up to 500 people, each with a name and the identifiers you have. Needs the `groups` scope. | `POST .../groups/{environment}/{group_id}/people` |
|
|
15
|
+
| `start_screening` | Run the lookups and the analysis for the group's people. Needs the `groups` scope. | `POST .../groups/{environment}/{group_id}/screenings` |
|
|
16
|
+
| `get_screening` | Read a screening's status and progress. Needs the `groups` scope. | `GET .../screenings/{screening_id}` |
|
|
17
|
+
| `get_person` | Read a person's report: every account and leaked row as a record with its source, and the findings. Needs the `groups` scope. | `GET .../people/{person_id}` |
|
|
18
|
+
| `start_search` | Search again on a value of one of the person's records. Needs the `groups` scope. | `POST .../people/{person_id}/searches` |
|
|
19
|
+
| `review_person` | Record your team's decision on a person: `cleared`, `watch` or `escalated`. Needs the `groups` scope. | `POST .../people/{person_id}/review` |
|
|
13
20
|
| `create_assessment` | Assess identifiers (email, phone, username, name, IP) for an `account_creation`, `login` or `purchase` flow. Sends a fresh Idempotency-Key when you give none. | `POST /v1/assessments` |
|
|
14
21
|
| `get_assessment` | Read the latest version of one assessment. | `GET /v1/assessments/{assessment_id}` |
|
|
15
22
|
| `wait_for_assessment` | Poll a pending assessment, at the interval Retry-After asks for, until it settles or `timeout_seconds` (default 25, at most 55) pass. | `GET /v1/assessments/{assessment_id}` |
|
|
@@ -41,7 +48,7 @@ The server uses the API key you give it and stores nothing. API key rotation and
|
|
|
41
48
|
| `create_list_entry` | Add an email or email domain to the block or allow list; the accounts it matches are decided again. Needs the `management` scope. | `POST /v1/workspaces/{workspace_id}/lists/{environment}` |
|
|
42
49
|
| `delete_list_entry` | Delete an entry; the accounts it matched go back to their scored decision. Needs the `management` scope. | `DELETE /v1/workspaces/{workspace_id}/lists/{environment}/{list_entry_id}` |
|
|
43
50
|
|
|
44
|
-
The table shows the most used tools. [Connect an agent](https://docs.noresponse.org/guides/agents) lists every tool with its required scope, including the
|
|
51
|
+
The table shows the most used tools. [Connect an agent](https://docs.noresponse.org/guides/agents) lists every tool with its required scope, including the other group, review and evaluation tools.
|
|
45
52
|
|
|
46
53
|
Act on `account.risk.decision` (`allow`, `step_up`, `review`, `block`, or `held` while a held flow waits for its investigation), the account's current decision for the assessment's flow. `detail` holds the assessment's own risk, recommendation and `assessment_version`. While the account's first assessment is pending, `account` is absent, so apply your own fallback for that, 429, 503 or a timeout.
|
|
47
54
|
|
package/bin/mcp-server.js
CHANGED
|
@@ -48136,9 +48136,9 @@ var init_config = __esm(() => {
|
|
|
48136
48136
|
SDK_METADATA = {
|
|
48137
48137
|
language: "typescript",
|
|
48138
48138
|
openapiDocVersion: "1",
|
|
48139
|
-
sdkVersion: "0.13.
|
|
48139
|
+
sdkVersion: "0.13.26",
|
|
48140
48140
|
genVersion: "internal",
|
|
48141
|
-
userAgent: "noresponse-sdk/mcp-typescript 0.13.
|
|
48141
|
+
userAgent: "noresponse-sdk/mcp-typescript 0.13.26 internal 1 @noresponse/mcp"
|
|
48142
48142
|
};
|
|
48143
48143
|
});
|
|
48144
48144
|
|
|
@@ -59758,11 +59758,12 @@ var init_sourceid = __esm(() => {
|
|
|
59758
59758
|
"wordpress",
|
|
59759
59759
|
"okru",
|
|
59760
59760
|
"flickr",
|
|
59761
|
+
"chesscom",
|
|
59761
59762
|
"whatsapp",
|
|
59762
59763
|
"opplysningen",
|
|
59763
59764
|
"ratsit",
|
|
59764
59765
|
"reverseaustralia"
|
|
59765
|
-
]).describe("A NoResponse source: github (GitHub accounts), phone (the phone lookup), breach (breach exposure), rdap (the email domain's registration), mx (the email domain's mail servers), ipintel (IP intelligence) or an email account source that searches one platform for an account by email address (adobe, nvidia, wix, life360, zapier, x_email, snapchat_email, amazon, spotify_email, google, duolingo_email). x_email, snapchat_email, amazon and spotify_email only say whether the email has an account on X, Snapchat, Amazon or Spotify. google runs only for Gmail addresses. scratch, dailymotion, substack, duolingo, dockerhub, wikipedia, internetarchive, telegram, spotify, patreon, wordpress, okru and
|
|
59766
|
+
]).describe("A NoResponse source: github (GitHub accounts), phone (the phone lookup), breach (breach exposure), rdap (the email domain's registration), mx (the email domain's mail servers), ipintel (IP intelligence) or an email account source that searches one platform for an account by email address (adobe, nvidia, wix, life360, zapier, x_email, snapchat_email, amazon, spotify_email, google, duolingo_email). x_email, snapchat_email, amazon and spotify_email only say whether the email has an account on X, Snapchat, Amazon or Spotify. google runs only for Gmail addresses. scratch, dailymotion, substack, duolingo, dockerhub, wikipedia, internetarchive, telegram, spotify, patreon, wordpress, okru, flickr and chesscom each search that platform for an account by username; telegram also searches by phone number, through a logged-in Telegram lookup account. whatsapp searches WhatsApp for an account by phone number, and life360_phone searches Life360 for one. opplysningen (1881, Norway), ratsit (Sweden) and reverseaustralia (Australia) each look up a phone number of their own country on that site. youtube searches YouTube for a channel by username.");
|
|
59766
59767
|
});
|
|
59767
59768
|
|
|
59768
59769
|
// src/models/settings.ts
|
|
@@ -61090,8 +61091,9 @@ var init_handleplatform = __esm(() => {
|
|
|
61090
61091
|
"wordpress",
|
|
61091
61092
|
"okru",
|
|
61092
61093
|
"flickr",
|
|
61094
|
+
"chesscom",
|
|
61093
61095
|
"synthetic"
|
|
61094
|
-
]).describe("A platform a screening can cover. github and scratch through flickr are each one read of the public profile a handle names, with no posts. synthetic is the deterministic connector's own platform, for exercising the product end to end with no network.");
|
|
61096
|
+
]).describe("A platform a screening can cover. github and scratch through flickr are each one read of the public profile a handle names, with no posts; chesscom also reads the profile's stats, clubs and last two months of games, for its activity and contacts. synthetic is the deterministic connector's own platform, for exercising the product end to end with no network.");
|
|
61095
61097
|
});
|
|
61096
61098
|
|
|
61097
61099
|
// src/models/handle.ts
|
|
@@ -61101,7 +61103,7 @@ var init_handle = __esm(() => {
|
|
|
61101
61103
|
init_handleplatform();
|
|
61102
61104
|
Handle$zodSchema = object({
|
|
61103
61105
|
handle: string2().describe("The account's handle, without a leading @."),
|
|
61104
|
-
platform: HandlePlatform$zodSchema.describe("A platform a screening can cover. github and scratch through flickr are each one read of the public profile a handle names, with no posts. synthetic is the deterministic connector's own platform, for exercising the product end to end with no network.")
|
|
61106
|
+
platform: HandlePlatform$zodSchema.describe("A platform a screening can cover. github and scratch through flickr are each one read of the public profile a handle names, with no posts; chesscom also reads the profile's stats, clubs and last two months of games, for its activity and contacts. synthetic is the deterministic connector's own platform, for exercising the product end to end with no network.")
|
|
61105
61107
|
}).describe("An account the person is known to hold.");
|
|
61106
61108
|
});
|
|
61107
61109
|
|
|
@@ -62253,7 +62255,7 @@ var init_screeningplatformcoverage = __esm(() => {
|
|
|
62253
62255
|
ScreeningPlatformCoverage$zodSchema = object({
|
|
62254
62256
|
accounts_found: int(),
|
|
62255
62257
|
items_read: int(),
|
|
62256
|
-
platform: HandlePlatform$zodSchema.describe("A platform a screening can cover. github and scratch through flickr are each one read of the public profile a handle names, with no posts. synthetic is the deterministic connector's own platform, for exercising the product end to end with no network."),
|
|
62258
|
+
platform: HandlePlatform$zodSchema.describe("A platform a screening can cover. github and scratch through flickr are each one read of the public profile a handle names, with no posts; chesscom also reads the profile's stats, clubs and last two months of games, for its activity and contacts. synthetic is the deterministic connector's own platform, for exercising the product end to end with no network."),
|
|
62257
62259
|
status: ScreeningPlatformCoverageStatus$zodSchema.describe("covered read at least one profile; none_found looked and found no account; inaccessible found accounts that are private or locked; failed could not finish looking; unavailable has no resolver or collector enabled.")
|
|
62258
62260
|
}).describe("What a screening read on one platform.");
|
|
62259
62261
|
});
|
|
@@ -62487,6 +62489,7 @@ var init_recordrole = __esm(() => {
|
|
|
62487
62489
|
"bot",
|
|
62488
62490
|
"caller_category",
|
|
62489
62491
|
"chargebacks",
|
|
62492
|
+
"contact",
|
|
62490
62493
|
"cover_picture",
|
|
62491
62494
|
"declines",
|
|
62492
62495
|
"deleted",
|
|
@@ -62863,7 +62866,7 @@ var init_screeningprofile = __esm(() => {
|
|
|
62863
62866
|
match: ScreeningMatch$zodSchema.describe("How a profile was matched to the person: the state its evidence earns, and the evidence."),
|
|
62864
62867
|
period_from: string2().optional().describe("The oldest item read."),
|
|
62865
62868
|
period_to: string2().optional().describe("The newest item read."),
|
|
62866
|
-
platform: HandlePlatform$zodSchema.describe("A platform a screening can cover. github and scratch through flickr are each one read of the public profile a handle names, with no posts. synthetic is the deterministic connector's own platform, for exercising the product end to end with no network."),
|
|
62869
|
+
platform: HandlePlatform$zodSchema.describe("A platform a screening can cover. github and scratch through flickr are each one read of the public profile a handle names, with no posts; chesscom also reads the profile's stats, clubs and last two months of games, for its activity and contacts. synthetic is the deterministic connector's own platform, for exercising the product end to end with no network."),
|
|
62867
62870
|
posts_stopped: PostsStopped$zodSchema.optional().describe("Why fewer posts were read than the screening's depth asks for while the account holds more. platform_limit: the platform shows the screening no more of them. page_limit: the pages a screening reads ran out first. rate_limited or unavailable: a later page was held back or failed; the posts before it are kept and the person is partial. Absent when the account was read to its end or to the depth."),
|
|
62868
62871
|
record: RecordT$zodSchema.optional().describe("One answer from one source: where it came from, what found it and every field it holds. A person's lookup records also say how likely each is the person."),
|
|
62869
62872
|
url: string2()
|
|
@@ -74384,7 +74387,7 @@ endpoint.verification sends a signed challenge now and answers whether the endpo
|
|
|
74384
74387
|
function createMCPServer(deps) {
|
|
74385
74388
|
const server = new McpServer({
|
|
74386
74389
|
name: "NoResponse",
|
|
74387
|
-
version: "0.13.
|
|
74390
|
+
version: "0.13.26"
|
|
74388
74391
|
});
|
|
74389
74392
|
const getClient = deps.getSDK || (() => new NoResponseCore({
|
|
74390
74393
|
security: deps.security,
|
|
@@ -83817,7 +83820,7 @@ var routes = buildRouteMap({
|
|
|
83817
83820
|
var app = buildApplication(routes, {
|
|
83818
83821
|
name: "mcp",
|
|
83819
83822
|
versionInfo: {
|
|
83820
|
-
currentVersion: "0.13.
|
|
83823
|
+
currentVersion: "0.13.26"
|
|
83821
83824
|
}
|
|
83822
83825
|
});
|
|
83823
83826
|
run(app, process3.argv.slice(2), buildContext(process3));
|
|
@@ -83825,5 +83828,5 @@ export {
|
|
|
83825
83828
|
app
|
|
83826
83829
|
};
|
|
83827
83830
|
|
|
83828
|
-
//# debugId=
|
|
83831
|
+
//# debugId=4803B6084E80D68E64756E2164756E21
|
|
83829
83832
|
//# sourceMappingURL=mcp-server.js.map
|