AI Agent Access (MCP)

Give AI agents (Claude, IDE agents, your own tooling) controlled access to your New Instance data over the Model Context Protocol. One endpoint, stateless JSON-RPC 2.0:

POST https://service.newinstance.cloud/mcp
x-api-key: sk_live_KEYID:secret        (or Authorization: Bearer KEYID:secret)
Content-Type: application/json
Accept: application/json, text/event-stream
  • Server keys only. Publishable widget keys (bare key ID) are rejected with 401 / JSON-RPC -32001.
  • Org scoping is automatic — every tool runs against the org that owns the key; there is no way to pass another org.
  • Scope-filtered tools — a key sees only tools for products in its scopes (FULL_ACCESS sees all).
  • Stateless — each POST is independent; no session handshake is required (send initialize only if your client library insists). GET/DELETE return 405.
  • Responses stream back as a single SSE frame (data: {…}) — the tests in this folder parse both SSE and plain JSON.

Current tools (BugWatch): bugwatch_list_projects, bugwatch_list_issues, bugwatch_root_cause_analysis.

Claude Desktop config example:

{ "mcpServers": { "newinstance": {
    "url": "https://service.newinstance.cloud/mcp",
    "headers": { "x-api-key": "sk_live_KEYID:secret" } } } }
POST/mcp

List available tools

List the tools this key can use. Keys scoped to BugWatch (or FULL_ACCESS) see the three BugWatch tools; a key with no matching product scopes sees an empty list.

Responseresult.tools[] with name, description and a JSON-Schema inputSchema per tool.

Headers

x-api-key
Accept

Request body

application/json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/list"
}

Responses

Successful response

null
boltTry it
env
POSThttps://api.newinstance.cloud/mcp

Headers

x-api-key
Accept

Request body

Code samples

curl -X POST 'https://api.newinstance.cloud/mcp' \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/list"
}'