mcpField
A
Artha Council

Artha Council

ローカル
github.com/akira231097金融データ111 週間前に更新

Artha Council について

Artha Councilは、米国とインドの現物株を評価するためのAI支援型株式調査・ポートフォリオ自動化システムです。分析判断とブローカー執行を分離し、監査可能な証跡とフェイルクローズの注文ゲートを備えています。

主な機能

  1. 01広範な銘柄ユニバースの順位付け
  2. 02独立した分析役による討議と統合
  3. 03投資テーゼと保有ポジションの監視
  4. 04ブローカー状況を踏まえた執行確認
  5. 05フェイルクローズの注文・照合制御
  6. 06状態変更の監査記録

活用シーン

  1. 01株式候補のスクリーニングと順位付け
  2. 02分析役と投資テーゼを検討
  3. 03保有銘柄を監視し売却レビューを開始
  4. 04注文前にブローカー条件を確認

MCP 対応

MCPサーバーは、調査およびブローカー関連の機能をMCPホストに公開します。ローカルstdio、またはOAuthとTLSで保護されたステートレスStreamable HTTPに対応し、読み取り専用かつキルスイッチ有効の状態で起動します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"akira231097-artha-council": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ARTHA_MCP_MARKET",
"-e",
"ARTHA_MCP_BROKER",
"-e",
"ARTHA_MCP_RESEARCH_MODE",
"-e",
"ARTHA_MCP_DATA_DIR",
"-e",
"ARTHA_MCP_ACCESS_MODE",
"-e",
"ARTHA_MCP_OPERATIONS_ENABLED",
"-e",
"ARTHA_MCP_TRADING_ENABLED",
"-e",
"ARTHA_MCP_KILL_SWITCH",
"-e",
"ARTHA_MCP_MAX_ORDER_VALUE",
"-e",
"ARTHA_MCP_MAX_DAILY_ORDER_VALUE",
"-e",
"ARTHA_MCP_MAX_DAILY_ORDERS",
"-e",
"ARTHA_MCP_MAX_PENDING_JOBS",
"-e",
"FMP_API_KEY",
"-e",
"FINNHUB_API_KEY",
"-e",
"GOOGLE_API_KEY",
"-e",
"TELEGRAM_BOT_TOKEN",
"-e",
"TELEGRAM_CHAT_ID",
"-e",
"UPSTOX_ACCESS_TOKEN",
"-e",
"UPSTOX_SANDBOX_ACCESS_TOKEN",
"-e",
"ARTHA_INDIA_STATIC_IP_REGISTERED",
"-e",
"ARTHA_INDIA_DEMAT_SELL_AUTHORIZED",
"-e",
"ARTHA_UPSTOX_ALGO_NAME",
"-e",
"KITE_API_KEY",
"-e",
"KITE_ACCESS_TOKEN",
"ghcr.io/akira231097/artha-council-mcp:1.4.0"
],
"env": {
"ARTHA_MCP_MARKET": "<ARTHA_MCP_MARKET>",
"ARTHA_MCP_BROKER": "<ARTHA_MCP_BROKER>",
"ARTHA_MCP_RESEARCH_MODE": "<ARTHA_MCP_RESEARCH_MODE>",
"ARTHA_MCP_DATA_DIR": "<ARTHA_MCP_DATA_DIR>",
"ARTHA_MCP_ACCESS_MODE": "<ARTHA_MCP_ACCESS_MODE>",
"ARTHA_MCP_OPERATIONS_ENABLED": "<ARTHA_MCP_OPERATIONS_ENABLED>",
"ARTHA_MCP_TRADING_ENABLED": "<ARTHA_MCP_TRADING_ENABLED>",
"ARTHA_MCP_KILL_SWITCH": "<ARTHA_MCP_KILL_SWITCH>",
"ARTHA_MCP_MAX_ORDER_VALUE": "<ARTHA_MCP_MAX_ORDER_VALUE>",
"ARTHA_MCP_MAX_DAILY_ORDER_VALUE": "<ARTHA_MCP_MAX_DAILY_ORDER_VALUE>",
"ARTHA_MCP_MAX_DAILY_ORDERS": "<ARTHA_MCP_MAX_DAILY_ORDERS>",
"ARTHA_MCP_MAX_PENDING_JOBS": "<ARTHA_MCP_MAX_PENDING_JOBS>",
"FMP_API_KEY": "<FMP_API_KEY>",
"FINNHUB_API_KEY": "<FINNHUB_API_KEY>",
"GOOGLE_API_KEY": "<GOOGLE_API_KEY>",
"TELEGRAM_BOT_TOKEN": "<TELEGRAM_BOT_TOKEN>",
"TELEGRAM_CHAT_ID": "<TELEGRAM_CHAT_ID>",
"UPSTOX_ACCESS_TOKEN": "<UPSTOX_ACCESS_TOKEN>",
"UPSTOX_SANDBOX_ACCESS_TOKEN": "<UPSTOX_SANDBOX_ACCESS_TOKEN>",
"ARTHA_INDIA_STATIC_IP_REGISTERED": "<ARTHA_INDIA_STATIC_IP_REGISTERED>",
"ARTHA_INDIA_DEMAT_SELL_AUTHORIZED": "<ARTHA_INDIA_DEMAT_SELL_AUTHORIZED>",
"ARTHA_UPSTOX_ALGO_NAME": "<ARTHA_UPSTOX_ALGO_NAME>",
"KITE_API_KEY": "<KITE_API_KEY>",
"KITE_ACCESS_TOKEN": "<KITE_ACCESS_TOKEN>"
}
}
}
}
起動コマンドdocker run -i --rm -e ARTHA_MCP_MARKET -e ARTHA_MCP_BROKER -e ARTHA_MCP_RESEARCH_MODE -e ARTHA_MCP_DATA_DIR -e ARTHA_MCP_ACCESS_MODE -e ARTHA_MCP_OPERATIONS_ENABLED -e ARTHA_MCP_TRADING_ENABLED -e ARTHA_MCP_KILL_SWITCH -e ARTHA_MCP_MAX_ORDER_VALUE -e ARTHA_MCP_MAX_DAILY_ORDER_VALUE -e ARTHA_MCP_MAX_DAILY_ORDERS -e ARTHA_MCP_MAX_PENDING_JOBS -e FMP_API_KEY -e FINNHUB_API_KEY -e GOOGLE_API_KEY -e TELEGRAM_BOT_TOKEN -e TELEGRAM_CHAT_ID -e UPSTOX_ACCESS_TOKEN -e UPSTOX_SANDBOX_ACCESS_TOKEN -e ARTHA_INDIA_STATIC_IP_REGISTERED -e ARTHA_INDIA_DEMAT_SELL_AUTHORIZED -e ARTHA_UPSTOX_ALGO_NAME -e KITE_API_KEY -e KITE_ACCESS_TOKEN ghcr.io/akira231097/artha-council-mcp:1.4.0
設定が必要な環境変数
ARTHA_MCP_MARKETMarket profile: US or IN.
ARTHA_MCP_BROKERBroker adapter: snapshot, upstox, zerodha, none, or plugin.
ARTHA_MCP_RESEARCH_MODEResearch boundary: embedded, host_orchestrated, or plugin. India should use host_orchestrated or a market-native plugin.
ARTHA_MCP_DATA_DIRPersistent directory for journals, receipts, jobs, portfolio state, and audit artifacts.
ARTHA_MCP_ACCESS_MODECapability mode: read_only, operator, or trading. Defaults to read_only.
ARTHA_MCP_OPERATIONS_ENABLEDExplicit operations switch. Defaults to false.
ARTHA_MCP_TRADING_ENABLEDExplicit live-trading switch. Defaults to false.
ARTHA_MCP_KILL_SWITCHFinal MCP placement kill switch. Defaults to true.
ARTHA_MCP_MAX_ORDER_VALUEMaximum value of one order in the selected market currency. Defaults to 25 USD or 2500 INR.
ARTHA_MCP_MAX_DAILY_ORDER_VALUEMaximum total daily order value in the selected market currency. Defaults to 50 USD or 5000 INR.
ARTHA_MCP_MAX_DAILY_ORDERSMaximum number of broker placements per market day. Defaults to 2.
ARTHA_MCP_MAX_PENDING_JOBSMaximum queued or running allowlisted workflows. Defaults to 8 and prevents an unbounded work queue.
FMP_API_KEYシークレットOptional Financial Modeling Prep key for embedded US research.
FINNHUB_API_KEYシークレットOptional Finnhub key for embedded US research enrichment.
GOOGLE_API_KEYシークレットOptional Google Gemini key for embedded Council roles and web-grounded research.
TELEGRAM_BOT_TOKENシークレットOptional Telegram bot token for Artha notifications.
TELEGRAM_CHAT_IDシークレットOptional Telegram destination used with TELEGRAM_BOT_TOKEN.
UPSTOX_ACCESS_TOKENシークレットUpstox live account/read token used for portfolio, quote, margin, and fee proof.
UPSTOX_SANDBOX_ACCESS_TOKENシークレットSeparate Upstox sandbox token, required only when ARTHA_UPSTOX_SANDBOX=true.
ARTHA_INDIA_STATIC_IP_REGISTEREDOperator attestation that this deployment IP is registered with the selected Indian broker.
ARTHA_INDIA_DEMAT_SELL_AUTHORIZEDシークレットOperator attestation that required demat authorization is valid for Indian delivery sells.
ARTHA_UPSTOX_ALGO_NAMEOptional exchange-approved algo name configured in the Upstox app.
KITE_API_KEYシークレットRequired only for the Zerodha adapter.
KITE_ACCESS_TOKENシークレットRequired only for the Zerodha adapter.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocighcr.io/akira231097/artha-council-mcp:1.4.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Artha Council

Artha CI CodeQL OpenSSF Scorecard License

Artha は、AI を活用した株式調査とポートフォリオ自動化システムです。幅広い米国株の銘柄群を絞り込み、投資機会を順位付けし、有力候補について独立したアナリスト役に議論させ、進行中の投資仮説を監視します。また、注文を進める前に、決定論的なブローカー判定を適用します。

バージョン 1.4 では、ソース/ビルドの来歴情報を追加して MCP サーバーを強化し、ローカル環境や OAuth で保護されたリモートアクセスに対応しました。既存の米国株ワークフローに加え、米国の調査データをインドのデータとして扱うことなく、インド株の現物取引向けに市場を考慮したブローカーアダプターをサポートします。 インド向けアダプターは、ブローカーで確認済みの銘柄検索と、現在の静的 IP 要件に従ったフェイルクローズ方式の整数株数による現物株の指値執行を提供します。

Sarath(@akira231097)が作成・保守しています。

調査、Council、執行、監査の境界を視覚的に確認するには、設計ノートとアーキテクチャ図をご覧ください。

Artha は調査用ソフトウェアであり、金融アドバイスではありません。公開されているデフォルト設定では、実取引を発注できません。ブローカー連携を有効にする場合、ソース、設定、ブローカーの利用規約、適用される要件を確認する責任は利用者にあります。

Artha が生まれた理由

多くの株式スクリーナーは、ティッカーの順位付けで処理を終えます。Artha は投資を、状態を保持する運用システムとして扱います。

  1. 大規模な銘柄群から候補を見つけます。
  2. データ品質と執行可能性を確認します。
  3. 有力候補に限って、貴重な Council の注意を割り当てます。
  4. 投資判断と注文執行を分離します。
  5. 保有するすべての投資仮説を監視し、重要な変化を売却 Council に送ります。
  6. 意図したアクションをブローカーの状態と照合します。
  7. 監査のため、証拠と状態遷移を保持します。

システムパイプライン

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

売却側は、新規購入の処理能力とは独立して稼働します。

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

重要な設計ルール

調査と執行は別です

Council が答えるのは、「この投資には魅力がありますか?」です。

執行レイヤーが答えるのは、「この正確な注文を、今、安全に発注できますか?」です。

優れた企業であっても、見積価格が古い、スプレッドが広すぎる、価格が承認済み上限を超えた、またはブローカーによる確認が未完了といった理由で、一時的に購入できないことがあります。こうした状況によって投資仮説が書き換えられることはありません。

ブローカーによる証明がなければ注文を停止します

資金を動かす処理はフェイルクローズで動作します。チェックに合格したというモデルの発言だけでは不十分です。Artha は、決定的な構造化ブローカー出力を必須とします。

購入を一時停止してもポートフォリオの監視は続きます

ポジション上限と投資容量の上限が一時停止するのは新規購入のみです。監視、売却レビュー、照合、ヘルスチェック、アラートは引き続き実行されます。

主なコンポーネント

  • artha/funnel.py - 広範なユニバースの銘柄選定と複数スリーブのランキング。
  • artha/broker_router.py - 気配値、流動性、取引可能性、データ取得の実現可能性。
  • artha/opportunity_scout.py - Council 前のエージェント型エビデンスレビューとランキング。
  • artha/council.py - アナリストの役割、スコア監査、CIO による統合。
  • artha/execution_officer.py - Stage A および Stage B の執行判断。
  • artha/alpha_shadow.py - 権威を持たないアルファ実験と結果の追跡。
  • artha/broker_capacity.py - ポートフォリオと日次の買付余力の計算。
  • artha/stand_down.py - 買い付けのみの一時停止と次の取引セッションでのリセット動作。
  • artha/sell_engine.py - ポジションのトリガーと売却側のオーケストレーション。
  • artha/sell_council.py - 保有、縮小、売却のレビュー。
  • artha/position_classification.py - ブローカーのポジションのセクターおよび業種分類の修正。
  • artha/execution_learning.py - 取引後の執行品質の測定。
  • artha/fill_finalizer.py - ブローカー約定の会計処理と冪等性を備えた状態の確定処理。
  • artha/robinhood_bridge.py - ブローカーへの引き渡し、レビュー、承認、照合。
  • artha/scheduler.py - 定期スキャンとライフサイクルのオーケストレーション。
  • artha/supervisor.py - 本番環境の健全性と準備状況のチェック。
  • artha_mcp/ - MCP ツール、リソース、プロンプト、認可、ジョブ、 レダクション、リサーチアダプター、注文内容を厳密に記録した受領情報、ブローカー照合。
  • dashboard/ - ローカルオペレーターダッシュボード。

コンポーネントの全体図については、アーキテクチャを参照してください。

クイックスタート

要件:Python 3.12 以降、および Node.js 20 以降。

git clone https://github.com/akira231097/artha-council.git
cd artha-council
python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -e .
npm ci
cp .env.example .env

.env にご自身のプロバイダー認証情報を追加してください。システムの評価中は、Robinhood の設定をすべて安全なデフォルト値のままにしてください。

python run.py overview
python run.py analyze AAPL MSFT V
python run.py broker-router-preview --assume-market-open --no-persist
python run.py supervise
artha-mcp --check
MCP

.mcp.json.example を使って、ローカルの stdio 経由で MCP 互換ホストに接続するか、OAuth と TLS の背後にステートレスな Streamable HTTP をデプロイしてください。サーバーは読み取り専用で起動し、キルスイッチが有効になっています。

artha-mcp

ユーザーは、ご自身のモデルサブスクリプション、データサブスクリプション、ブローカー認証情報、通知用認証情報を用意します。MCP サーバーは、メンテナーのアカウントを提供または共有することはありません。機能と安全性の境界の詳細については、Artha MCP および インドのサポートを参照してください。リリースフィンガープリント、ローリングチャネルと安定版チャネル、フェイルクローズ方式のローカルソース昇格パスについては、MCP の更新を参照してください。

検証

python -m compileall -q artha artha_mcp dashboard run.py
python -m unittest discover -s tests -t . -v
python scripts/check_release_integrity.py
python -m artha.test_enhancements
python -m artha.test_alpha_pipeline_hardening
python -m artha.test_production_hardening
python -m artha.test_feedback_loop_hardening

テストでは合成フィクスチャを使用し、実際のブローカー認証情報を必要としてはなりません。

Docker

付属のイメージは、コアとなる Python リサーチ CLI をサポートしています。

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

ブローカースナップショットヘルパーは、この最小限の Python イメージには意図的に含まれていません。別途設定した Node.js MCP ランタイムとブローカーへのアクセスが必要です。

Dockerfile.mcp は、root 権限を使わない MCP イメージをビルドします。main イメージタグは、テスト済みのデフォルトブランチの更新ごとに更新されます。リリースバージョンは変更されません。

公開リリースの境界

このリポジトリには、ソースコード、テスト、ドキュメント、安全な設定テンプレートが含まれています。以下は意図的に除外されています。

  • API キー、OAuth トークン、.env ファイル
  • ブローカー口座識別子とスナップショット
  • ポートフォリオ、注文履歴、取引記録
  • SQLite ジャーナルとランタイム状態
  • 生成されたドシエ、トレース、レポート、ログ
  • Telegram トークン、チャット識別子、コールバックトークン
  • ローカルの OpenClaw、launchd、ワークステーション設定
  • サードパーティのマーケットデータペイロード

サードパーティのデータとサービスは、それぞれ独自のライセンスと利用規約に従います。Apache ライセンスが適用されるのは Artha のソースコードであり、プロバイダーのデータやブローカーへのアクセスではありません。

プロジェクトドキュメント

ライセンスと引用

Artha Council は Apache License 2.0 の下でライセンスされています。配布するコピーおよび改変版では、NOTICE に記載されている該当するライセンス、著作権、帰属表示の通知を保持する必要があります。

プロジェクトを引用するには CITATION.cff を使用してください。GitHub では、リポジトリの このリポジトリを引用 の操作から参照できます。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。