MCP Test Servers
Description
# MCP Test Servers A collection of test servers implementing the Model Context Protocol (MCP). ## 🚀 Quick Install Gallery Visit our **[GitHub Pages Gallery](https://msfeldstein.github.io/mcp-test-servers/)** for one-click install buttons that work directly with Cursor! ## Manual…
About
# MCP Test Servers A collection of test servers implementing the Model Context Protocol (MCP). ## 🚀 Quick Install Gallery Visit our **[GitHub Pages Gallery](https://msfeldstein.github.io/mcp-test-servers/)** for one-click install buttons that work directly with Cursor! ## Manual Installation ``` npx -y…
Details
- Author
- msfeldstein
- GitHub stars
- 41
- Downloads
- 209
- Categories
- Developer Tools
Jump to
- Includes 50+ specialized test servers for MCP features
- Tests tools, resources, prompts, and elicitation flows
- Covers schema edge cases, OAuth, and session management
- Automated testing via /test-everything slash command in Cursor
- Quick install via GitHub Pages gallery for Cursor
- Supports dynamic tools, progress notifications, and mixed content responses
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
MCP Test ServersCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Run any server with npx -y @msfeldstein/mcp-test-servers <server>, e.g. npx @msfeldstein/mcp-test-servers everything. A gallery page with one-click install buttons for Cursor is available at the GitHub Pages link. Configure the server in mcpServers JSON with the command and optional environment variables.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"mcp test servers": {
"test-server": {
"command": "/Users/feldstein/Source/mcp-test-servers/src/cli.js",
"args": [
"ping"
],
"env": []
}
}
}
}
McpServers
{
"test-server": {
"command": "/Users/feldstein/Source/mcp-test-servers/src/cli.js",
"args": [
"ping"
],
"env": []
}
}
MCP Test Servers
A collection of test servers implementing the Model Context Protocol (MCP).
🚀 Quick Install Gallery
Visit our GitHub Pages Gallery for one-click install buttons that work directly with Cursor!
Manual Installation
npx -y @msfeldstein/mcp-test-servers <server>
Development
Use the cli.js directly for development
{
"mcpServers": {
"test-server": {
"command": "/Users/feldstein/Source/mcp-test-servers/src/cli.js",
"args": [
"ping"
],
"env": {}
}
}
}
Available Servers
- all-types: Demonstrates various tool parameter types supported by MCP
- bad-param: Server with an intentionally malformed parameter name
- big-response: Server that returns large responses
- broken-tool: Server with intentionally broken tool
- broken-schema: Server with invalid JSON schema using oneOf/allOf/anyOf at top level
- broken-schema-fastmcp: FastMCP server with genuinely broken schemas using oneOf/allOf/anyOf at top level
- crash-on-startup: Server that crashes on startup
- combined: Server with tools and resources
- duplicate-names: Server with duplicate names for resources
- elicitation: Server demonstrating MCP elicitation feature - requests user information (name, age, contact details, preferences) through structured forms
- enum-param: Tool has enum string parameter
- integer-anyof-bug: Reproduces Cursor's integer validation bug with anyOf schema - parameters with {"anyOf": [{"type": "integer"}, {"type": "null"}]} fail validation with 'got number' error
- env-check: Checks for SHOULD_RUN environment variable being passed properly
- env-echo: Echoes the environment variables
- gpt5-breaker: Server with SQL query execution tool using complex parameter validation
- graphing: MCP Apps server with show-graphing-ui; UI renders an inline chart with Chart.js
- headers: FastMCP server that safely returns HTTP header information
- instructions: Server with instructions and a makeRequest tool that returns success for value 42
- image: Tool returns an image of sonic the hedgehog
- long-description: Publicize a very long description configured via env var
- long-running: Server that sends progress notifications every 2 seconds for a 20-second task
- many-resources: Server with multiple resources
- many-tools: Server with 100 tools that each return 'ack'
- math: Server with basic math function tools (add, subtract, multiply, divide, power, sqrt, factorial)
- missing-type: Server with tools missing the required 'type' field in parameter schemas
- missing-type-fastmcp: FastMCP server with genuinely missing 'type' fields in tool schemas
- named: Server with configurable name via MCP_SERVER_NAME environment variable
- notion-gemini-repro: Server with complex nested schema that breaks on some models (Notion API reproduction case) - inline schema
- notion-gemini-repro-raw: Server with complex nested schema that breaks on some models (Notion API reproduction case) - exact raw schema object
- number-param: Tool with a number parameter
- oauth-repro: Reproduces OAuth 2.0 flow issues with proper discovery endpoints - runs resource server on port 3001 and auth server on port 3002
- oauth-debug: OAuth debugging server with comprehensive logging and endpoint tracking - runs resource server on port 3003 and auth server on port 3004
- oauth-callback-test: OAuth callback testing server that simulates Cursor 1.4.x endpoint discovery bugs - runs on port 3005
- oauth-edge-case: OAuth server with configurable edge cases to trigger discovery bugs - resource server on port 3006, auth server on port 3007
- oauth-bug-trigger: Specialized server designed to reproduce the exact Cursor 1.4.x OAuth discovery bug - resource server on port 3008, auth server on port 3009
- optional-param: Tool has an optional param
- pattern-param: Tool has a parameter with a pattern match
- ping: A simple server that responds with 'pong'
- prompts: Server with two prompts - one static greeting and one dynamic story generator with character name and location parameters
- raw-broken: Raw JSON-RPC MCP server with genuinely broken schemas (no framework validation)
- resource: Resource server implementation
- resource-lister: Server that publishes 5 resources and has a tool to list them
- roots-echo: Server that demonstrates MCP roots functionality by echoing back the roots provided by the client
- session-inactivity: Streamable HTTP server that expires sessions after 30 seconds of inactivity to test session management
- session-management: HTTP server that implements MCP session management behavior - assigns session IDs, requires them in requests, returns 404 for terminated sessions
- sse-timeout: Streamable HTTP server that establishes SSE connections but times out after 30 seconds to test client reconnection
- stderr: Server that logs to stderr
- structured-output: Demonstrates structuredContent responses with a simple echo tool
- ui: MCP Apps server with show-ui; the rendered UI button calls the get-time tool and shows the current time inline
- dual-content: Demonstrates different outputs for structuredContent and content in the same response
- everything: Comprehensive server testing all MCP features - tools with/without params, resources, prompts, elicitation, dynamic tools, roots echo, env vars
🚀 Quick Start: Automated Testing
For instant comprehensive testing, use the built-in AI agent testing prompt:
1. Start the everything server: npx @msfeldstein/mcp-test-servers everything
2. In Cursor, use the slash command: /test-everything
3. The AI will automatically execute all 20 test steps and provide a complete validation report
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





