Test Local and stdio MCP Servers on Your Machine

Desktop appmacOS · Windows

MCP Playground Desktop is a desktop app for testing Model Context Protocol servers that run on your own computer: stdio servers started from a command, and HTTP or SSE servers on localhost. Connect, list and run tools, resources and prompts, read every JSON-RPC message, and let an AI model call your tools, without deploying anything.

Download MCP Playground Desktop

Version 0.1.0

Mac builds are signed and notarized by Apple. Free 7-day trial with a free account, then included with paid plans. Not sure which Mac you have? Apple menu → About This Mac: “Chip: Apple M…” means Apple Silicon.

MCP Playground Desktop connected to a stdio MCP server started with npx tsx ./src/server.ts: four tools listed, the search_issues tool form, and the JSON-RPC log
A stdio server started with npx tsx ./src/server.ts: tools on the left, the tool form, and the JSON-RPC log below.

Why local MCP servers need a desktop app

Most MCP servers start life on a laptop. Claude Desktop, Cursor and VS Code launch them over the stdio transport: the client runs a command such as npx, uvx or python server.py and exchanges JSON-RPC over the process’s stdin and stdout. There is no URL to paste.

A web page can’t do either half of that. It can’t start a program on your computer, and browsers block an HTTPS page from calling http://localhost. That’s why the browser-based MCP Server Tester only works with servers that have a public HTTPS URL. The desktop app runs on your machine, so it can do both.

How to test a stdio MCP server

  1. Install the app and sign in. Download MCP Playground Desktop for your Mac (Apple Silicon or Intel) or get it from the Microsoft Store on Windows. Open it and sign in with your browser, using a free MCP Playground account.
  2. Add your server. Choose stdio and enter the command that starts your server, for example npx tsx ./src/server.ts or uv run server.py, with any arguments, a working directory and environment variables. For an HTTP server, choose HTTP or SSE and enter its localhost URL and any headers. Or import the servers already configured in Claude Desktop, Cursor, VS Code, Windsurf or Claude Code.
  3. Connect. The app starts the process (or opens the connection), runs the initialize handshake and lists the server’s tools, resources and prompts. If the server fails to start or crashes, what it wrote to stderr appears in the log, so you see the reason instead of a silent failure.
  4. Run tools and read the protocol log. Pick a tool, fill in its arguments from a form generated from the tool’s JSON Schema, and run it. Every JSON-RPC request and response is listed in order in the log, so you can see exactly what your server sent back.
  5. Let an AI model use your tools. Open Agent Studio, pick one of 80+ models such as Claude, GPT or Gemini, and chat. You see which tools the model chooses, the arguments it sends and the results, before you wire the server into a real client.

Typical stdio commands:

# TypeScript, from source
npx tsx ./src/server.ts

# A published npm server
npx -y @modelcontextprotocol/server-filesystem ~/projects

# Python with uv
uv run server.py

# Built JavaScript
node build/index.js

Testing an MCP server on localhost

If your server speaks Streamable HTTP, start it yourself and connect to its local URL, usually http://localhost:3000/mcp (or /sse for the older HTTP+SSE transport). Add headers such as Authorization: Bearer … if your server checks them. Once it works locally and you deploy it, the same server can be tested from the browser with the online MCP Server Tester or checked with the MCP Security Scanner.

What the desktop app does

stdio servers

Runs your server command as a child process and speaks JSON-RPC over its stdin and stdout. Arguments, working directory and environment variables are set per server.

localhost and remote URLs

Streamable HTTP and the older HTTP+SSE transport, with custom headers for API keys and Bearer tokens. Works with http://localhost, which a browser page cannot reach.

Tools, resources and prompts

Browse everything the server exposes. Tool arguments get a form built from each input schema, and results are shown as formatted JSON.

JSON-RPC protocol log

Every message in both directions, in order, including the initialize handshake and error responses, plus anything the server writes to stderr.

Agent Studio

Chat with 80+ AI models that can call your server’s tools, to check tool descriptions and argument shapes against a real model.

Import your existing config

Reads the MCP servers already set up in Claude Desktop, Cursor, VS Code, Windsurf and Claude Code, or a pasted mcpServers JSON block.

Finds your tools

Loads the PATH from your login shell, so npx, uv, node and python resolve the way they do in your terminal. This is the usual cause of spawn npx ENOENT in desktop MCP clients.

History and saved connections

Recent tool calls are kept for re-running, and saved connections, sign-in and API keys are encrypted with your operating system’s keychain.

Desktop app, MCP Inspector or browser tester?

MCP Playground DesktopMCP Inspector (npx)Browser tester
stdio serversYesYesNo
localhost HTTP / SSEYesYesNo
Public HTTPS serversYesYesYes
InstallApp (.dmg / Microsoft Store)Node.js + npx each runNone
Saved connections and historyYesNoYes, when signed in
Import Claude Desktop / Cursor / VS Code configYesNoNo
AI models calling your tools80+ modelsNo80+ models
Price7-day trial, then paid plansFree, open sourceFree

Common local MCP server errors

spawn npx ENOENT (or uvx, node, python)
The client could not find the program. Apps opened from the Dock or Start menu get a shorter PATH than your terminal. MCP Playground Desktop loads your login shell’s PATH; elsewhere, use the full path from which npx.
Parse error or “Unexpected token” right after connecting
Something printed to stdout. In stdio, stdout is reserved for JSON-RPC; send logs to stderr.
The server exits immediately
Usually a missing environment variable (an API key) or the wrong working directory. Set both on the connection and read the server’s stderr in the log.
Connection refused on localhost
The HTTP server isn’t running, or listens on a different port or path. Check the exact URL, including /mcp or /sse.

More fixes in common MCP server errors and how to fix them.

System requirements

  • macOS: macOS 13 Ventura or later, Apple Silicon or Intel. Signed with a Developer ID and notarized by Apple.
  • Windows: Windows 10 or 11, 64-bit, from the Microsoft Store.
  • Account: a free MCP Playground account. The same account and credits work on the website and in the app.
  • Your server’s runtime: whatever your server needs to run (Node.js, Python, uv, Docker), installed as usual.

Frequently asked questions

How do I test a local MCP server?
Use an MCP client that runs on your own machine. In MCP Playground Desktop, add the server with its start command (stdio) or its localhost URL (HTTP or SSE), click Connect, then list and run its tools while watching the JSON-RPC log. Nothing needs to be deployed or exposed to the internet.
How do I test an MCP server that uses the stdio transport?
A stdio server is started by the client as a child process, so the client needs the command, not a URL. Enter the command and arguments (for example npx -y @modelcontextprotocol/server-filesystem ~/projects, or uv run server.py), plus any environment variables the server needs. The app starts the process, performs the initialize handshake and shows the server’s tools, resources and prompts.
Why can’t a browser-based MCP tester connect to my local server?
A web page cannot start programs on your computer, so it cannot run a stdio server at all. It also cannot reliably call http://localhost from an HTTPS site, because browsers block that as mixed content and private-network access. Hosted testers such as the MCP Server Tester work for servers with a public HTTPS URL; local servers need a desktop app or a locally run tool.
Is MCP Playground Desktop an alternative to the MCP Inspector?
It covers the same core job, connecting to a server and calling its tools, resources and prompts, as an installed app rather than a command you run with npx. It adds saved connections, importing from Claude Desktop, Cursor and VS Code configs, call history, and Agent Studio for testing your tools with real AI models. The official Inspector is free and open source and remains a good choice if you prefer a terminal-launched tool.
How do I fix “spawn npx ENOENT” when starting an MCP server?
ENOENT means the client could not find the npx program. Desktop apps opened from the Dock or Start menu often get a shorter PATH than your terminal, so tools installed with nvm, fnm, Homebrew or Volta are missing. MCP Playground Desktop loads the PATH from your login shell to avoid this. In other clients, use the full path to npx (run which npx in a terminal) as the command.
Why does my stdio MCP server fail with a parse error?
In the stdio transport, stdout carries the JSON-RPC messages, so anything else printed there, such as a console.log or print statement, breaks the stream. Send logs to stderr instead (console.error in Node, print(..., file=sys.stderr) in Python). The desktop app shows stderr output in the log so you can see these messages without breaking the connection.
Which operating systems are supported?
macOS 13 Ventura or later on Apple Silicon (M1 and later) and Intel Macs, and Windows 10 and Windows 11 (64-bit). Mac builds are signed with an Apple Developer ID and notarized by Apple. The Windows app is installed and updated through the Microsoft Store.
Is MCP Playground Desktop free?
You can try the whole app free for 7 days with a free MCP Playground account. After the trial it is included with paid plans. AI model calls in Agent Studio use your organisation’s credits, the same as on the website.
Does the app send my local server’s data anywhere?
Your server runs on your machine and the app talks to it directly; testing tools, resources and prompts does not go through MCP Playground’s servers. When you use Agent Studio, the conversation and the tool results go through MCP Playground to the AI model you chose, so it can respond, as with any AI client.
Can I test servers I already use in Claude Desktop or Cursor?
Yes. The app reads the MCP server entries from Claude Desktop, Cursor, VS Code, Windsurf and Claude Code config files, or from a pasted mcpServers JSON block, and adds them as connections you can test one at a time.

Related

Download MCP Playground Desktop

Version 0.1.0

Mac builds are signed and notarized by Apple. Free 7-day trial with a free account, then included with paid plans. Not sure which Mac you have? Apple menu → About This Mac: “Chip: Apple M…” means Apple Silicon.