mirror of
https://github.com/browseros-ai/BrowserOS.git
synced 2026-05-19 03:26:28 +00:00
git-subtree-dir: packages/browseros-agent git-subtree-mainline:8f148d0918git-subtree-split:90bd4be300
144 lines
3.4 KiB
Bash
Executable File
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 ""
|