Skip to main content

MCP Tools & Servers API

The MCP Tools & Servers API provides programmatic access to Nexla's MCP-as-a-Service platform. Create AI tools from Nexsets, organize them into ToolSets, deploy MCP servers, register external MCP servers via Gateway, execute tools directly, and query execution receipts.

Base URL

All API requests are made against:

https://api-genai.nexla.io/

All endpoints are prefixed with /v1/ unless otherwise noted.

Authentication

All API requests require authentication via a Nexla service key passed in the Authorization header:

Authorization: Bearer <NEXLA_SERVICE_KEY>

All resources are scoped to the authenticated user's organization. For MCP endpoints, OAuth (Google and Azure) is also supported. See Authentication for details.

API Reference

Endpoint GroupBase PathDescription
Tools/v1/toolsCreate, manage, and execute AI tools
ToolSets/v1/toolsetsOrganize tools into deployable bundles
MCP Protocol/mcp/*MCP Streamable HTTP and session management
Gateway/v1/toolsets/{id}/gatewayRegister external MCP servers and sync tools
Receipts/v1/receiptsQuery execution audit trail

Quick Start

Create a ToolSet from existing Nexsets with a single request:

curl -X POST https://api-genai.nexla.io/v1/toolsets:from_nexsets \
-H "Authorization: Bearer $NEXLA_SERVICE_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "My AI ToolSet",
"nexset_ids": [123, 456],
"create_export": true
}'

The response includes the newly created ToolSet with its auto-generated tools and an MCP server URL you can point any MCP-compatible client to.

Common Patterns

Pagination

List endpoints accept limit and offset query parameters. The maximum page size is 200.

GET /v1/tools?limit=50&offset=100

Filtering

Most list endpoints support filtering by status, search, tags, and date range parameters to narrow results.

Error Responses

Errors follow a standard JSON format:

{
"error_code": "RESOURCE_NOT_FOUND",
"message": "ToolSet with id 999 not found",
"details": {}
}

Rate Limiting

The API enforces per-principal rate limits. When exceeded, requests receive an HTTP 429 response with a Retry-After header. See Rate Limiting & Error Handling for thresholds and best practices.