Lightweight PyQt6 GUI tester for MCP servers over Streamable HTTP: list tools, fill parameters from each inputSchema, call tools, and inspect results.
Project description
mcp-gui-tester
A lightweight PyQt6 GUI tester for MCP servers speaking the
Model Context Protocol Streamable HTTP
transport (JSON-RPC over POST).
Connect to a running server, browse its tools, fill in parameters through a
form generated from each tool's inputSchema, call the tool, and inspect the
result — no Node toolchain, no browser, just pip install.
Developed alongside the MoleditPy MCP Server plugin, but fully generic: it works with any MCP server exposing tools over Streamable HTTP.
Installation
pip install mcp-gui-tester
Usage
mcp-gui-tester # defaults to http://127.0.0.1:7891/mcp
mcp-gui-tester --url http://localhost:9000/mcp # any MCP HTTP endpoint
python -m mcp_gui_tester # equivalent
- Adjust Host / Port / Path if needed and click Connect — the status bar shows the server name, version, and tool count.
- Select a tool from the filterable list.
- Fill in the parameters and click Call Tool.
- Inspect the formatted Result tab or the Raw JSON tab.
Features
- Tool browser — lists every tool from
tools/listwith its description; filter by name or description text - Schema-driven parameter forms, generated from each tool's
inputSchema:- strings → line edit (multi-line editor for code / file-content / XYZ / MOL block parameters)
- integer / number → spinbox, boolean → checkbox
- array / object → JSON editor, validated before sending
enum→ dropdown,defaultvalues pre-filled- optional parameters carry a send checkbox and are omitted unless
checked; required parameters are marked with
*
- Result view — formatted text (tool errors flagged with
[TOOL ERROR]) plus the raw JSON-RPC response - Responsive — calls run on a background thread, so slow tools never freeze the GUI
Scope
This is deliberately a small tool. It supports the Streamable HTTP transport
and the tools/* capability (initialize, tools/list, tools/call).
It does not currently speak stdio transport, SSE streaming, authentication,
or the resources/prompts capabilities. For a full-featured inspector, see the
official MCP Inspector.
Requirements
- Python 3.9+
- PyQt6 (installed automatically)
License
GPL-3.0-only — see LICENSE.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_gui_tester-0.2.0.tar.gz.
File metadata
- Download URL: mcp_gui_tester-0.2.0.tar.gz
- Upload date:
- Size: 22.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
92c06bd7aa1d84cc6d6ec520801c371472e609754dd29f19257abfb6013f9d46
|
|
| MD5 |
6fa74ba0ceb4eae260c0a987e309ef04
|
|
| BLAKE2b-256 |
0722fb6d9da77f7ba18f80e236f2585cfd1d97081917fa9188864c178e9d0147
|
File details
Details for the file mcp_gui_tester-0.2.0-py3-none-any.whl.
File metadata
- Download URL: mcp_gui_tester-0.2.0-py3-none-any.whl
- Upload date:
- Size: 22.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b53b572a553c83767cd31d6a32ecaff889ecb15d737b7bd6a05dd9be9e36078
|
|
| MD5 |
bd76316d9900bafe96336e7142a99fa9
|
|
| BLAKE2b-256 |
d56d79bc349017dedddece25c5555e225b59bb2343c3afca8efd648a561151f2
|