alphacouncil-agent
A Codex/Claude Code plugin that spawns multiple analyst agents to research stocks, runs a bull vs bear debate, and produces a portfolio-manager verdict (Buy/Hold/Sell) with sourced evidence.
README
<a name="readme-top"></a>
<div align="center">
<img src="assets/banner.png" alt="AlphaCouncil Agent" width="100%" />
<p> <img src="https://readme-typing-svg.demolab.com?font=Fira+Code&size=20&duration=2800&pause=700&color=1A7A6A¢er=true&vCenter=true&width=620&lines=Spawn+a+council+of+analyst+agents;Gather+sourced+evidence%2C+hide+nothing;Run+a+bull+vs+bear+debate;Get+a+PM+verdict%3A+Buy+%C2%B7+Hold+%C2%B7+Sell" alt="tagline" /> </p>
<p> <img src="https://img.shields.io/github/actions/workflow/status/Zhao73/alphacouncil-agent/check.yml?style=for-the-badge&label=build&logo=githubactions&logoColor=white&color=1a7a6a" alt="build" /> <img src="https://img.shields.io/badge/License-MIT-c9a227?style=for-the-badge" alt="MIT" /> <img src="https://img.shields.io/badge/Node-%3E%3D18-339933?style=for-the-badge&logo=node.js&logoColor=white" alt="node" /> <img src="https://img.shields.io/github/stars/Zhao73/alphacouncil-agent?style=for-the-badge&logo=github&color=0d4d4d" alt="stars" /> </p> <p> <img src="https://img.shields.io/badge/OpenAI_Codex-412991?style=for-the-badge&logo=openai&logoColor=white" alt="codex" /> <img src="https://img.shields.io/badge/Claude_Code-D97757?style=for-the-badge&logo=anthropic&logoColor=white" alt="claude code" /> <img src="https://img.shields.io/badge/MCP-compatible-000000?style=for-the-badge" alt="mcp" /> </p>
<p> <a href="#-usage"><b>Usage</b></a> · <a href="docs/INSTALL.md"><b>Install</b></a> · <a href="#-architecture"><b>Architecture</b></a> · <a href="#-disclaimer"><b>Disclaimer</b></a> </p>
</div>
<div align="center">
<img src="assets/demo.gif" alt="AlphaCouncil Agent demo" width="100%" />
<sub><i>One command → a council of analyst agents → bull/bear debate → a portfolio-manager verdict.</i></sub>
</div>
AlphaCouncil Agent is a Codex and Claude Code plugin for full public-equity research workflows. It coordinates multiple analyst agents, gathers sourced evidence, runs bull/bear debate, and produces a portfolio-manager style final report.
✨ Why AlphaCouncil
| 🏛️ A council, not one opinion | 11 specialist analyst agents (market data, earnings, valuation, quant, insider/SEC, IB events…) run in parallel. |
| 🐂🐻 Adversarial by design | A structured bull vs bear debate, refereed by a portfolio-manager agent that issues an actual rating. |
| 🔍 Auditable, never hallucinated | Every claim maps to a source ID. Missing data is listed in a "data gaps" section — never hidden. |
| ⏱️ Multi-horizon verdict | Buy/Hold/Sell plus separate 1-4 week, 3-6 month, and 12-month views. |
| 🔑 No data vendor, no API keys | No financial-data API, market-data feed, or brokerage login. Analysts gather evidence live via the agent's own web search (Codex web search / Claude Code WebSearch + WebFetch) — billed only to your existing Codex / Claude Code subscription. MIT licensed. |
| 📚 Bundled research playbooks | Public-equity-investing & investment-banking methodology ship as local skills — no dependency on Codex-only remote workflows, so Claude Code gets the same research depth (skills/public-equity-investing, skills/investment-banking). |
This repository is the uploadable source copy. Runtime outputs are written outside the repo under ~/.alphacouncil-agent/runs/<run_id>/.
📜 Disclaimer
This software is for educational and research purposes only. It is not investment advice, not a recommendation to buy or sell any security, and not a solicitation. AI-generated analysis can be incomplete, outdated, or wrong. Do your own research and consult a licensed financial professional before making any investment decision. The authors accept no liability for any loss.
Install
See docs/INSTALL.md for full Codex and Claude Code setup. Windows users: see the Windows section.
Prerequisites: Node.js >= 18. The headless research path also needs an
installed, authenticated Codex CLI (each analyst worker runs as codex exec). On Windows, v0.3.0+ launches the CLI through cmd.exe and feeds prompts
over stdin so native codex.cmd installs work without WSL in the normal case.
# Codex
codex plugin marketplace add Zhao73/alphacouncil-agent
# then run `codex`, open /plugins, install, and /reload-plugins
# Claude Code
/plugin marketplace add Zhao73/alphacouncil-agent
/plugin install alphacouncil-agent@alphacouncil
/reload-plugins
🚀 Usage
Just talk to it. Mention the agent and a ticker or a question:
@alphacouncil-agent analyze NVDA as a long/short pitch
@alphacouncil-agent is AAPL a buy at current levels?
@alphacouncil-agent compare TSLA vs RIVN for a 12-month horizon
@alphacouncil-agent 帮我看看 700.HK 现在能不能买
@alphacouncil-agent トヨタ(7203)を分析して
You get back a single, chat-readable report:
VERDICT: Overweight (confidence: medium)
├─ Analyst work log ........ 11 evidence agents, 38 sourced claims
├─ Bull thesis ............. demand inflection, margin expansion, buyback
├─ Bear thesis ............. valuation, customer concentration, cycle risk
├─ Short / medium / long ... 1-4wk · 3-6mo · 12mo views
├─ Catalysts & risks ....... earnings, guidance, regulatory
├─ Data gaps ............... explicitly listed, never hidden
└─ Source table ............ every claim mapped to <task>:<source_id>
The concise handoff is written to ~/.alphacouncil-agent/runs/<run_id>/user_response.md.
The full report is written to ~/.alphacouncil-agent/runs/<run_id>/final_report.md,
with analyst Markdown files and artifact_index.md in the same run directory.
What It Does
Default stock-analysis runs are full runs, not lite summaries:
- Market data and price action
- Earnings deep dive
- Forward expectations and implied beat/miss thresholds
- Sell-side rating and target-price revisions
- Earnings-call management signals
- Quant factor view: momentum, trend, volatility, volume/liquidity, relative strength, short interest, borrow, option IV/skew/expected move when available
- Valuation and long/short pitch
- News, industry context, CEO/management and public industry voices
- SEC filings, Form 4 insider transactions, buybacks, dilution, debt and capital allocation
- Investment-banking event analysis for M&A, ECM, debt, buyback or strategic transactions
- Bull researcher, bear researcher and portfolio manager synthesis
The final report must be readable directly in chat. It includes analyst work logs, data/news/filing summaries, bull/bear debate, portfolio-manager verdict, short/medium/long-term view, data gaps, confidence and source table.
🧩 Architecture
flowchart TD
U["@alphacouncil-agent<br/>ticker / question"] --> SK["SKILL.md<br/>runtime instructions"]
SK --> AG{{"Analyst Council"}}
AG --> A1["📈 Market Data"]
AG --> A2["💰 Earnings"]
AG --> A3["⚖️ Valuation"]
AG --> A4["🧮 Quant Factors"]
AG --> A5["🏛️ Insider / SEC"]
AG --> A6["🤝 IB Events"]
A1 --> EV[("Evidence Base<br/>sourced packets")]
A2 --> EV
A3 --> EV
A4 --> EV
A5 --> EV
A6 --> EV
EV --> BULL["🐂 Bull Researcher"]
EV --> BEAR["🐻 Bear Researcher"]
BULL --> PM{{"Portfolio Manager"}}
BEAR --> PM
PM --> R[["final_report.md<br/>Buy · Hold · Sell"]]
Key files:
.codex-plugin/plugin.json- Codex plugin metadata..mcp.json- MCP server wiring.assets/logo.png- plugin icon used by Codex.skills/alphacouncil-agent/SKILL.md- runtime instructions for Codex.mcp/server.mjs- JSON-RPC MCP server and workflow implementation.scripts/selfcheck.mjs- minimal regression check.
🆚 Codex vs Claude Code edition
Both editions share the same workflow, JSON packet contract, audit artifacts, the no-API-keys / live-web evidence model, and the same disclaimer. The Claude Code edition changes only how the council is run.
| Codex edition | Claude Code edition | |
|---|---|---|
| Council execution | codex exec workers, concurrency-capped |
All 11 analysts as parallel Task subagents, one fan-out |
| Per-analyst context | Separate process | Separate subagent, full isolated context window |
| Evidence | codex exec --search |
WebSearch + WebFetch in each analyst's own context |
| Evidence → debate | Sequential | Hard barrier on the run's phase machine |
| Debate depth | 3 rounds (case / rebuttal / Q&A), server-run | 3 rounds, bull + bear in parallel per round |
| Claim verification | Missing-source gate (run flagged, report banner) | + per-claim adversarial verify: re-fetch cited URL, re-derive, refute (host-driven) |
| Full-run enforcement | Incomplete runs marked incomplete (server gate) |
Same gate, plus a hard barrier before debate |
| Model & cost | One model | Pick per role — evidence on Sonnet, debate/verdict on Opus 4.8 (or all-Opus / all-Sonnet) |
| Language | User's language | User's language across every subagent + the live workflow |
Honest scope: same model family, same prompts, same audit contract — the win is context isolation, always-on parallel fan-out, and deterministic gates, not a smarter model. As of v0.3.0 the shared server runs the 3-round debate, enforces missing-source / full-run / report-quality gates, writes concise and full report artifacts, and supports native Windows Codex CLI launching. As of v0.3.1, the plugin also bundles agent-skills-governance, an addyosmani/agent-skills-style anti-laziness skill with explicit stop gates and exit criteria. The Claude Code edition adds parallel per-round execution and host-driven per-claim verification. Live-web staleness and paywalls limit both editions equally.
Data Contract
Evidence agents return JSON packets:
{
"task": "market_data",
"symbol": "NVDA",
"as_of": "YYYY-MM-DD",
"summary": "string",
"claims": [
{
"claim": "string",
"evidence": "string",
"confidence": "high|medium|low",
"source_ids": ["market_data:S1"]
}
],
"metrics": {},
"sources": [
{
"id": "market_data:S1",
"title": "string",
"url": "https://example.com",
"published_at": "YYYY-MM-DD or unknown",
"retrieved_at": "YYYY-MM-DD"
}
],
"open_questions": ["missing data item"],
"confidence": "high|medium|low"
}
All source IDs are task-scoped as <task>:<source_id>. Missing data must be reported in open_questions and in the final report's data-gap section.
Run Locally
npm run check
The check validates:
- MCP server syntax
- tool schema exposure
- source ID scoping
- default real-run behavior
- visible-run recording
events.jsonl,status.json,all_agents.md,source_manifest.jsonfinal_report.md,user_response.md,artifact_index.md,report_quality.json- one Markdown file per evidence analyst plus bull, bear, and portfolio manager
- final report includes analyst work log, bull/bear debate record and data gaps
Codex Install Shape
The plugin expects this local layout:
.codex-plugin/plugin.json
.mcp.json
skills/alphacouncil-agent/SKILL.md
mcp/server.mjs
scripts/selfcheck.mjs
package.json
.mcp.json runs:
{
"mcpServers": {
"alphacouncil-agent": {
"command": "node",
"args": ["./mcp/server.mjs"],
"cwd": "."
}
}
}
Notes
This is an independent Codex plugin implementation. It uses a multi-agent investment-committee workflow: analyst teams, evidence sharing, bull/bear debate and portfolio-manager synthesis.
No API keys, brokerage credentials, private filings or generated run artifacts should be committed.
⭐ Star History
<div align="center">
<a href="https://star-history.com/#Zhao73/alphacouncil-agent&Date"> <img src="https://api.star-history.com/svg?repos=Zhao73/alphacouncil-agent&type=Date" width="640" alt="Star History Chart" /> </a>
<br/><br/>
<picture> <source media="(prefers-color-scheme: dark)" srcset="assets/logo-dark.png" /> <img src="assets/logo.png" alt="AlphaCouncil" width="120" /> </picture>
If AlphaCouncil saved you time, consider leaving a ⭐ — it genuinely helps.
<a href="#readme-top">↑ Back to top</a>
</div>
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。