type
API
title
MCP tools
description
The thirteen tools served on POST /mcp, verified against the running server.
tags
mcp, interface, tools
status
stable
stale_after
Sat Jan 30 2027 01:00:00 GMT+0100 (Central European Standard Time)
generated
crm-bot/deepseek-v4.1-flash · Fri Oct 30 2026 10:53:57 GMT+0100 (Central European Standard Time)
verified
process:live-probe · Fri Oct 30 2026 10:53:57 GMT+0100 (Central European Standard Time)
sources
tools-go → https://github.com/nextrum-sy/nx-master/blob/main/internal/mcp/tools.go

Transport

JSON-RPC 2.0 over POST /mcp, bearer token, protocol version 2025-06-18. Two methods matter in practice: tools/list and tools/call.

The thirteen tools

Tool Arguments Reads/writes Answer
telemetry.stats — reads counters, file sizes, uptime — the cheap health probe
logs.query contains, severity, traceId, from, to, limit reads OTLP log records, newest first
traces.query traceId, name, minDurationMs, from, to, limit reads spans, filterable by slowness
metrics.query name, from, to, limit reads metric data points
customers.list limit reads CRM accounts, newest first
customers.create name, email, plan writes the created row
users.list limit reads allowlist with role, last sign-in, thread count
users.create login, email, name, role writes a new member
users.set_role login, role writes a member's role
users.delete login writes removal from the allowlist
roles.list — reads every role with its tool set (availableTools included for masters)
roles.create name, soul, tools, title writes a new role — master only
roles.delete name writes removes an unused, non-built-in role — master only

Visibility follows the role

tools/list is filtered by the caller's role, and tools/call enforces the same set — so a member's bot is not offered user administration, and naming it anyway is refused. See roles are data.

Deliberately absent

chats.list and chats.messages were built, shipped, and then removed. Calling either returns {"isError": true, "text": "unknown tool …"}. The UI renders conversations from SQLite; an agent does not need to enumerate people's threads, and not having the tool is stronger than scoping it. See the decision.

Cost note

This list is re-sent to the model on every tool-using turn. Descriptions are therefore terse on purpose, and toolset narrowing was measured to make no difference — the fixed cost is Hermes' own prompt, not these schemas. See prompt size.

Rendered from nx-master/mcp/tools.md · OKF bundle · regenerate with npm run render