coldpass

longsizhuo/openInvest

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/longsizhuo--openInvest.svg).

investopenclawskillsclaudeclaude-code-pluginclaude-skills

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

Agent-reported scope: Start the openInvest stdio MCP server via uvx and list its tools (tools/list returned 24 tools, e.g. status, doctor, run_committee, buy, sell).

MCP server returned: openinvest · version 1.30.0.

MCP tools returned: status, doctor, strategy, history, live_prices, what_if, rebalance_plan, discipline, decisions, explain_decision, record_execution, ingest_event, news_sources, add_news_source, remove_news_source, buy, record_existing_position, sell, deposit, withdraw, set_allocations, track_asset, untrack_asset, run_committee. Tool listing does not establish authenticated tool-call success.

Run details
run
longsizhuo--openInvest-claude-haiku-5-5-1792339274559460856
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.008348
Recorded source
https://github.com/longsizhuo/openInvest
Tool transport
mcp-assigned-vm
Test version
readme-03aea4c41d53955e3723c330e9927d2a9df627f6642624cc0078a97c73a53c8a
revision
6aeab872db83357e8c60610a83ac7d8ac0794c45
What the agent did

Start the openInvest stdio MCP server via uvx and list its tools (tools/list returned 24 tools, e.g. status, doctor, run_committee, buy, sell).

cd <host-path> && git log -1 --format=%H 2>/dev/null; ls -la; cat README.md 2>/dev/null | head -200
ls -la <host-path> 2>/dev/null; echo "CDP=$CDP_URL $<env-var>"; which python3 node npm uv pip3 2>&1
cd <host-path> && which uv uvx; sed -n 1,80p docs/QUICK_START.md; grep -n "scripts" -A6 pyproject.toml; cat llms-install.md | head -60
cd <host-path> && curl -LsSf https://astral.sh/uv/install.sh | sh 2>&1 | tail -5; export PATH=$HOME/.local/bin:$PATH; uv --version && export INVEST_HOME=$HOME/openInvest && uvx openinvest doctor 2>&1 | tail -40
cd <host-path> && export INVEST_HOME=$HOME/openInvest; U=<host-path>; printf '%s\n' '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"probe","version":"0"}}}' '{"jsonrpc":"2.0","method":"notifications/initialized"}' '{"jsonrpc":"2.0","id":2,"method":"tools/list"}' | timeout 120 $U openinvest-mcp 2>/dev/null | python3 -c 'import sys,json
for l in sys.stdin:
  m=json.loads(l)
  if m.get("id")==2: print([t["name"] for t in m["result"]["tools"]])
  elif m.get("id")==1: print("init ok", m["result"]["serverInfo"])'
cd <host-path> && export INVEST_HOME=$HOME/openInvest; U=<host-path>; printf '%s\n' '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"probe","version":"0"}}}' '{"jsonrpc":"2.0","method":"notifications/initialized"}' '{"jsonrpc":"2.0","id":2,"method":"tools/list"}' > /tmp/mcp_in.txt; timeout 120 $U openinvest-mcp < /tmp/mcp_in.txt > /tmp/mcp_out.txt 2> /tmp/mcp_err.txt; echo rc=$?; head -c 1500 /tmp/mcp_out.txt; echo; tail -c 1500 /tmp/mcp_err.txt
cd <host-path> && export INVEST_HOME=$HOME/openInvest; U=<host-path>; timeout 180 $U openinvest mcp < /tmp/mcp_in.txt > /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([t["name"] for t in m["result"]["tools"]])
  elif m.get("id")==1: print("init ok", m["result"]["serverInfo"])'; tail -c 600 /tmp/mcp_err.txt
cd <host-path> && mkdir -p .coldpass && ls -la .coldpass && cat > .coldpass/probe.json <<'EOF'
{"kind":"mcp","argv":["<host-path>"}}
EOF
cat > .coldpass/report.json <<'EOF'
{"outcome":"working","operation":"Start the openInvest stdio MCP server via uvx and list its tools (tools/list returned 24 tools, e.g. status, doctor, run_committee, buy, sell).","operation_scope":"Covers MCP server start and tools/list only. Direct-path run_committee needs LLM_API_KEY/DEEPSEEK_API_KEY (not set in guest); email digest needs EMAIL_SENDER/EMAIL_PASSWORD (not set). Neither was exercised.","steps":["curl -LsSf https://astral.sh/uv/install.sh | sh (installed uv 0.13.1)","export INVEST_HOME=$HOME/openInvest; uvx openinvest doctor (ran; status reported optional gaps only)","uvx openinvest mcp (stdio MCP; initialize + tools/list succeeded, server 1.30.0)"],"deviations":["README quickstart 'claude mcp add openinvest -e INVEST_HOME=~/openInvest -- uvx openinvest-mcp' fails: 'No solution found ... openinvest-mcp was not found in the package registry'. Ran 'uvx openinvest mcp' instead, the form documented in llms-install.md.","uv was not preinstalled; installed via the README curl installer."],"stuck_step":null,"main_blocker":null,"suggested_fix":"Update README quickstart to 'uvx openinvest mcp' (or 'uvx --from openinvest openinvest-mcp') since the PyPI package does not publish an 'openinvest-mcp' top-level package."}
EOF
<env-var>=<host-path> python3 -I <host-path> --validate; echo rc=$?