tw-market-live-data-intelligenceBLOCK
Local-first Taiwan market evidence workbench for AI agents — TWSE/TPEx, persistent Watchlists, governed MCP, auditable evidence, explicit execute-once.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
English | 繁體中文
Local-first, governed Taiwan-market evidence for an operator and an AI assistant — validate first, preview bounded work, then explicitly authorize one execution where the capability permits it.
ProductVersion = 1.0.0. The current stable release is v1.0.0 (GitHub Release). The published prerelease history is v1.0.0-rc.1 (GitHub Release), and the earlier stable GitHub Release was v0.1.0. The current development line now uses Unified Request/Result/Audit V3 as the preferred authority while retaining V1/V2 compatibility. Phase G G1/G2 runtime capabilities have passed bounded controlled-live acceptance; Phase H has one active TPEx attention route; broader Roadmap Phase G/H scope remains explicitly incomplete. This is a local-first evidence workbench, not a realtime trading product.
Why TW-Market
AI discussion needs evidence with identity, source, timestamp, caveat, and execution provenance — not an unqualified price claim. This workbench gives a human operator a governed local path from request validation to an AI-ready handoff, while retaining a separate audit package.
Quick start
git clone https://github.com/SmartyJohnway/tw-market-live-data-intelligence.git cd tw-market-live-data-intelligence python -m venv .venv # Activate .venv using your shell, then: python -m pip install -r requirements-lock.txt python scripts/verify_environment.py python scripts/manage_security_master.py status
NOT_INITIALIZED is the normal fresh-install state. A Security Master update is an explicit operator action and may use official external acquisition:
python scripts/manage_security_master.py update -
89f3435f019aOBSERVED · 2026-10-12Exposed tools (1)
1 read · 0 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
check_bounded_market_refresh_readiness | read | Check M5 bounded refresh readiness without network calls, writes, or authorization consumption. |
Trust audit
BLOCKgrade F · trust 57/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (7 observation(s))
- Network
- declared (6 observation(s))
- Shell
- declared (2 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- found
Findings (25)
data = yaml.load(path.read_text(encoding="utf-8"), Loader=yaml.BaseLoader)
os.environ.copy() ... urllib.request
importlib.import_module(package)
ap=argparse.ArgumentParser(); ap.add_argument('--token'); ap.add_argument('--action',required=True); a=ap.parse_args(argv); token=json.loads(Path(a.token).read_text()) if a.token else {'allowed_actionPASSWORD = "TEST_PASSWORD_DO_NOT_USE"
phase_i_i1_bounded_live_acceptance_evidence.zip
phase_i_i2_a3_bounded_live_acceptance_evidence.zip
for token in ['innerHTML', 'insertAdjacentHTML', 'document.write', 'eval(', 'new Function']:for token in ["innerHTML", "insertAdjacentHTML", "document.write", "eval(", "new Function"]:forbidden = ["innerHTML", "insertAdjacentHTML", "document.write", "eval(", "new Function"]"eval(",schema_hash = hashlib.md5("".join(keys).encode()).hexdigest()schema_hash = hashlib.md5("".join(keys).encode()).hexdigest()export const DEFAULT_PACKAGE_BASE_URL = '../../research/staging/m5f/m5f_canonical_market_context_01/';
== "../../docs/data_capabilities/unified_market_evidence_capability_catalog.v1.json"
safe_destination(root, "subdir/../../outside.json")
("a/../../x", "path_traversal_forbidden"),('a/../../x.json','path_traversal_forbidden'),for secret in ("password", "key=secret", "beacon-secret", "unrelated-body"):os.environ.copy() ... httpx.
dict(os.environ) ... socket.create_connection
os.environ.copy() ... urllib.request
Open the loopback Workbench at [`/workbench/`](http://127.0.0.1:8000/workbench/).
在瀏覽器開啟本機回送 Workbench:[`/workbench/`](http://127.0.0.1:8000/workbench/)。MCP host 請另行啟動 stdio launcher:
- Local Service: `http://127.0.0.1:18264`. Prompt SHA-256: `8ee5459c7217ff34d091385f588d8b53794a1053ace2a44e5b262e4f6757621c`. Codex JSON events, stderr, and final output paths are bound in the struct
Gates applied: no_behavioural_pass.
89f3435f019afull audit observations/trust-audit/mcp-server/smartyjohnway__tw-market-live-data-intelligence.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-12 | 89f3435f019a | BLOCK | F | 57 | first audit |
Questions
What is the tw-market-live-data-intelligence MCP server?
Local-first Taiwan market evidence workbench for AI agents — TWSE/TPEx, persistent Watchlists, governed MCP, auditable evidence, explicit execute-once.
What tools does tw-market-live-data-intelligence expose?
1 in total: 1 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is tw-market-live-data-intelligence safe to connect to an agent?
No — not without reading the findings first. The audit graded it F (57/100) and found 2 critical or high issues in the source. Each one is listed on this page with the file and line it is on.
What credentials does tw-market-live-data-intelligence need?
It reads FINMIND_TOKEN, H_ACC_7L_OWNER_AUTHORIZED, H_ACT_H1_OWNER_AUTHORIZED, H_ACT_H3_OWNER_AUTHORIZED, H_SB1_H2_OWNER_AUTHORIZED and PHASE_I_I1_OWNER_AUTHORIZED from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does tw-market-live-data-intelligence run?
It speaks stdio, so it runs as a local process your client starts.
How current is this page?
The grade is for one exact copy of the source (89f3435f019a), read on 2026-10-12. The repository is watched and re-audited when it changes.