Auditable equity research and fail-closed broker execution for US and Indian cash equities.
Connect Runs on your machine
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=<FMP_API_KEY> -e FINNHUB_API_KEY=<FINNHUB_API_KEY> -e GOOGLE_API_KEY=<GOOGLE_API_KEY> -e TELEGRAM_BOT_TOKEN=<TELEGRAM_BOT_TOKEN> -e TELEGRAM_CHAT_ID=<TELEGRAM_CHAT_ID> -e UPSTOX_ACCESS_TOKEN=<UPSTOX_ACCESS_TOKEN> -e UPSTOX_SANDBOX_ACCESS_TOKEN=<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=<KITE_API_KEY> -e KITE_ACCESS_TOKEN=<KITE_ACCESS_TOKEN> -- docker run -i --rm ghcr.io/akira231097/artha-council-mcp:1.4.0
{
"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": "<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>"
}
}
}
}
{
"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": "<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>"
}
}
}
}
{
"servers": {
"artha-council": {
"type": "stdio",
"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": "<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>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
ARTHA_MCP_MARKETOptional | Market profile: US or IN. |
ARTHA_MCP_BROKEROptional | Broker adapter: snapshot, upstox, zerodha, none, or plugin. |
ARTHA_MCP_RESEARCH_MODEOptional | Research boundary: embedded, host_orchestrated, or plugin. India should use host_orchestrated or a market-native plugin. |
ARTHA_MCP_DATA_DIROptional | Persistent directory for journals, receipts, jobs, portfolio state, and audit artifacts. |
ARTHA_MCP_ACCESS_MODEOptional | Capability mode: read_only, operator, or trading. Defaults to read_only. |
ARTHA_MCP_OPERATIONS_ENABLEDOptional | Explicit operations switch. Defaults to false. |
ARTHA_MCP_TRADING_ENABLEDOptional | Explicit live-trading switch. Defaults to false. |
ARTHA_MCP_KILL_SWITCHOptional | Final MCP placement kill switch. Defaults to true. |
ARTHA_MCP_MAX_ORDER_VALUEOptional | Maximum value of one order in the selected market currency. Defaults to 25 USD or 2500 INR. |
ARTHA_MCP_MAX_DAILY_ORDER_VALUEOptional | Maximum total daily order value in the selected market currency. Defaults to 50 USD or 5000 INR. |
ARTHA_MCP_MAX_DAILY_ORDERSOptional | Maximum number of broker placements per market day. Defaults to 2. |
ARTHA_MCP_MAX_PENDING_JOBSOptional | Maximum queued or running allowlisted workflows. Defaults to 8 and prevents an unbounded work queue. |
FMP_API_KEYOptional, secret | Optional Financial Modeling Prep key for embedded US research. |
FINNHUB_API_KEYOptional, secret | Optional Finnhub key for embedded US research enrichment. |
GOOGLE_API_KEYOptional, secret | Optional Google Gemini key for embedded Council roles and web-grounded research. |
TELEGRAM_BOT_TOKENOptional, secret | Optional Telegram bot token for Artha notifications. |
TELEGRAM_CHAT_IDOptional, secret | Optional Telegram destination used with TELEGRAM_BOT_TOKEN. |
UPSTOX_ACCESS_TOKENOptional, secret | Upstox live account/read token used for portfolio, quote, margin, and fee proof. |
UPSTOX_SANDBOX_ACCESS_TOKENOptional, secret | Separate Upstox sandbox token, required only when ARTHA_UPSTOX_SANDBOX=true. |
ARTHA_INDIA_STATIC_IP_REGISTEREDOptional | Operator attestation that this deployment IP is registered with the selected Indian broker. |
ARTHA_INDIA_DEMAT_SELL_AUTHORIZEDOptional | Operator attestation that required demat authorization is valid for Indian delivery sells. |
ARTHA_UPSTOX_ALGO_NAMEOptional | Optional exchange-approved algo name configured in the Upstox app. |
KITE_API_KEYOptional, secret | Required only for the Zerodha adapter. |
KITE_ACCESS_TOKENOptional, secret | Required only for the Zerodha adapter. |
Details
| Package | ghcr.io/akira231097/artha-council-mcp:1.4.0 (OCI, stdio) |
| First published | 11 Aug 2026 |
| Last updated | 11 Aug 2026 |
| Registry name | io.github.akira231097/artha-council |
More other servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
