coldpass

alainsvrd/borealhost-mcp

GitHub ↗ · How this check works

Per-setup public labels: Linux / Haiku: Works

Static status badge · SVG · read-only JSON. Embed with ![Coldpass status](https://coldpass.dev/badge/alainsvrd--borealhost-mcp.svg).

Works

Only older checks are saved; no current product test.

Answers apply to each recorded setup, revision and operation. Earlier observations remain in Run details.

Tested on Linux
PlatformHaikuLuna
Linuxyes

Linux / Haiku 5.5: yes · Oct 18, 2026 · 70b520698244 · claude-code / 2.1.300 (Claude Code)
Recorded operation: Remote hosted MCP connection · initialize + tools/list · http://127.0.0.1:8100/mcp

MCP
yes, hosted
Yes, hosted
Needs keys or browser
None seen
Issue
none found in recorded check

Safety: no observations were recorded for the selected revision. Functional results do not establish a safety result.

Run details

Haiku 5.5

Native agent · Hosted MCP connection/tools-list passed

Checked operation Remote hosted MCP connection · initialize + tools/list · http://127.0.0.1:8100/mcp

Checked against the hosted endpoint only.

Agent-reported scope: Started the borealhost-mcp streamable-HTTP server from the pinned source and ran MCP initialize plus tools/list against http://127.0.0.1:8100/mcp (returned 155 tools).

MCP server returned: BorealHost · version 1.30.0.

MCP tools returned: register, set_api_key, whoami, request_api_key, claim_api_key, list_plans, create_checkout, update_checkout, complete_checkout, get_checkout_status, list_checkouts, cancel_checkout, add_site, set_site_type, get_wallet, get_site_status, manage_dns, install_app, get_app_status, list_apps, list_snapshots, create_snapshot, create_b2_snapshot, delete_snapshot, rollback_snapshot, get_snapshot_usage, schedule_snapshot, cancel_scheduled_snapshot, list_backups, create_backup, restore_backup, get_metrics, scale, decommission, update_account, delete_account, list_subscriptions, get_billing_portal, rotate_key, create_api_key, list_api_keys, revoke_api_key, get_ssh_info, add_ssh_key, list_files, read_file, write_file, upload_file, delete_file, create_directory, list_plugins, list_themes, manage_plugin, manage_theme, wp_check_updates, wp_update_all, list_cron, add_cron, delete_cron, ssl_info, ssl_renew, list_php_versions, switch_php, cache_status, cache_flush, cache_toggle, get_database_info, optimize_database, database_search_replace, list_databases, list_tables, execute_query, get_stack_info, get_resource_snapshot, cloudflare_proxy_status, cloudflare_set_proxy, cloudflare_purge_cache, list_ftp_accounts, create_ftp_account, remove_ftp_account, list_alert_rules, create_alert_rule, delete_alert_rule, run_malware_scan, list_firewall_rules, add_firewall_rule, remove_firewall_rule, list_port_forwards, add_port_forward, remove_port_forward, get_logs, list_domains, search_domain, register_domain, domain_detail, list_subdomains, add_subdomain, delete_subdomain, link_domain, get_site_nginx_snippet, set_site_nginx_snippet, set_domain_usage, domain_settings, list_domain_dns, add_domain_dns, delete_domain_dns, list_modules, toggle_module, list_compute_types, list_compute_images, launch_compute_instance, list_compute_instances, get_compute_instance, start_compute_instance, stop_compute_instance, reboot_compute_instance, terminate_compute_instance, list_compute_volumes, get_compute_volume, create_compute_volume, adopt_compute_instance, detach_compute_volume, attach_compute_volume, snapshot_compute_volume, delete_compute_volume, container_action, list_support_tickets, get_support_ticket, create_support_ticket, reply_support_ticket, get_backup_retention, set_backup_retention, delete_backup, list_redirects, add_redirect, delete_redirect, set_force_https, list_db_users, manage_db_user, transfer_out_domain, enable_wildcard, upload_ssl_cert, get_email_status, setup_email, create_mailbox, delete_mailbox, reset_mailbox_password, get_webmail_url, list_webhooks, create_webhook, delete_webhook, test_webhook, get_smtp_relay, enable_smtp_relay, revoke_smtp_relay. Tool listing does not establish authenticated tool-call success.

Run details
run
alainsvrd--borealhost-mcp-claude-haiku-5-5-1792341245218813571
date
Oct 18, 2026
time to working
not recorded
product hosting / execution
Remote hosted MCP endpoint
recorded operation scope
remote hosted MCP initialize + tools/list
model
claude-haiku-5-5
agent / version
claude-code / 2.1.300 (Claude Code)
platform
linux
reported cost
$0.006878
Recorded source
https://github.com/alainsvrd/borealhost-mcp
Tool transport
mcp-assigned-vm
Test version
readme-03aea4c41d53955e3723c330e9927d2a9df627f6642624cc0078a97c73a53c8a
revision
70b520698244017030dda902d65e288cea16c1cf
What the agent did

Started the borealhost-mcp streamable-HTTP server from the pinned source and ran MCP initialize plus tools/list against http://127.0.0.1:8100/mcp (returned 155 tools).

cd <host-path> && ls -la && cat README.md 2>/dev/null | head -200
cd <host-path> && git log -1 --format=%H 2>/dev/null; cat package.json 2>/dev/null; ls .github/workflows 2>/dev/null; which node npm python3 pip3 uv 2>&1; node -v 2>&1
cd <host-path> && cat pyproject.toml | head -40; python3 -m venv <host-path> 2>&1 | tail -3; <host-path> install -q --upgrade pip 2>&1 | tail -2; <host-path> install -q . 2>&1 | tail -5; ls <host-path> | grep -i borealhost
cd <host-path> && rm -rf <host-path> && (sudo apt-get update -qq && sudo DEBIAN_FRONTEND=noninteractive apt-get install -y -qq python3-venv python3-pip) >/tmp/apt.log 2>&1; echo apt=$?; python3 -m venv <host-path> && <host-path> install -q . 2>&1 | tail -5; echo pip=$?; ls <host-path> | grep -i borealhost
cd <host-path> && ( printf '%s\n' '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"probe","version":"1"}}}' '{"jsonrpc":"2.0","method":"notifications/initialized"}' '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'; sleep 3 ) | timeout 20 <host-path> > /tmp/mcp_out.txt 2>/tmp/mcp_err.txt; echo rc=$?; python3 -c "
import json
for l in open('/tmp/mcp_out.txt'):
    m=json.loads(l)
    if m.get('id')==2: print('tools:',len(m['result']['tools'])); print([t['name'] for t in m['result']['tools']][:50])
    if m.get('id')==1: print('server:',m['result']['serverInfo'])
"; tail -3 /tmp/mcp_err.txt
head -30 /tmp/mcp_err.txt; echo ---; wc -c /tmp/mcp_out.txt; sed -n '/def main/,/^$/p' <host-path> 2>/dev/null | head -40; grep -n "def main" -A25 <host-path> | head -40
cd <host-path> && (<host-path> > /tmp/bh_server.log 2>&1 &) ; sleep 6; H='-H Content-Type:application/json -H Accept:application/json,text/event-stream'; curl -s -D /tmp/hdr.txt $H -X POST http://127.0.0.1:8100/mcp -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"probe","version":"1"}}}' | head -c 600; echo; SID=$(grep -i mcp-session-id /tmp/hdr.txt | tr -d '\r' | awk '{print $2}'); curl -s $H -H "Mcp-Session-Id: $SID" -X POST http://127.0.0.1:8100/mcp -d '{"jsonrpc":"2.0","method":"notifications/initialized"}' >/dev/null; curl -s $H -H "Mcp-Session-Id: $SID" -X POST http://127.0.0.1:8100/mcp -d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}' | python3 -c "
import sys,json,re
t=sys.stdin.read()
d=[json.loads(l[5:]) for l in t.splitlines() if l.startswith('data:')] or [json.loads(t)]
tools=d[0]['result']['tools']; print('tools:',len(tools)); print([x['name'] for x in tools][:12])"; pkill -f 'venv/bin/borealhost-mcp'; sleep 2; pgrep -fa borealhost-mcp || echo stopped
cd <host-path> && <host-path> > /tmp/bh_server.log 2>&1 & echo $! > /tmp/bh_server.pid; sleep 6; H='-H Content-Type:application/json -H Accept:application/json,text/event-stream'; curl -s -D /tmp/hdr.txt $H -X POST http://127.0.0.1:8100/mcp -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"probe","version":"1"}}}' | head -c 300; echo; SID=$(grep -i mcp-session-id /tmp/hdr.txt | tr -d '\r' | awk '{print $2}'); curl -s $H -H "Mcp-Session-Id: $SID" -X POST http://127.0.0.1:8100/mcp -d '{"jsonrpc":"2.0","method":"notifications/initialized"}' >/dev/null; curl -s $H -H "Mcp-Session-Id: $SID" -X POST http://127.0.0.1:8100/mcp -d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}' > /tmp/tools.txt; python3 -c "
import json
t=open('/tmp/tools.txt').read()
d=[json.loads(l[5:]) for l in t.splitlines() if l.startswith('data:')] or [json.loads(t)]
tools=d[0]['result']['tools']; print('tools:',len(tools)); print([x['name'] for x in tools][:12])"; kill $(cat /tmp/bh_server.pid); sleep 2; kill -0 $(cat /tmp/bh_server.pid) 2>/dev/null && echo still-running || echo stopped
cd <host-path> && mkdir -p .coldpass && ls -la .coldpass && cat > .coldpass/probe.json <<'EOF'
{"kind":"mcp_http","argv":["<host-path>","env":{}}
EOF
cat > .coldpass/report.json <<'EOF'
{"outcome":"working","operation":"Started the borealhost-mcp streamable-HTTP server from the pinned source and ran MCP initialize plus tools/list against http://127.0.0.1:8100/mcp (returned 155 tools).","operation_scope":"Only server start and tools/list were exercised. No account, checkout, or hosting API calls were made. Remote https://borealhost.ai/mcp/ was not used.","steps":["Read README.md","sudo apt-get install python3-venv python3-pip (venv lacked pip)","python3 -m venv <host-path> install . (from workspace, pinned source)","<host-path> started; served on 0.0.0.0:8100","MCP initialize and tools/list over streamable-HTTP; server stopped afterwards"],"deviations":["README 'Local Installation' says 'pip install borealhost-mcp' and 'borealhost-mcp' as a stdio server. The guest is Ubuntu with system python (PEP 668), so a venv was used and installed from the pinned source instead of PyPI.","python3-venv/python3-pip were missing and installed via apt.","borealhost-mcp does not speak stdio: mcp_server/server.py calls mcp.run(transport=\"streamable-http\") and listens on port 8100. The README's command-config example will not work as stdio; probe uses kind mcp_http.","README says 47 tools; the server reported 155 tools in tools/list."],"stuck_step":null,"main_blocker":null,"suggested_fix":null}
EOF
python3 -m json.tool .coldpass/probe.json >/dev/null && python3 -m json.tool .coldpass/report.json >/dev/null && echo json-ok; <env-var>=<host-path> python3 -I <host-path> --validate; echo rc=$?; pgrep -f 'borealhost-mcp' >/dev/null && echo "server-leftover" || echo "no-leftover-server"
(ss -ltnp 2>/dev/null | grep ':8100' ) || echo "port 8100 free"; ps -eo pid,args | grep '[b]orealhost-mcp' | grep -v 'ps -eo' || echo "no borealhost process"
kill 3202; sleep 3; ss -ltnp | grep ':8100' || echo "port 8100 free"; <env-var>=<host-path> python3 -I <host-path> --validate