Connect an agent
The NoResponse MCP server gives an agent five tools that call the API with your key. Use the hosted server when your agent can reach a URL, the npm package when it runs servers on your own machine, and the desktop extension for Claude Desktop.
| Tool | Does | API call |
|---|---|---|
create_assessment |
Assesses identifiers (email, phone, username, name, IP) for a signup or gateway decision. Sends a fresh Idempotency-Key when the agent gives none. |
POST /v1/assessments |
get_assessment |
Reads the latest version of one assessment. | GET /v1/assessments/{id} |
wait_for_assessment |
Polls a pending assessment at the interval Retry-After asks for, until it settles or timeout_seconds pass (default 25, at most 55). |
GET /v1/assessments/{id} |
query_assessments |
Pages through one account’s unexpired assessments, newest first. | POST /v1/assessments/query |
record_outcome |
Reports what you later learned about an assessed account. | POST /v1/assessments/{id}/outcomes |
Key rotation is not a tool. Rotate keys from your own backend, as in Rotate a key.
Each tool needs the scope its API call needs: assess for create_assessment and record_outcome, assess or history for get_assessment and wait_for_assessment, and history for query_assessments. Give the agent a key with only the scopes its job needs.
Hosted server
Section titled “Hosted server”The server at https://mcp.noresponse.org/mcp speaks MCP over Streamable HTTP. Send your key as Authorization: Bearer <key> on every request. The server passes that header to the API and stores nothing: it keeps no key and logs no request.
In a client that reads an mcpServers file, such as Claude Code (.mcp.json) or Cursor (.cursor/mcp.json):
{ "mcpServers": { "noresponse": { "type": "http", "url": "https://mcp.noresponse.org/mcp", "headers": { "Authorization": "Bearer ${NORESPONSE_API_KEY}" } } }}With the Claude Code CLI:
claude mcp add --transport http noresponse https://mcp.noresponse.org/mcp \ --header "Authorization: Bearer $NORESPONSE_API_KEY"Local server
Section titled “Local server”The @noresponse/mcp package runs the same server over stdio with Node.js 20 or later. It reads your key from NORESPONSE_API_KEY.
{ "mcpServers": { "noresponse": { "command": "npx", "args": ["-y", "@noresponse/mcp", "start"], "env": { "NORESPONSE_API_KEY": "nrk_..." } } }}start --tool <name> mounts only the tools you name, for example --tool create_assessment --tool wait_for_assessment for an agent that only assesses. start --server-url <url> points the server at another API host.
Claude Desktop
Section titled “Claude Desktop”Download noresponse.mcpb from mcp.noresponse.org/noresponse.mcpb or from a release, and open it with Claude Desktop. Paste your API key when it asks. The key stays on your computer and is sent only to the API.
What the agent gets back
Section titled “What the agent gets back”Each tool returns the API’s JSON body as text, so the agent reads the same assessment object your backend does. An error returns the problem document with the tool result marked as an error.
A create_assessment call can answer pending. Have the agent call wait_for_assessment with the assessment_id, and treat a pending assessment the way your own pending policy does: it has no recommendation yet. Recommendations are advice for your own decision, as in Turn an assessment into a decision.