ワンクリックで
mcp-buildertest
Test your MCP server with MCP Inspector and verify tool functionality
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Test your MCP server with MCP Inspector and verify tool functionality
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
Scaffold a new MCP server with your chosen pattern (basic, tool-heavy, widget-enabled, or database-backed)
Scaffold a complete MCP App with visual UI tools (TypeScript + React + Tailwind)
Add OAuth authentication to your MCP server using Auth0 or custom providers
Add a resource to your MCP server for agent context (schemas, templates, reference data)
Add a new tool to your MCP server using "true task" design principles
Generate deployment configuration for Cloud Run, Render, or Fly.io
SOC 職業分類に基づく
| name | mcp-builder:test |
| description | Test your MCP server with MCP Inspector and verify tool functionality |
You are helping the user test their MCP server to ensure it works correctly.
Use the START.sh script if available:
# Development mode (auto-reload)
./START.sh --dev
# Or start manually:
cd your-server-directory
python server.py
# Server running at http://localhost:8000
The MCP Inspector is the recommended way to test your server interactively.
For Streamable HTTP servers:
# Start your server first, then run Inspector separately
./START.sh --dev &
npx @modelcontextprotocol/inspector
Then in the Inspector UI:
http://localhost:8000/mcpFor stdio servers:
# Inspector launches and manages your server
npx @modelcontextprotocol/inspector python server.py
For Python servers with uv:
npx @modelcontextprotocol/inspector uv --directory . run your-server
In the Inspector UI:
List available tools:
curl -X POST http://localhost:8000/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Call a tool:
curl -X POST http://localhost:8000/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc":"2.0",
"id":2,
"method":"tools/call",
"params":{
"name":"get-stock-summary",
"arguments":{"ticker":"AAPL"}
}
}'
List resources:
curl -X POST http://localhost:8000/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":3,"method":"resources/list"}'
Read a resource:
curl -X POST http://localhost:8000/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc":"2.0",
"id":4,
"method":"resources/read",
"params":{"uri":"schema://database"}
}'
For each tool, create test cases:
# tests/test_tools.py
import pytest
import httpx
BASE_URL = "http://localhost:8000/mcp"
async def call_tool(name: str, arguments: dict) -> dict:
async with httpx.AsyncClient() as client:
response = await client.post(BASE_URL, json={
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {"name": name, "arguments": arguments}
})
return response.json()
class TestStockTools:
@pytest.mark.asyncio
async def test_get_stock_summary_valid_ticker(self):
result = await call_tool("get-stock-summary", {"ticker": "AAPL"})
assert "error" not in result
assert "content" in result.get("result", {})
@pytest.mark.asyncio
async def test_get_stock_summary_invalid_ticker(self):
result = await call_tool("get-stock-summary", {"ticker": "INVALID123"})
# Should return error, not crash
content = result.get("result", {}).get("content", [])
assert any("error" in str(c).lower() or "not found" in str(c).lower()
for c in content)
@pytest.mark.asyncio
async def test_compare_stocks_multiple(self):
result = await call_tool("compare-stocks", {
"tickers": ["AAPL", "MSFT", "GOOGL"]
})
assert "error" not in result
Test these scenarios for each tool:
| Scenario | What to Check |
|---|---|
| Valid input | Returns expected result |
| Missing required field | Returns clear error message |
| Invalid data type | Returns validation error |
| Empty input | Handles gracefully |
| Very large input | Doesn't timeout or crash |
| Special characters | Handles encoding properly |
| Null/undefined values | Doesn't crash |
Claude Desktop:
claude_desktop_config.json:{
"mcpServers": {
"your-server": {
"url": "http://localhost:8000/mcp"
}
}
}
Cursor:
Measure response times:
# Simple timing
time curl -X POST http://localhost:8000/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search-tasks","arguments":{"query":"test"}}}'
# Load testing with hey
hey -n 100 -c 10 -m POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' \
http://localhost:8000/mcp
Performance targets:
Before deployment, verify:
"Connection refused":
"Method not found":
"Invalid params":
"Timeout":