MCP Client Compatibility Probe
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Client Compatibility ProbeCheck which MCP features you support and report them"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Client Compatibility Probe
Small diagnostic MCP server for checking what MCP clients actually support.
The server is intentionally dependency-free and split into transport-neutral core logic plus a local stdio adapter. A future HTTP adapter can reuse probe-core.mjs for ChatGPT Web, OpenAI API, or remote MCP testing.
The intended workflow is AI-assisted: clone the repo, open it in the assistant/client you want to test, paste PROMPT.md, and let the assistant run the probe, inspect the trace, create a result file, and prepare a commit.
Detailed test design and result templates live in TESTPLAN.md.
Quick Start For Testers
Human steps:
Clone this repository.
Open the cloned directory in the MCP-capable assistant/client you want to test.
Paste the full content of
PROMPT.mdinto that assistant.Follow only the explicit prompts for client restart, MCP setup confirmation, and push/PR approval.
The assistant should handle the rest:
run
npm run smokehelp configure the local
stdioMCP server if neededrun the probe interactions
inspect the trace file
write
results/<client>-<username>-<date>.mdstage and commit only that result file
Do not commit full trace files by default. Result files should include only small redacted excerpts.
Related MCP server: jakegaylor-com-mcp-server
Files
mcp-probe/
README.md # quickstart and feature overview
PROMPT.md # assistant prompt for running and recording tests
TESTPLAN.md # repeatable client test plan
probe-core.mjs # JSON-RPC handlers and probe tools
stdio-server.mjs # local stdio transport
opencode.json # isolated OpenCode test config
package.json # npm scripts, no dependencies
results/ # contributed client observations
scripts/smoke-stdio.mjs # direct stdio smoke testProbe Coverage
Implemented MCP methods:
server/discoverlegacy
initializefallback responsetools/listtools/callresources/listresources/readresources/templates/listprompts/listprompts/getstub
subscriptions/listen
Tools:
echo_meta: returns received arguments,_meta, client capabilities, and transport observations.structured_result: returns text plusstructuredContentmatching anoutputSchema.create_handle: creates an explicit state handle.use_handle: uses a handle fromcreate_handle.needs_form_input: returnsresultType: "input_required"until retried withinputResponses.tool_error: returns a tool execution error viaisError: true.resource_link_result: returns aresource_linkcontent item.search: ChatGPT-compatible search stub.fetch: ChatGPT-compatible fetch stub.
Smoke Test
Run from this directory:
npm run smokeOr without npm:
node scripts/smoke-stdio.mjsThe smoke test writes its trace to:
/tmp/mcp-probe-smoke.ndjsonTrace Log
The server never writes diagnostics to stdout, because stdout must contain only MCP JSON-RPC messages. Diagnostics go to stderr and the trace file.
Default trace path:
/tmp/mcp-probe.ndjsonOpenCode trace path from opencode.json:
/tmp/mcp-probe-opencode.ndjsonEach line is JSON with:
ts: timestamppid: server process IDdirection:inoroutpayload: JSON-RPC payload
Test With OpenCode
This directory contains an isolated opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"probe": {
"type": "local",
"command": ["node", "stdio-server.mjs"],
"cwd": ".",
"enabled": true,
"timeout": 10000,
"environment": {
"MCP_PROBE_TRACE": "/tmp/mcp-probe-opencode.ndjson"
}
}
}
}Start OpenCode from this directory so it loads the local config:
opencodeThen ask:
Nutze das probe echo_meta Tool und zeige mir, welche MCP-Metadaten du gesendet hast.Additional useful prompts:
Nutze probe structured_result mit label opencode.Erzeuge mit probe create_handle ein Handle fuer confluence und nutze es danach mit probe use_handle fuer die Query release notes.Teste probe needs_form_input fuer topic OpenCode Elicitation.Nutze probe search fuer query probe und danach probe fetch fuer das erste Ergebnis.Interpret the trace:
server/discoverpresent: modern MCP discovery probe is used.initializepresent: legacy handshake path is used._meta.io.modelcontextprotocol/protocolVersionpresent: per-request protocol version is sent._meta.io.modelcontextprotocol/clientCapabilities.elicitationpresent: client declares elicitation support.resources/listorprompts/listpresent: client actively queries non-tool primitives.Retry after
input_required: MRTR/Elicitation flow is handled.
OpenCode reads config at startup. Restart OpenCode after changing opencode.json or server files.
Test With Codex CLI Or ChatGPT Desktop
The same local stdio server can be used by Codex CLI, ChatGPT Desktop app, and Codex IDE extension because they support local MCP servers.
Example Codex CLI registration from this directory:
codex mcp add probe --env MCP_PROBE_TRACE=/tmp/mcp-probe-codex.ndjson -- node stdio-server.mjsThen use /mcp in Codex to inspect active servers and ask for the same probe tools as above.
For ChatGPT Desktop app, add a new MCP server in Settings with:
Name:
probeType:
STDIOCommand:
nodeArgs: absolute path to
stdio-server.mjsEnvironment:
MCP_PROBE_TRACE=/tmp/mcp-probe-chatgpt-desktop.ndjson
ChatGPT Web And OpenAI API Path
ChatGPT Web cannot directly start a local stdio server or read local Codex/OpenCode configuration. For ChatGPT Web or OpenAI API testing, add a remote HTTP adapter later.
The current design keeps that path open:
probe-core.mjshas no stdio-specific behavior.stdio-server.mjsonly adapts newline-delimited JSON-RPC tohandleJsonRpc.A future
http-server.mjscan call the samehandleJsonRpcand pass HTTP headers in the transport object.The existing
searchandfetchtools already follow the simple ChatGPT-compatible shape withstructuredContentand URL-backed results.
HTTP-specific checks to add later:
MCP-Protocol-Version,Mcp-Method,Mcp-Namestatic/Bearer headers
OAuth behavior
x-mcp-headerfrom tool parametersStreamable HTTP response behavior
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityCmaintenanceMCP server providing greeting and echo tools for testing and demonstration.
- AlicenseAqualityBmaintenanceAn MCP server that provides echo resource, tool, and prompt functionality for testing and demonstration.991MIT
- Alicense-qualityDmaintenanceA test server that exercises all MCP protocol features including prompts, tools, resources, and sampling, intended for MCP client builders.69,027Inno Setup
- Alicense-qualityDmaintenanceA test MCP server that exercises all MCP protocol features, including prompts, tools, resources, and sampling, for client builders.69,027Inno Setup
Related MCP Connectors
Scans MCP servers for tool poisoning, prompt injection and supply chain risks.
MCP server for understanding Javascript internals from ECMAScript specification.
Security scanner for MCP servers. Detect vulnerabilities, prompt injection, and tool poisoning.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kascada/mcp-client-compat-probe'
If you have feedback or need assistance with the MCP directory API, please join our Discord server