Bản dịch này được tạo bằng máy và đang chờ xem xét.Chuyển sang tiếng Anh
Trên trang này

MCP server

Connect an AI assistant or your own code to your workspace through the Model Context Protocol with a scoped token.

One endpoint, POST /api/mcp on https://backoffice.noxtica.com (production), authenticated with an MCP token (Authorization: Bearer mcp_...) created under Integrations & API, MCP tokens. The token’s scopes decide which tools it can call; call tools/list for the current catalogue.

EnvironmentBase URL
Productionhttps://backoffice.noxtica.com

Credential: McpTokenAuth. See Authentication.

Send one MCP JSON-RPC request

POST /api/mcp

Sends one JSON-RPC 2.0 request and returns one JSON-RPC 2.0 response. Set Content-Type: application/json. Notifications and batches are not supported: send one request object with a method and, for calls that expect an answer, an id.

The HTTP status is 200 for every JSON-RPC outcome, including errors, except for the transport failures 401, 404, 429 and 500.

Authentication: Bearer token (McpTokenAuth).

Request body

Content type application/json, required.

FieldTypeRequiredDescription
jsonrpcstringYesAllowed values: 2.0.
idstring or integer, nullableNoEchoed in the response. Omit only for requests where you do not need the answer correlated.
methodstringYesOne of initialize, tools/list, tools/call, resources/list, resources/templates/list, resources/read.
paramsobjectNoMethod parameters. tools/call takes {name, arguments}; resources/read takes {uri}; initialize may carry protocolVersion.

Responses

StatusMeaningError codesContent
200A JSON-RPC response: result on success or error on failure (the HTTP status is 200 in both cases). With streamable transport negotiated and Accept: text/event-stream, the same object is sent as one text/event-stream message event.application/json JsonRpcResponse, text/event-stream
401unauthorized — the Authorization header is missing or the token is unknown, revoked or expired. The body is identical for every cause.unauthorizedapplication/json McpHttpError
404not_found — the MCP server is not enabled for this deployment; the body is the same as for a path that does not exist.not_foundapplication/json McpHttpError
429rate_limited — the token exceeded its request limit. Wait Retry-After seconds.rate_limitedapplication/json McpHttpError
500internal_error — an unexpected server error. Retry with backoff.internal_errorapplication/json McpHttpError

Response headers

StatusHeaderTypeDescription
200X-RateLimit-BucketstringThe name of the rate-limit bucket (mcp).
200X-RateLimit-LimitintegerThe request limit of the token’s bucket.
200X-RateLimit-RemainingintegerRequests left in the current window.
200X-RateLimit-ResetintegerUnix time, in seconds, at which the window resets.
429Retry-AfterintegerSeconds until the token may call again.
429X-RateLimit-BucketstringThe name of the rate-limit bucket (mcp).
429X-RateLimit-LimitintegerThe request limit of the token’s bucket.
429X-RateLimit-RemainingintegerRequests left in the current window.
429X-RateLimit-ResetintegerUnix time, in seconds, at which the window resets.

Response fields (200, application/json)

FieldTypeAlways returnedDescription
jsonrpcstringYesAllowed values: 2.0.
idstring or integer, nullableYes
resultanyNoPresent on success. For tools/call: {content: [{type: "text", text: "<JSON>"}], isError: false}. For tools/list: {tools: [...]}. For initialize: {protocolVersion, serverInfo, capabilities}.
errorobject (JsonRpcError)Nocode values: -32700 the body is not valid JSON; -32600 no method; -32601 unknown method; -32602 invalid parameters, or the result exceeds 200 KB; -32603 the tool or resource failed; -32001 the token’s scopes or tool list do not allow the tool (data.requiredScope names the missing scope); -32002 tool not found for this token; -32003 the monthly query allowance is used up; -32004 too many tool calls (data.retryAfterSeconds, data.limit, data.windowSeconds); -32005 MCP is not included in the plan; -32006 resource not found.
error.codeintegerYesAllowed values: -32700, -32600, -32601, -32602, -32603, -32001, -32002, -32003, -32004, -32005, -32006.
error.messagestringYes
error.dataobjectNoOptional structured detail, for example requiredScope or retryAfterSeconds.
error.data.requiredScopestringNo
error.data.retryAfterSecondsintegerNo
error.data.limitintegerNo
error.data.windowSecondsintegerNo
error.data.codestringNo

Response example (200)

{
  "jsonrpc": "2.0",
  "id": null,
  "error": {
    "code": -32700,
    "message": "Parse error"
  }
}

Example request

curl

curl -X POST "https://backoffice.noxtica.com/api/mcp" \
  -H "Authorization: Bearer $NOXTICA_MCP_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "list_alerts",
    "arguments": {
      "limit": 25
    }
  }
}'

Node.js (global fetch, Node 18 or later)

const response = await fetch('https://backoffice.noxtica.com/api/mcp', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.NOXTICA_MCP_TOKEN}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    jsonrpc: '2.0',
    id: 2,
    method: 'tools/call',
    params: {
      name: 'list_alerts',
      arguments: {
        limit: 25,
      },
    },
  }),
});
console.log(response.status, await response.text());

Python (standard library)

import json
import os
import urllib.request

request = urllib.request.Request(
    "https://backoffice.noxtica.com/api/mcp",
    data=json.dumps({
        "jsonrpc": "2.0",
        "id": 2,
        "method": "tools/call",
        "params": {
            "name": "list_alerts",
            "arguments": {
                "limit": 25,
            },
        },
    }).encode(),
    headers={
        "Authorization": f"Bearer {os.environ['NOXTICA_MCP_TOKEN']}",
        "Content-Type": "application/json",
    },
    method="POST",
)
with urllib.request.urlopen(request) as response:
    print(response.status, response.read().decode())

This page is generated from the Noxtica OpenAPI specification release v0.4.0: mcp.yaml version 0.1.0-2026-10-27 (SHA-256 1a4875efa736). Do not edit it by hand.