coldpass

googlarz/signal-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/googlarz--signal-mcp.svg).

claudeclaude-codemcpmessagingmodel-context-protocolprivacy

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 · bc8eab78a6a3 · claude-code / 2.1.300 (Claude Code)
Recorded operation: <host-path> serve · local stdio MCP start + initialize + tools/list

MCP
yes, local
Yes, runs locally
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 · Checked operation passed

Checked operation <host-path> serve · local stdio MCP start + initialize + tools/list

Agent-reported scope: Start signal-mcp stdio MCP server (`signal-mcp serve`) and list tools via tools/list: returns 81 tools (e.g. send_message, receive_messages, list_contacts, search_messages).

MCP server returned: signal-mcp · version 1.43.2.

MCP tools returned: send_message, send_group_message, send_note_to_self, edit_message, receive_messages, receive_direct, list_contacts, list_groups, get_conversation, search_messages, send_attachment, send_group_attachment, react_to_message, set_typing, get_profile, block_contact, unblock_contact, remove_contact, update_profile, create_group, join_group, list_devices, add_device, remove_device, get_own_number, store_stats, get_unread, import_desktop, sync_desktop, list_conversations, get_user_status, send_sync_request, delete_message, delete_group_message, send_read_receipt, update_contact, update_group, leave_group, terminate_group, pin_message, unpin_message, admin_delete_message, send_contacts_sync, update_device, mark_as_unread, get_avatar, send_message_request_response, create_poll, vote_poll, terminate_poll, set_expiration_timer, list_identities, trust_identity, clear_local_store, delete_local_messages, export_messages, update_configuration, list_sticker_packs, add_sticker_pack, send_sticker, send_group_sticker, send_story, list_attachments, get_attachment, get_sticker, upload_sticker_pack, list_accounts, update_account, set_pin, remove_pin, start_change_number, finish_change_number, submit_rate_limit_challenge, prune_store, set_webhook, get_webhook, find_contact, schedule_message, list_scheduled_messages, cancel_scheduled_message, run_scheduled_messages. Tool listing does not establish authenticated tool-call success.

Run details
run
googlarz--signal-mcp-claude-haiku-5-5-1792349615704989189
date
Oct 18, 2026
time to working
not recorded
product hosting / execution
Local stdio MCP server in the guest
recorded operation scope
product operation
model
claude-haiku-5-5
agent / version
claude-code / 2.1.300 (Claude Code)
platform
linux
reported cost
$0.006468
Recorded source
https://github.com/googlarz/signal-mcp
Tool transport
mcp-assigned-vm
Test version
readme-abdba4ff808874f9e3a15ab1ae88db85b1509a9d4c47daf5c1553fa8638b6951
revision
bc8eab78a6a344862e32f51aedd8ca1f9a62e387
What the agent did

Start signal-mcp stdio MCP server (`signal-mcp serve`) and list tools via tools/list: returns 81 tools (e.g. send_message, receive_messages, list_contacts, search_messages).

cd <host-path> && ls -la && cat README.md | head -200
cd <host-path> && cat package.json 2>/dev/null; cat pyproject.toml 2>/dev/null; ls .github/workflows 2>/dev/null; which node npm python3 pip3; node -v 2>/dev/null; echo CDP=$CDP_URL $<env-var>
cd <host-path> && sed -n 200,400p README.md | grep -v '^$' | head -150; grep -n -i 'demo\|offline\|fixture\|--help' README.md | head -30; cat .github/workflows/test.yml | head -60
python3 --version; which uv pipx signal-cli; cd /tmp && (curl -LsSf https://astral.sh/uv/install.sh | sh 2>&1 | tail -3); ls ~/.local/bin 2>/dev/null
export PATH=$HOME/.local/bin:$PATH; export NODE_USE_ENV_PROXY=1; cd <host-path> && uv tool install . 2>&1 | tail -5; which signal-mcp; ls -la $HOME/.local/bin/signal-mcp && $HOME/.local/bin/signal-mcp --help 2>&1 | head -30
cd /tmp && cat > /tmp/mcp_probe_check.py <<'EOF'
import json, subprocess, sys
p = subprocess.Popen([sys.argv[1], "serve"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
def send(m): p.stdin.write(json.dumps(m)+"\n"); p.stdin.flush()
def recv(): return json.loads(p.stdout.readline())
send({"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"smoke","version":"0"}}})
print("init:", recv().get("result",{}).get("serverInfo"))
send({"jsonrpc":"2.0","method":"notifications/initialized"})
send({"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}})
r = recv()
tools = r.get("result",{}).get("tools",[])
print("tools:", len(tools), [t["name"] for t in tools][:8])
p.kill()
EOF
timeout 60 python3 -I /tmp/mcp_probe_check.py <host-path> 2>&1 | tail -5
cd <host-path> && mkdir -p .coldpass && ls -la .coldpass && rm -f /tmp/mcp_probe_check.py.bak; cat > .coldpass/probe.json <<'EOF'
{"kind":"mcp","argv":["<host-path>","env":{}}
EOF
cat > .coldpass/report.json <<'EOF'
{"outcome":"working","operation":"Start signal-mcp stdio MCP server (`signal-mcp serve`) and list tools via tools/list: returns 81 tools (e.g. send_message, receive_messages, list_contacts, search_messages).","operation_scope":"Covers install and MCP start/tools/list only. Did not link a Signal account (requires a phone scan and signal-cli, which is not installed in the guest), so no send/receive/search against a real account was exercised. Read-only tools that need the local store were not run.","steps":["Read README.md (Quick start / Setup Step 3 'uv tool install .' from source)","Installed uv via https://astral.sh/uv/install.sh (README's uv prerequisite; guest had python3 3.12.3 only)","cd <host-path> && uv tool install . -> installed signal-mcp 1.43.2 to <host-path>","signal-mcp --help ran OK","MCP smoke: initialize + tools/list over stdio against `signal-mcp serve` -> serverInfo signal-mcp 1.43.2, 81 tools"],"deviations":["uv was not preinstalled; installed it via the astral.sh install script before 'uv tool install .' (prerequisite, not a README command failure).","signal-cli is not installed in the guest and no Signal account is linked; not installed because linking requires a human phone scan (out of scope for this smoke task)."],"stuck_step":null,"main_blocker":null,"suggested_fix":null}
EOF
<env-var>=<host-path> python3 -I <host-path> --validate; echo rc=$?
pgrep -af signal-mcp || echo "no leftover signal-mcp processes"