Skip to content

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.

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:

Terminal window
claude mcp add --transport http noresponse https://mcp.noresponse.org/mcp \
--header "Authorization: Bearer $NORESPONSE_API_KEY"

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.

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.

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.