MCP Tools

REST Catalog Tools

The API Gateway seeds these tools on startup. Search the web for information.
{
  "query": "SynapseX MCP gateway",
  "num_results": 5
}

code-interpreter

Execute Python code in a sandboxed environment.
{
  "code": "print('hello')",
  "timeout": 30
}

file-read

Read files from the filesystem.
{ "path": "/var/log/app.log" }

MCP Toolkit Tools

The toolkit tools are designed for VM-agent dispatch. Every tool requires vm_id in its MCP input.

System Operations

ToolRequired inputDescription
restart_servicevm_id, service_nameRestart a systemd service
tail_logsvm_idTail service journal or log file
get_metricsvm_idReturn CPU, RAM, disk, and network metrics
list_processesvm_idList top processes by CPU or memory
kill_processvm_id, pidSend SIGTERM, SIGKILL, or SIGHUP
run_diagnosticvm_idRun a host diagnostic bundle
check_portvm_id, portCheck whether a TCP port is listening
disk_usagevm_idInspect filesystem usage
clear_cachevm_idDrop Linux page, dentry, and inode caches
run_commandvm_id, cmdExecute a sandboxed shell command
read_log_filevm_id, pathRead a log file with optional grep
check_service_statusvm_id, service_nameQuery systemd service status

Security

ToolRequired inputDescription
vuln_scanvm_idRun vulnerability scan
cve_lookupvm_id, cve_idLook up CVE details
port_checkvm_idCheck open ports
log_grepvm_id, patternSearch system logs

Backup And Database

ToolRequired inputDescription
backup_vmvm_idTrigger VM backup
restore_vmvm_id, backup_idRestore a VM backup
create_snapshotvm_idCreate a VM snapshot
db_queryvm_id, query, databaseExecute read-only SQL
db_checkpointvm_id, databaseForce a DB checkpoint
vacuum_dbvm_id, databaseReclaim database storage

JSON-RPC Examples

List Tools

{
  "jsonrpc": "2.0",
  "id": "tools",
  "method": "tools/list",
  "params": {}
}

Call get_metrics

{
  "jsonrpc": "2.0",
  "id": "metrics-1",
  "method": "tools/call",
  "params": {
    "name": "get_metrics",
    "input": { "vm_id": "vm-123" }
  }
}

Call tail_logs

{
  "jsonrpc": "2.0",
  "id": "logs-1",
  "method": "tools/call",
  "params": {
    "name": "tail_logs",
    "input": {
      "vm_id": "vm-123",
      "service_name": "nginx",
      "lines": 100
    }
  }
}