Skip to main content
Glama

MCP Auth Server

test_step3.shโ€ข4.85 kB
#!/bin/bash # Test script for Step 3: MCP Tools and Prompts echo "๐Ÿงช Testing Step 3: MCP Tools and Prompts" echo "=========================================" # Function to cleanup background processes cleanup() { echo "๐Ÿงน Cleaning up..." if [ ! -z "$SERVER_PID" ]; then kill $SERVER_PID 2>/dev/null wait $SERVER_PID 2>/dev/null fi exit 0 } # Set trap to cleanup on script exit trap cleanup EXIT INT TERM # Start the server in background echo "๐Ÿš€ Starting Step 3 server..." uv run step3 & SERVER_PID=$! # Wait for server to start echo "โณ Waiting for server to start..." sleep 3 # Test health endpoint echo "๐Ÿ” Testing health endpoint..." HEALTH_RESPONSE=$(curl -s http://localhost:9000/health) if [ $? -eq 0 ]; then echo "โœ… Health endpoint test passed!" echo "๐Ÿ“„ Response: $HEALTH_RESPONSE" else echo "โŒ Health endpoint test failed!" exit 1 fi # Test MCP ping method echo "๐Ÿ” Testing MCP ping method..." PING_RESPONSE=$(curl -s -X POST http://localhost:9000/mcp \ -H "Content-Type: application/json" \ -d '{"jsonrpc": "2.0", "id": 1, "method": "ping"}') if [ $? -eq 0 ]; then echo "โœ… MCP ping test passed!" echo "๐Ÿ“„ Response: $PING_RESPONSE" else echo "โŒ MCP ping test failed!" exit 1 fi # Test list_tools method echo "๐Ÿ” Testing list_tools method..." TOOLS_RESPONSE=$(curl -s -X POST http://localhost:9000/mcp \ -H "Content-Type: application/json" \ -d '{"jsonrpc": "2.0", "id": 2, "method": "tools/list"}') if [ $? -eq 0 ]; then echo "โœ… list_tools test passed!" echo "๐Ÿ“„ Response: $TOOLS_RESPONSE" # Check if response contains error (expected since dispatching not implemented) if echo "$TOOLS_RESPONSE" | grep -q '"error"' && echo "$TOOLS_RESPONSE" | grep -q '"code":-32601'; then echo "โœ… Correctly returns 'Method not found' (dispatching not implemented yet)" else echo "โŒ Unexpected response format!" exit 1 fi else echo "โŒ list_tools test failed!" exit 1 fi # Test call_tool method echo "๐Ÿ” Testing call_tool method..." CALL_TOOL_RESPONSE=$(curl -s -X POST http://localhost:9000/mcp \ -H "Content-Type: application/json" \ -d '{"jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": {"name": "echo", "arguments": {"message": "Hello World", "repeat_count": 3}}}') if [ $? -eq 0 ]; then echo "โœ… call_tool test passed!" echo "๐Ÿ“„ Response: $CALL_TOOL_RESPONSE" # Check if response contains error (expected since dispatching not implemented) if echo "$CALL_TOOL_RESPONSE" | grep -q '"error"' && echo "$CALL_TOOL_RESPONSE" | grep -q '"code":-32601'; then echo "โœ… Correctly returns 'Method not found' (dispatching not implemented yet)" else echo "โŒ Unexpected response format!" exit 1 fi else echo "โŒ call_tool test failed!" exit 1 fi # Test list_prompts method echo "๐Ÿ” Testing list_prompts method..." PROMPTS_RESPONSE=$(curl -s -X POST http://localhost:9000/mcp \ -H "Content-Type: application/json" \ -d '{"jsonrpc": "2.0", "id": 4, "method": "prompts/list"}') if [ $? -eq 0 ]; then echo "โœ… list_prompts test passed!" echo "๐Ÿ“„ Response: $PROMPTS_RESPONSE" # Check if response contains error (expected since dispatching not implemented) if echo "$PROMPTS_RESPONSE" | grep -q '"error"' && echo "$PROMPTS_RESPONSE" | grep -q '"code":-32601'; then echo "โœ… Correctly returns 'Method not found' (dispatching not implemented yet)" else echo "โŒ Unexpected response format!" exit 1 fi else echo "โŒ list_prompts test failed!" exit 1 fi # Test get_prompt method echo "๐Ÿ” Testing get_prompt method..." GET_PROMPT_RESPONSE=$(curl -s -X POST http://localhost:9000/mcp \ -H "Content-Type: application/json" \ -d '{"jsonrpc": "2.0", "id": 5, "method": "prompts/get", "params": {"name": "echo_prompt", "arguments": {"message": "Test Message"}}}') if [ $? -eq 0 ]; then echo "โœ… get_prompt test passed!" echo "๐Ÿ“„ Response: $GET_PROMPT_RESPONSE" # Check if response contains error (expected since dispatching not implemented) if echo "$GET_PROMPT_RESPONSE" | grep -q '"error"' && echo "$GET_PROMPT_RESPONSE" | grep -q '"code":-32601'; then echo "โœ… Correctly returns 'Method not found' (dispatching not implemented yet)" else echo "โŒ Unexpected response format!" exit 1 fi else echo "โŒ get_prompt test failed!" exit 1 fi echo "" echo "๐ŸŽ‰ Step 3 tests completed successfully!" echo "โœ… MCP tools and prompts are defined (but not dispatched yet)" echo "โœ… Server correctly returns 'Method not found' for unimplemented methods" echo "โœ… JSON-RPC 2.0 error format is maintained" echo "โœ… Ready for next step: implementing method dispatching"

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/christian-posta/mcp-auth-step-by-step'

If you have feedback or need assistance with the MCP directory API, please join our Discord server