Developer Hub · Model Context Protocol

Let your AI tools read your Windows PC.

The Tempered Developer Hub is a local, read-only MCP server on your Windows PC. Claude Code, Claude Desktop, or any MCP client on the same machine can ask it what is actually running — measured readings and conservative classifications, not guesses from shell commands.

By · Published · Updated

Jump to setup
SERVERREAD-ONLY
11Tools exposed 1Command to connect 0Write actions
Loopback only · token required

What is the Tempered Developer Hub?

The Developer Hub is a local, read-only MCP server built into the Tempered app: when you turn it on, AI tools on the same Windows PC can ask Tempered about the machine. The Model Context Protocol (MCP) is an open standard that lets AI assistants call tools provided by other software. Tempered serves it over Streamable HTTP, one of the two standard transports in the transports section of the MCP specification, at http://127.0.0.1:47896/mcp.

The practical difference: ask an AI assistant “what's eating my RAM?” without this and it will spawn its own shell commands and interpret raw output. With Tempered connected, it gets the same measured, grouped, conservatively classified process list the app itself shows — including the “unknown means unknown” discipline, so nothing gets confidently mislabelled.

The hub is part of the Torque plan, arrived in Tempered 0.2.4, and stays off until you switch it on. The Torque and Torque Max prices and limits are on the pricing page, and the rest of the app is described in the full feature list.

What can a connected AI tool read?

Eleven tools, and every one of them only reads: get_app_info, get_live_metrics, list_processes, list_services, list_startup_entries, list_installed_apps, get_specs, list_tweaks, scan_junk, get_change_ledger, and get_process_watch_log. Each returns JSON text, and none of them takes arguments.

  • get_app_info — Tempered's version, your plan, whether Tempered is running as administrator, and whether low power mode and run-in-background are on.
  • get_live_metrics — the latest snapshot behind the Dashboard: CPU, RAM and GPU load, GPU temperature where the card reports one, CPU temperature only when a trustworthy source exists (otherwise the reason there is none), network throughput, fixed disks, and uptime. Monitoring pauses while the window is closed to the tray, so the snapshot can be older than now; each one carries its timestamp. Before the first reading, it returns a note instead of numbers.
  • list_processes — every running process group with RAM, CPU, and its classification: essential, safe to suspend, or unknown.
  • list_services — Windows services with state and start mode.
  • list_startup_entries — entries from the registry Run keys and the two Startup folders (yours and the all-users one), with each one's enabled state. Task Scheduler entries are not included.
  • list_installed_apps — installed programs from the registry, with publisher, version, and size.
  • get_specs — hardware and OS specs, read from Windows when asked. It takes a few seconds.
  • list_tweaks — the tweak catalog with each tweak's current state as read from Windows.
  • scan_junk — sizes of the junk categories (temp files, caches, Recycle Bin). It measures and deletes nothing.
  • get_change_ledger — the Undo Center ledger: the changes Tempered recorded, each with its previous value and whether it can be undone. Scans, readings, and some of Tempered's own preferences leave no row, so it is not a complete history.
  • get_process_watch_log — Process Watch status and its sightings, up to the 500 most recent that Tempered keeps.

From Tempered 0.5.9, icon image data is left out of every answer. A picture encoded as text is noise to an AI tool reading JSON.

How do I connect Claude Code?

Run the one command the Developer Hub screen writes for you. In Tempered, open Develop → Developer Hub, turn the hub on, and copy the Claude Code command. It has this form:

claude mcp add --transport http tempered http://127.0.0.1:47896/mcp --header "Authorization: Bearer YOUR_TOKEN"

The copied command already carries your token in place of YOUR_TOKEN. It uses the claude mcp add --transport http form that Anthropic's Claude Code documentation on connecting MCP servers describes for remote HTTP servers. After that, a question such as “which processes are using the most RAM right now?” can be answered from list_processes instead of from shell commands the assistant writes itself.

How do I connect Claude Desktop or another MCP client?

Use the settings JSON the same screen shows, or point any Streamable HTTP MCP client at the endpoint with the token in an Authorization header. The block the screen offers for Claude Desktop has this shape:

{
  "mcpServers": {
    "tempered": {
      "type": "http",
      "url": "http://127.0.0.1:47896/mcp",
      "headers": { "Authorization": "Bearer YOUR_TOKEN" }
    }
  }
}

Tempered must be running on the same PC with the hub switched on. The server is built on the official MCP TypeScript SDK, version 1.29.0, and runs it stateless: each POST is handled on its own, answers come back as plain JSON rather than an event stream, and there is no session to keep open. A GET request gets 405 Method Not Allowed.

What does a raw request look like?

One POST carrying the token, a JSON content type, and an Accept header that lists both application/json and text/event-stream, as the specification requires of every client POST. No initialize handshake is needed first, because each request stands alone. Save this as call.json:

{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "get_app_info", "arguments": {}}}

Then send it with curl.exe, which comes with Windows 10 (version 1803 and later) and Windows 11:

curl.exe -s http://127.0.0.1:47896/mcp -H "Authorization: Bearer YOUR_TOKEN" -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" --data "@call.json"

The answer is a JSON-RPC result whose content holds one text block: the tool's output as JSON. Leave text/event-stream out of the Accept header and the server answers 406 Not Acceptable. Swap get_app_info for any tool name above, or send "method": "tools/list" to get the list itself.

Can it change anything on my PC?

No. The server has no action tools: nothing in it ends a process, disables a startup entry, applies a tweak, or deletes a file, so a connected AI tool can read but cannot change anything. Changing anything still takes a click inside the Tempered app.

How is the server protected?

By several separate checks, so no single switch is the only thing in the way. Each one below is enforced by the server itself:

  • Off by default. Nothing listens on port 47896 until you turn the hub on, and turning it off stops the server. If you leave it on, it starts again the next time Tempered launches.
  • Local only. The server binds to 127.0.0.1. It is not reachable from your network, let alone the internet.
  • Token on every request. The token is 24 random characters generated on your PC and shown only inside the app. A missing or wrong token gets 401. Regenerate it at any time; the old one stops working from the next request.
  • Never a browser. Any request carrying an Origin header is refused with 403 before anything else is checked, so a web page cannot probe the endpoint even from your own machine.
  • Plan checked on every request. On the free plan the server answers 403, so if a subscription ends, a hub left switched on stops answering.
  • Size limit. Request bodies over 1 MB are refused.

Loopback does not keep out other programs on the same PC: any program that holds the token can read what the tools return. That is the point of the hub, so treat the token like a password and regenerate it if it has been pasted somewhere it should not be.

The hub makes no outbound network requests of its own; it only answers requests that reach 127.0.0.1. What your AI tool does with the answers is up to that tool, which may send them to its own cloud model. The privacy policy covers what the rest of Tempered sends and when.

Can I see what a connected tool asked?

Yes, as a list of tool names and times on the Developer Hub screen. Tempered keeps the 100 most recent tool calls in memory, and the screen shows the latest 30.

The list is cleared when Tempered quits. It records which tool was called, not which program called it. Listing the tools is not logged, and a request refused for a missing token, a browser origin, or the free plan never reaches a tool, so it does not appear either.

What are the limits?

  • Read-only in this version. To suspend a process, disable a startup entry, or apply a tweak, use the app.
  • Torque or Torque Max. The free plan cannot turn the hub on.
  • Same PC, Tempered running. The MCP client must run on the PC Tempered is installed on. With “Allow Tempered to run in the background” on, closing the window hides Tempered to the tray and the hub keeps answering, though live metrics pause.
  • Fixed port. 47896 cannot be changed. If another program already holds it, turning the hub on says the port is in use.
  • Whole lists, no filters. Tools take no arguments, so list_processes and list_services return everything and can be long.
  • Requirements. Windows 10 or 11 (64-bit) and Tempered 0.2.4 or newer.

Plan and privacy questions that go beyond this page are answered in the Tempered FAQ.

Early access

See the readings before you change the machine.

Early access is rolling out in small batches. We will only email you when it is your turn.