@noresponse/mcp 0.13.23 → 0.13.25

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 CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.13.25
4
+
5
+ No changes detected.
6
+
7
+ ## 0.13.24
8
+
9
+ * `SDK.settings.get()`: `response.refused_sources[].enum(life360_phone)` **Added** (Breaking ⚠️)
10
+ * `SDK.settings.update()`:
11
+ * `request.body.refused_sources[].enum(life360_phone)` **Added**
12
+ * `response.refused_sources[].enum(life360_phone)` **Added** (Breaking ⚠️)
13
+ * `SDK.settings.listHistory()`: `response.items[].settings.refused_sources[].enum(life360_phone)` **Added** (Breaking ⚠️)
14
+ * `SDK.settings.restore()`: `response.refused_sources[].enum(life360_phone)` **Added** (Breaking ⚠️)
15
+ * `SDK.evaluations.publish()`: `response.refused_sources[].enum(life360_phone)` **Added** (Breaking ⚠️)
16
+
3
17
  ## 0.13.23
4
18
 
5
19
  * `SDK.settings.get()`: `response.refused_sources[]` **Changed** (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 assess an account creation, login or purchase, wait for a pending assessment, page through an account's history and record what you later learned. It is generated from the same OpenAPI document as the NoResponse SDKs.
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 event tools a key with the `events` scope; give the server a key without them to keep them unusable.
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 review, evaluation and event tools.
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.23",
48139
+ sdkVersion: "0.13.25",
48140
48140
  genVersion: "internal",
48141
- userAgent: "noresponse-sdk/mcp-typescript 0.13.23 internal 1 @noresponse/mcp"
48141
+ userAgent: "noresponse-sdk/mcp-typescript 0.13.25 internal 1 @noresponse/mcp"
48142
48142
  };
48143
48143
  });
48144
48144
 
@@ -59736,6 +59736,7 @@ var init_sourceid = __esm(() => {
59736
59736
  "nvidia",
59737
59737
  "wix",
59738
59738
  "life360",
59739
+ "life360_phone",
59739
59740
  "zapier",
59740
59741
  "x_email",
59741
59742
  "snapchat_email",
@@ -59761,7 +59762,7 @@ var init_sourceid = __esm(() => {
59761
59762
  "opplysningen",
59762
59763
  "ratsit",
59763
59764
  "reverseaustralia"
59764
- ]).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 flickr 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. 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.");
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 flickr 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.");
59765
59766
  });
59766
59767
 
59767
59768
  // src/models/settings.ts
@@ -74383,7 +74384,7 @@ endpoint.verification sends a signed challenge now and answers whether the endpo
74383
74384
  function createMCPServer(deps) {
74384
74385
  const server = new McpServer({
74385
74386
  name: "NoResponse",
74386
- version: "0.13.23"
74387
+ version: "0.13.25"
74387
74388
  });
74388
74389
  const getClient = deps.getSDK || (() => new NoResponseCore({
74389
74390
  security: deps.security,
@@ -83816,7 +83817,7 @@ var routes = buildRouteMap({
83816
83817
  var app = buildApplication(routes, {
83817
83818
  name: "mcp",
83818
83819
  versionInfo: {
83819
- currentVersion: "0.13.23"
83820
+ currentVersion: "0.13.25"
83820
83821
  }
83821
83822
  });
83822
83823
  run(app, process3.argv.slice(2), buildContext(process3));
@@ -83824,5 +83825,5 @@ export {
83824
83825
  app
83825
83826
  };
83826
83827
 
83827
- //# debugId=303760553041A91364756E2164756E21
83828
+ //# debugId=7E44DD64E08F238864756E2164756E21
83828
83829
  //# sourceMappingURL=mcp-server.js.map