MCP Server API

REST API for deploying and managing Model Context Protocol (MCP) servers.

Base URL

https://api.cloud.tenzro.com/server

Endpoints

Create Server

POST /server/servers
Content-Type: application/json
X-Project-ID: proj_xyz
{
"name": "database-tools",
"description": "Database access tools",
"data_source": {
"type": "data",
"id": "data_abc123"
},
"tools": [
{
"name": "query_users",
"description": "Query user data",
"input_schema": {
"type": "object",
"properties": {
"filter": { "type": "object" },
"limit": { "type": "number" }
}
}
}
],
"public_access": false,
"min_instances": 1,
"max_instances": 5
}
# Response
{
"server_id": "srv_abc123",
"name": "database-tools",
"status": "deploying",
"endpoint": "wss://mcp.cloud.tenzro.com/srv_abc123",
"created_at": "2024-01-15T00:00:00Z"
}

List Servers

GET /server/servers
X-Project-ID: proj_xyz
# Response
{
"servers": [
{
"server_id": "srv_abc123",
"name": "database-tools",
"status": "running",
"instances": 2,
"connections": 15
}
]
}

Get Server

GET /server/servers/{server_id}
# Response
{
"server_id": "srv_abc123",
"name": "database-tools",
"status": "running",
"endpoint": "wss://mcp.cloud.tenzro.com/srv_abc123",
"tools": [
{
"name": "query_users",
"description": "Query user data"
}
],
"metrics": {
"requests_today": 1500,
"avg_latency_ms": 45
}
}

Update Server

PATCH /server/servers/{server_id}
Content-Type: application/json
{
"max_instances": 10,
"tools": [
{
"name": "query_users",
"description": "Updated description"
}
]
}
# Response
{
"server_id": "srv_abc123",
"updated_at": "2024-01-15T12:00:00Z"
}

Scale Server

POST /server/servers/{server_id}/scale
Content-Type: application/json
{
"instances": 5
}
# Response
{
"server_id": "srv_abc123",
"instances": 5,
"scaling_at": "2024-01-15T12:00:00Z"
}

Restart Server

POST /server/servers/{server_id}/restart
# Response
{
"server_id": "srv_abc123",
"status": "restarting"
}

Get Logs

GET /server/servers/{server_id}/logs?lines=100
# Response
{
"logs": [
{
"timestamp": "2024-01-15T12:00:00Z",
"level": "info",
"message": "Tool query_users executed successfully"
}
]
}

Delete Server

DELETE /server/servers/{server_id}
# Response
{
"success": true,
"deleted_at": "2024-01-15T12:00:00Z"
}

Server Status

StatusDescription
deployingServer is being deployed
runningServer is active and accepting connections
scalingServer is scaling up/down
stoppedServer is stopped
errorServer encountered an error

Connecting to MCP Server

import { Client } from '@modelcontextprotocol/sdk/client/index.js';
const client = new Client({
name: 'my-app',
version: '1.0.0',
});
await client.connect({
url: 'wss://mcp.cloud.tenzro.com/srv_abc123',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
},
});
// List available tools
const tools = await client.listTools();
// Call a tool
const result = await client.callTool({
name: 'query_users',
arguments: { limit: 10 },
});

Error Responses

{
"error": {
"code": "server_not_found",
"message": "Server 'srv_xyz' not found",
"status": 404
}
}