Skip to main content

MCP Agents

MCP Agents shows every AI assistant connected to this platform over MCP: who it acts for, which tools it calls, and how many of those calls work. It is also where you choose how the MCP server lists its tools. By the end of this page you will know what each tab shows and what the two settings change.

Open it from Admin Panel → Platform → MCP Agents. Only administrators can open it.

What is recorded

The panel records metadata only: who called which tool, when, from which client, the outcome and how long it took. What was sent and what came back are never stored, so nobody can read them here.

The page has four tabs: Clients, Activity, Usage and Settings.

Clients​

Shown on labs.selfmade.ninja, the Selfmade Ninja Academy platform. On your own platform you will see your own domain and data.
PartWhat it shows
OverviewAssistants and users active in the last 15 minutes, total calls, distinct users, refused and failed calls, and the error rate. Choose the window with 7d, 30d, 90d or 180d.
Users by tierHow many people called as Admin, Paid, Free or Unidentified, counted by the tier they had at the time of each call.
Calls per dayCall volume across the window.
ClientsOne row per AI client, for example Claude Code or ChatGPT, with its users, calls, refusals, failures and when it was last seen.

A client is active when it made a call in the last 15 minutes. A client that is signed in but not calling shows as idle. Click a client to open its requests.

Activity​

Shown on labs.selfmade.ninja, the Selfmade Ninja Academy platform. On your own platform you will see your own domain and data.

Every request, newest first: the time, the user and their tier, the client, the tool that ran, the outcome (ok, refused or failed), how long it took and a request id. Filter by outcome, by tier and by window, or search. Click a row for its details.

The Tool column always names the operation that actually ran, also when the server lists only three tools (see Settings). A call that reached write_lab_file through execute_request shows as write_lab_file.

Usage​

Shown on labs.selfmade.ninja, the Selfmade Ninja Academy platform. On your own platform you will see your own domain and data.

Monthly totals: distinct users by tier, calls, refusals, failures and clients, each compared with the month before, plus distinct users per day and users per client. Pick a month in the top-right corner.

The current month is live. A past month is sealed the first time it is viewed after it ends, and stays available after the individual requests have expired (180 days). Only counts are kept, never who.

Settings​

Shown on labs.selfmade.ninja, the Selfmade Ninja Academy platform. On your own platform you will see your own domain and data.

Server version​

The banner shows which MCP server the platform runs, with its build number and features.

VersionWhat it means
v1Every operation is listed as its own tool. No widgets.
v2, with widgetsRead tools can return interactive widgets, the three-tool mode is available, and the switches below take effect.

If the banner says Unknown, the dashboard could not reach the MCP server at that moment. Reload the page.

The two switches​

SwitchOnOffDefault
List only the three toolsAssistants see only get_service_info, get_type_info and execute_request, and reach every other operation through them.Every tool is listed by name.Off
Show UI widgetsRead tools, such as a lab list or a lab dashboard, may return an interactive widget in clients that can draw one.No tool returns a widget.On
Changes apply within a minute, with no restart

Flip a switch and it is saved at once. The MCP server picks it up within about a minute, without a restart and without disconnecting anyone. Every change is recorded in the audit trail.

Good to know:

  • Nothing becomes allowed or forbidden. "List only the three tools" changes how tools are listed, not what an account may do. Plans, modules and permissions apply exactly as before.
  • Tools that change something never return a widget. Deploying, writing a file or deleting always returns a plain result, whatever the widgets switch says.
  • Clients keep the list they fetched. Most assistants read the tool list when they connect. If one still shows the old list after a minute, reconnect it.
  • Widgets need a server that ships them. If the platform's MCP server was started without widgets, the page says so and On has no effect.

How an assistant works with three tools​

  1. get_service_info finds the operation for the task, for example "delete my database" leads to delete_database. Each match says whether it only reads, writes, or is destructive.
  2. get_type_info returns that operation's arguments.
  3. execute_request runs it. The answer starts with the operation's name, so the user sees what ran without expanding anything:
{"operation": "write_lab_file", "result": {"path": "app/index.html", "written": true}}

A destructive operation runs only once the user has agreed to it, or asked for exactly that action.

Next​