# MCP Server Tester

Paste the URL of a remote MCP server. You see whether it answers, which tools it offers and how well they are described, and you get the curl commands for the same test.

URL: https://shortformkit.com/mcp-server-tester/
Updated: 2026-10-14

The tester sends exactly two requests from our server: initialize and tools/list, the same handshake Claude, ChatGPT, Cursor or VS Code do when you add a connector. It never calls a tool, so it cannot change anything on the server. It works with Streamable HTTP endpoints over HTTPS, with JSON or SSE responses and with or without an Mcp-Session-Id.

## What the result tells you

- **Works**: the server answered tools/list without credentials. You can paste the URL into any MCP client.

- **Needs a sign-in or API key**: HTTP 401 or 403. That is normal for servers with OAuth; your client opens the login when you add it.

- **Not working**: wrong path (many servers live at /mcp), the server is offline, the certificate is invalid, or it only speaks the older SSE transport.

## Live status badge for your README

After a successful test you get a badge like , ready to paste into a README or docs page. It shows whether the server answers and how many tools it lists, re-checked about once an hour:

[![MCP status](https://shortformkit.com/api/mcp-badge?url=YOUR_URL_ENCODED)](https://shortformkit.com/mcp-server-tester/?url=YOUR_URL_ENCODED)

The tools table also counts how many parameters carry a description. Assistants choose tools from these texts, so a server with undocumented parameters gets picked less often and called wrong more often.

## Test an MCP server with curl

The same test by hand. Step 1 opens the session; if the response headers contain Mcp-Session-Id, send it with every following request. Stateless servers do not send one, then leave the header out.

curl -s -D - https://shortformkit.com/mcp \
  -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl","version":"1"}}}'

Step 2 lists the tools:

curl -s https://shortformkit.com/mcp \
  -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'

Step 3 calls one tool with its arguments:

curl -s https://shortformkit.com/mcp \
  -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"youtube_channel_id","arguments":{"query":"@mkbhd"}}}'

If a server answers with text/event-stream, the JSON is in the data: line of the response. The Accept header must list both types, or many servers reply with 406. Looking for servers to try? See the [free remote MCP servers](https://shortformkit.com/free-remote-mcp-servers/) we tested, or add [ours](https://shortformkit.com/mcp-server/).

## How it works

1. **Paste the endpoint URL** The full https:// address, usually ending in /mcp.
2. **Run the test** We send initialize and tools/list, nothing else.
3. **Read the result** Status, tools, parameter coverage and ready-made curl commands.

## FAQ

**How do I test an MCP server online?**
Paste its HTTPS endpoint into the MCP Server Tester on this page. It runs the initialize handshake and tools/list and shows the tools the server offers, without installing anything.

**How do I list the tools of an MCP server with curl?**
Send a POST with a JSON-RPC initialize request, then a POST with the method tools/list to the same URL, both with the headers Content-Type: application/json and Accept: application/json, text/event-stream. The exact commands are above.

**Why does my MCP server return 406?**
The Accept header is missing a type. Streamable HTTP servers expect Accept: application/json, text/event-stream.

**Does the tester call my tools?**
No. It only sends initialize, the initialized notification and tools/list. No tool is ever executed.

**Can it test servers on localhost?**
No. For safety it only connects to public HTTPS addresses. For a local server use the curl commands above or the official MCP Inspector.


Source: Shortform Kit (https://shortformkit.com/mcp-server-tester/). Free, no login.