Files
BrowserOS/packages/browseros-agent/scripts/dev/mcp-test.sh
Dani Akash 290ee91a8b Add 'packages/browseros-agent/' from commit '90bd4be3008285bf3825aad3702aff98f872671a'
git-subtree-dir: packages/browseros-agent
git-subtree-mainline: 8f148d0918
git-subtree-split: 90bd4be300
2026-03-13 21:22:09 +05:30

144 lines
3.4 KiB
Bash
Executable File

#!/usr/bin/env bash
#
# Test script for MCP Server
#
# Usage: ./scripts/test-mcp-server.sh [port]
#
MCP_PORT="${1:-9223}"
echo "Testing MCP server at http://127.0.0.1:${MCP_PORT}"
echo ""
# 1. List tools
echo "1. List tools:"
curl -s -X POST http://127.0.0.1:${MCP_PORT}/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}' | jq -r '.result.tools[] | " - \(.name)"'
echo ""
# # 2. Navigate to amazon.com (old tool name)
# echo "2. Navigate to amazon.com (old tool name):"
# curl -s -X POST http://127.0.0.1:${MCP_PORT}/mcp \
# -H "Content-Type: application/json" \
# -H "Accept: application/json, text/event-stream" \
# -d '{
# "jsonrpc": "2.0",
# "id": 2,
# "method": "tools/call",
# "params": {
# "name": "navigate_page",
# "arguments": {
# "url": "https://amazon.com"
# }
# }
# }' | jq
# echo ""
# 2. Get active tab
echo "2. Get active tab:"
curl -s -X POST http://127.0.0.1:${MCP_PORT}/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "browser_get_active_tab",
"arguments": {}
}
}' | jq
echo ""
# 3. List tabs
echo "3. List tabs:"
TABS_RESPONSE=$(curl -s -X POST http://127.0.0.1:${MCP_PORT}/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "browser_list_tabs",
"arguments": {}
}
}')
echo "$TABS_RESPONSE" | jq
FIRST_TAB_ID=$(echo "$TABS_RESPONSE" | jq -r '.result.content[0].text' | grep -oE 'Tab ID: [0-9]+' | head -1 | grep -oE '[0-9]+')
echo ""
# 4. Navigate to amazon.com
echo "4. Navigate to amazon.com (browser_navigate):"
curl -s -X POST http://127.0.0.1:${MCP_PORT}/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 4,
"method": "tools/call",
"params": {
"name": "browser_navigate",
"arguments": {
"url": "https://amazon.com"
}
}
}' | jq
echo ""
# 5. Get load status
echo "5. Get load status:"
curl -s -X POST http://127.0.0.1:${MCP_PORT}/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 5,
"method": "tools/call",
"params": {
"name": "browser_get_load_status",
"arguments": {}
}
}' | jq
echo ""
# 6. Open tab
echo "6. Open tab (google.com):"
curl -s -X POST http://127.0.0.1:${MCP_PORT}/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 6,
"method": "tools/call",
"params": {
"name": "browser_open_tab",
"arguments": {
"url": "https://google.com"
}
}
}' | jq
echo ""
# 7. Get page content
echo "7. Get page content:"
curl -s -X POST http://127.0.0.1:${MCP_PORT}/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 7,
"method": "tools/call",
"params": {
"name": "browser_get_page_content",
"arguments": {}
}
}' | jq -r '.result.content[0].text' | head -50
echo ""