Artha Council

io.github.akira231097由 GitHub 账号 akira231097 发布v1.4.0更新于 Oct 24, 2026

Auditable equity research and fail-closed broker execution for US and Indian cash equities.

概览

AI 生成的概览

本地 MCP 服务器,用于可审计的美股与印度股票研究、分析师角色辩论、持仓监控以及受门控的券商下单执行。

可以做什么
筛选大范围股票池、排序候选并按券商可行性与数据质量路由(漏斗、券商路由、机会侦察)。运行独立的基本面、技术与风险分析师角色对候选进行辩论,并由 CIO 综合与评分审计。监控持仓与投资论点,触发止损或失效复核,并给出持有、减持、退出的卖出决策。分阶段推理执行,订单须通过确定性券商复核、下单门控、回执与成交后对账。跟踪组合容量、买入暂停、执行质量与健康检查,可选 Telegram 通知。
适用场景
适合希望助手协助进行有状态股票研究、论点跟踪和美股或印度现金股票持仓监控的用户,之后可在明确限额下启用券商下单。
运行要求
以本地 stdio 进程运行(提供容器镜像);README 列出完整项目需 Python 3.12+ 与 Node.js 20+。需要持久数据目录(ARTHA_MCP_DATA_DIR)与市场配置(ARTHA_MCP_MARKET)。可选密钥:FINNHUB_API_KEY、FMP_API_KEY、GOOGLE_API_KEY、TELEGRAM_BOT_TOKEN 与 TELEGRAM_CHAT_ID;券商令牌 UPSTOX_ACCESS_TOKEN、UPSTOX_SANDBOX_ACCESS_TOKEN、KITE_API_KEY 与 KITE_ACCESS_TOKEN 仅对应适配器需要。需访问数据提供商与券商的网络。
安装前请注意
启用 ARTHA_MCP_TRADING_ENABLED 与 ARTHA_MCP_OPERATIONS_ENABLED 后可下真实券商订单;默认只读且总开关(ARTHA_MCP_KILL_SWITCH)处于开启状态。须复核下单上限(ARTHA_MCP_MAX_ORDER_VALUE、ARTHA_MCP_MAX_DAILY_ORDER_VALUE、ARTHA_MCP_MAX_DAILY_ORDERS)及印度相关声明(ARTHA_INDIA_DEMAT_SELL_AUTHORIZED、ARTHA_INDIA_STATIC_IP_REGISTERED)。券商与数据商令牌属高敏感凭据;README 声明其为研究软件,并非投资建议。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Artha Council,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Artha Council

[Artha CI] [CodeQL] [OpenSSF Scorecard] [License]

Artha is an AI-assisted equity research and portfolio automation system. It narrows a broad US-stock universe, ranks opportunities, asks independent analyst roles to debate the strongest candidates, monitors active investment theses, and uses deterministic broker gates before an order can proceed.

Version 1.4 hardens the MCP server with source/build provenance for portable local or OAuth-protected remote access. It supports the existing US workflow and market-aware broker adapters for Indian cash equities without treating US research as India data. India adapters provide broker-verified instrument lookup and fail-closed, whole-share delivery limit execution with current static-IP requirements.

Created and maintained by Sarath (@akira231097).

See the design notes and architecture diagram for a visual walkthrough of the research, Council, execution, and audit boundaries.

Artha is research software, not financial advice. Public defaults cannot place live trades. Anyone enabling broker integration is responsible for reviewing the source, their configuration, broker terms, and applicable requirements.

Why Artha Exists

Most stock screeners stop after ranking tickers. Artha treats investing as a stateful operating system:

  1. Find candidates from a large universe.
  2. Verify data quality and execution feasibility.
  3. Give scarce Council attention to the strongest candidates.
  4. Separate investment judgment from order execution.
  5. Monitor every held thesis and send material changes to a sell Council.
  6. Reconcile intended actions against broker state.
  7. Preserve evidence and state transitions for audit.

System Pipeline

text
Market data providers  -> universe and promotion funnel  -> investment sanity checks  -> broker-aware candidate router  -> opportunity scout  -> fundamental / technical / risk analysts  -> CIO synthesis  -> execution officer  -> deterministic broker review and placement gates  -> reconciliation, thesis tracking, Telegram, supervisor

The sell side runs independently of new-buy capacity:

text
Portfolio snapshot  -> position and thesis monitor  -> deterministic stop / invalidation triggers  -> sell Council for judgment decisions  -> execution officer  -> broker review and exact-order placement gate  -> post-fill reconciliation

Important Design Rules

Research is not execution

The Council answers: "Is this investment attractive?"

The execution layer answers: "Can this exact order be placed safely now?"

A good company can be temporarily unbuyable because the quote is stale, the spread is too wide, the price moved above the approved cap, or broker review is incomplete. Those conditions do not rewrite the investment thesis.

Missing broker proof blocks an order

Money-moving paths fail closed. A model statement that a check passed is not enough; Artha requires the decisive structured broker output.

Portfolio monitoring continues when buys pause

Position limits and invested-capacity limits pause new buys only. Monitoring, sell review, reconciliation, health checks, and alerts continue running.

Major Components

  • artha/funnel.py - broad-universe promotion and multi-sleeve ranking.
  • artha/broker_router.py - quote, liquidity, tradability, and data feasibility.
  • artha/opportunity_scout.py - agentic pre-Council evidence review and ranking.
  • artha/council.py - analyst roles, score audit, and CIO synthesis.
  • artha/execution_officer.py - Stage A and Stage B execution reasoning.
  • artha/alpha_shadow.py - non-authoritative alpha experiments and outcome tracking.
  • artha/broker_capacity.py - portfolio and daily buy-capacity calculations.
  • artha/stand_down.py - buy-only pause and next-session reset behavior.
  • artha/sell_engine.py - position triggers and sell-side orchestration.
  • artha/sell_council.py - hold, trim, and exit review.
  • artha/position_classification.py - broker-position sector and industry repair.
  • artha/execution_learning.py - post-trade execution-quality measurements.
  • artha/fill_finalizer.py - broker-fill accounting and idempotent state finalization.
  • artha/robinhood_bridge.py - broker handoff, review, clearance, and reconciliation.
  • artha/scheduler.py - scheduled scans and lifecycle orchestration.
  • artha/supervisor.py - production health and readiness checks.
  • artha_mcp/ - MCP tools, resources, prompts, authorization, jobs, redaction, research adapters, exact-order receipts, and broker reconciliation.
  • dashboard/ - local operator dashboard.

See Architecture for the complete component map.

Quick Start

Requirements: Python 3.12 or newer and Node.js 20 or newer.

bash
git clone https://github.com/akira231097/artha-council.gitcd artha-councilpython -m venv .venvsource .venv/bin/activatepython -m pip install --upgrade pippip install -e .npm cicp .env.example .env

Add your own provider credentials to .env. Keep every Robinhood setting at its safe default while evaluating the system.

bash
python run.py overviewpython run.py analyze AAPL MSFT Vpython run.py broker-router-preview --assume-market-open --no-persistpython run.py superviseartha-mcp --check

MCP

Connect any MCP-compatible host through local stdio using .mcp.json.example, or deploy stateless Streamable HTTP behind OAuth and TLS. The server starts read-only with its kill switch engaged.

bash
artha-mcp

The user supplies their own model subscriptions, data subscriptions, broker credentials, and notification credentials. The MCP server never provides or shares the maintainer's accounts. See Artha MCP and India Support for the exact capability and safety boundary. See MCP Updates for release fingerprints, rolling versus stable channels, and the fail-closed local-source promotion path.

Verification

bash
python -m compileall -q artha artha_mcp dashboard run.pypython -m unittest discover -s tests -t . -vpython scripts/check_release_integrity.pypython -m artha.test_enhancementspython -m artha.test_alpha_pipeline_hardeningpython -m artha.test_production_hardeningpython -m artha.test_feedback_loop_hardening

Tests use synthetic fixtures and must not require real broker credentials.

Docker

The included image supports the core Python research CLI:

bash
docker build -t artha-council .docker run --rm --env-file .env artha-council overview

The broker snapshot helper is intentionally outside this minimal Python image; it requires a separately configured Node.js MCP runtime and broker access.

Dockerfile.mcp builds the non-root MCP image. The main image tag is refreshed after each tested default-branch update; release versions remain immutable.

Public Release Boundary

This repository contains source, tests, documentation, and safe configuration templates. It intentionally excludes:

  • API keys, OAuth tokens, and .env files
  • broker account identifiers and snapshots
  • portfolios, order history, and transaction records
  • SQLite journals and runtime state
  • generated dossiers, traces, reports, and logs
  • Telegram tokens, chat identifiers, and callback tokens
  • local OpenClaw, launchd, and workstation configuration
  • third-party market-data payloads

Third-party data and services remain governed by their own licenses and terms. The Apache license covers Artha's source code, not provider data or broker access.

Project Documents

License and Citation

Artha Council is licensed under Apache License 2.0. Distributed copies and modifications must retain the applicable license, copyright, and attribution notices described in NOTICE.

Use CITATION.cff to cite the project. GitHub exposes it through the repository's Cite this repository control.

来源:README.md,提交 bc3ef17

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.4.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分