Artha Council

Official registry Search and web

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

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

OCI package ghcr.io/akira231097/artha-council-mcp:1.4.0
Claude Code
claude mcp add artha-council -e 'ARTHA_MCP_MARKET=<ARTHA_MCP_MARKET>' -e 'ARTHA_MCP_BROKER=<ARTHA_MCP_BROKER>' -e 'ARTHA_MCP_RESEARCH_MODE=<ARTHA_MCP_RESEARCH_MODE>' -e 'ARTHA_MCP_DATA_DIR=<ARTHA_MCP_DATA_DIR>' -e 'ARTHA_MCP_ACCESS_MODE=<ARTHA_MCP_ACCESS_MODE>' -e 'ARTHA_MCP_OPERATIONS_ENABLED=<ARTHA_MCP_OPERATIONS_ENABLED>' -e 'ARTHA_MCP_TRADING_ENABLED=<ARTHA_MCP_TRADING_ENABLED>' -e 'ARTHA_MCP_KILL_SWITCH=<ARTHA_MCP_KILL_SWITCH>' -e 'ARTHA_MCP_MAX_ORDER_VALUE=<ARTHA_MCP_MAX_ORDER_VALUE>' -e 'ARTHA_MCP_MAX_DAILY_ORDER_VALUE=<ARTHA_MCP_MAX_DAILY_ORDER_VALUE>' -e 'ARTHA_MCP_MAX_DAILY_ORDERS=<ARTHA_MCP_MAX_DAILY_ORDERS>' -e 'ARTHA_MCP_MAX_PENDING_JOBS=<ARTHA_MCP_MAX_PENDING_JOBS>' -e 'FMP_API_KEY=<your fmp_api_key>' -e 'FINNHUB_API_KEY=<your finnhub_api_key>' -e 'GOOGLE_API_KEY=<your google_api_key>' -e 'TELEGRAM_BOT_TOKEN=<your telegram_bot_token>' -e 'TELEGRAM_CHAT_ID=<your telegram_chat_id>' -e 'UPSTOX_ACCESS_TOKEN=<your upstox_access_token>' -e 'UPSTOX_SANDBOX_ACCESS_TOKEN=<your upstox_sandbox_access_token>' -e 'ARTHA_INDIA_STATIC_IP_REGISTERED=<ARTHA_INDIA_STATIC_IP_REGISTERED>' -e 'ARTHA_INDIA_DEMAT_SELL_AUTHORIZED=<ARTHA_INDIA_DEMAT_SELL_AUTHORIZED>' -e 'ARTHA_UPSTOX_ALGO_NAME=<ARTHA_UPSTOX_ALGO_NAME>' -e 'KITE_API_KEY=<your kite_api_key>' -e 'KITE_ACCESS_TOKEN=<your kite_access_token>' -- docker run -i --rm ghcr.io/akira231097/artha-council-mcp:1.4.0
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "artha-council": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "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": "<your fmp_api_key>",
                "FINNHUB_API_KEY": "<your finnhub_api_key>",
                "GOOGLE_API_KEY": "<your google_api_key>",
                "TELEGRAM_BOT_TOKEN": "<your telegram_bot_token>",
                "TELEGRAM_CHAT_ID": "<your telegram_chat_id>",
                "UPSTOX_ACCESS_TOKEN": "<your upstox_access_token>",
                "UPSTOX_SANDBOX_ACCESS_TOKEN": "<your 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": "<your kite_api_key>",
                "KITE_ACCESS_TOKEN": "<your kite_access_token>"
            }
        }
    }
}

Environment variables

  • ARTHA_MCP_MARKET Market profile: US or IN.
  • ARTHA_MCP_BROKER Broker adapter: snapshot, upstox, zerodha, none, or plugin.
  • ARTHA_MCP_RESEARCH_MODE Research boundary: embedded, host_orchestrated, or plugin. India should use host_orchestrated or a market-native plugin.
  • ARTHA_MCP_DATA_DIR Persistent directory for journals, receipts, jobs, portfolio state, and audit artifacts.
  • ARTHA_MCP_ACCESS_MODE Capability mode: read_only, operator, or trading. Defaults to read_only.
  • ARTHA_MCP_OPERATIONS_ENABLED Explicit operations switch. Defaults to false.
  • ARTHA_MCP_TRADING_ENABLED Explicit live-trading switch. Defaults to false.
  • ARTHA_MCP_KILL_SWITCH Final MCP placement kill switch. Defaults to true.
  • ARTHA_MCP_MAX_ORDER_VALUE Maximum value of one order in the selected market currency. Defaults to 25 USD or 2500 INR.
  • ARTHA_MCP_MAX_DAILY_ORDER_VALUE Maximum total daily order value in the selected market currency. Defaults to 50 USD or 5000 INR.
  • ARTHA_MCP_MAX_DAILY_ORDERS Maximum number of broker placements per market day. Defaults to 2.
  • ARTHA_MCP_MAX_PENDING_JOBS Maximum queued or running allowlisted workflows. Defaults to 8 and prevents an unbounded work queue.
  • FMP_API_KEY secret Optional Financial Modeling Prep key for embedded US research.
  • FINNHUB_API_KEY secret Optional Finnhub key for embedded US research enrichment.
  • GOOGLE_API_KEY secret Optional Google Gemini key for embedded Council roles and web-grounded research.
  • TELEGRAM_BOT_TOKEN secret Optional Telegram bot token for Artha notifications.
  • TELEGRAM_CHAT_ID secret Optional Telegram destination used with TELEGRAM_BOT_TOKEN.
  • UPSTOX_ACCESS_TOKEN secret Upstox live account/read token used for portfolio, quote, margin, and fee proof.
  • UPSTOX_SANDBOX_ACCESS_TOKEN secret Separate Upstox sandbox token, required only when ARTHA_UPSTOX_SANDBOX=true.
  • ARTHA_INDIA_STATIC_IP_REGISTERED Operator 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_NAME Optional exchange-approved algo name configured in the Upstox app.
  • KITE_API_KEY secret Required only for the Zerodha adapter.
  • KITE_ACCESS_TOKEN secret Required only for the Zerodha adapter.

Frequently asked questions

What is Artha Council?

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

How do I install Artha Council?

It runs on your machine. In Claude Code: claude mcp add artha-council -e 'ARTHA_MCP_MARKET=<ARTHA_MCP_MARKET>' -e 'ARTHA_MCP_BROKER=<ARTHA_MCP_BROKER>' -e 'ARTHA_MCP_RESEARCH_MODE=<ARTHA_MCP_RESEARCH_MODE>' -e 'ARTHA_MCP_DATA_DIR=<ARTHA_MCP_DATA_DIR>' -e 'ARTHA_MCP_ACCESS_MODE=<ARTHA_MCP_ACCESS_MODE>' -e 'ARTHA_MCP_OPERATIONS_ENABLED=<ARTHA_MCP_OPERATIONS_ENABLED>' -e 'ARTHA_MCP_TRADING_ENABLED=<ARTHA_MCP_TRADING_ENABLED>' -e 'ARTHA_MCP_KILL_SWITCH=<ARTHA_MCP_KILL_SWITCH>' -e 'ARTHA_MCP_MAX_ORDER_VALUE=<ARTHA_MCP_MAX_ORDER_VALUE>' -e 'ARTHA_MCP_MAX_DAILY_ORDER_VALUE=<ARTHA_MCP_MAX_DAILY_ORDER_VALUE>' -e 'ARTHA_MCP_MAX_DAILY_ORDERS=<ARTHA_MCP_MAX_DAILY_ORDERS>' -e 'ARTHA_MCP_MAX_PENDING_JOBS=<ARTHA_MCP_MAX_PENDING_JOBS>' -e 'FMP_API_KEY=<your fmp_api_key>' -e 'FINNHUB_API_KEY=<your finnhub_api_key>' -e 'GOOGLE_API_KEY=<your google_api_key>' -e 'TELEGRAM_BOT_TOKEN=<your telegram_bot_token>' -e 'TELEGRAM_CHAT_ID=<your telegram_chat_id>' -e 'UPSTOX_ACCESS_TOKEN=<your upstox_access_token>' -e 'UPSTOX_SANDBOX_ACCESS_TOKEN=<your upstox_sandbox_access_token>' -e 'ARTHA_INDIA_STATIC_IP_REGISTERED=<ARTHA_INDIA_STATIC_IP_REGISTERED>' -e 'ARTHA_INDIA_DEMAT_SELL_AUTHORIZED=<ARTHA_INDIA_DEMAT_SELL_AUTHORIZED>' -e 'ARTHA_UPSTOX_ALGO_NAME=<ARTHA_UPSTOX_ALGO_NAME>' -e 'KITE_API_KEY=<your kite_api_key>' -e 'KITE_ACCESS_TOKEN=<your kite_access_token>' -- docker run -i --rm ghcr.io/akira231097/artha-council-mcp:1.4.0. For other clients, paste the JSON configuration from this page into their MCP settings.

Does Artha Council need an API key?

Yes. It expects FMP_API_KEY, FINNHUB_API_KEY, GOOGLE_API_KEY, TELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_ID, UPSTOX_ACCESS_TOKEN, UPSTOX_SANDBOX_ACCESS_TOKEN, KITE_API_KEY, KITE_ACCESS_TOKEN, which you set in its configuration.

Is Artha Council open source?

Its code is public on GitHub, but the repository does not declare a standard license.

Who maintains Artha Council?

It is published by akira231097. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.