Artha Council MCP Server
io.github.akira231097/artha-council
What is the Artha Council MCP server?
Auditable equity research and fail-closed broker execution for US and Indian cash equities.
How to install Artha Council
Copy-paste configuration for popular MCP clients.
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_KEYsecretOptional Financial Modeling Prep key for embedded US research.
FINNHUB_API_KEYsecretOptional Finnhub key for embedded US research enrichment.
GOOGLE_API_KEYsecretOptional Google Gemini key for embedded Council roles and web-grounded research.
TELEGRAM_BOT_TOKENsecretOptional Telegram bot token for Artha notifications.
TELEGRAM_CHAT_IDsecretOptional Telegram destination used with TELEGRAM_BOT_TOKEN.
UPSTOX_ACCESS_TOKENsecretUpstox live account/read token used for portfolio, quote, margin, and fee proof.
UPSTOX_SANDBOX_ACCESS_TOKENsecretSeparate 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_AUTHORIZEDOperator 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_KEYsecretRequired only for the Zerodha adapter.
KITE_ACCESS_TOKENsecretRequired only for the Zerodha adapter.
{
"mcpServers": {
"artha-council": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/akira231097/artha-council-mcp:1.4.0"
],
"env": {
"ARTHA_MCP_MARKET": "<YOUR_ARTHA_MCP_MARKET>",
"ARTHA_MCP_BROKER": "<YOUR_ARTHA_MCP_BROKER>",
"ARTHA_MCP_RESEARCH_MODE": "<YOUR_ARTHA_MCP_RESEARCH_MODE>",
"ARTHA_MCP_DATA_DIR": "<YOUR_ARTHA_MCP_DATA_DIR>",
"ARTHA_MCP_ACCESS_MODE": "<YOUR_ARTHA_MCP_ACCESS_MODE>",
"ARTHA_MCP_OPERATIONS_ENABLED": "<YOUR_ARTHA_MCP_OPERATIONS_ENABLED>",
"ARTHA_MCP_TRADING_ENABLED": "<YOUR_ARTHA_MCP_TRADING_ENABLED>",
"ARTHA_MCP_KILL_SWITCH": "<YOUR_ARTHA_MCP_KILL_SWITCH>",
"ARTHA_MCP_MAX_ORDER_VALUE": "<YOUR_ARTHA_MCP_MAX_ORDER_VALUE>",
"ARTHA_MCP_MAX_DAILY_ORDER_VALUE": "<YOUR_ARTHA_MCP_MAX_DAILY_ORDER_VALUE>",
"ARTHA_MCP_MAX_DAILY_ORDERS": "<YOUR_ARTHA_MCP_MAX_DAILY_ORDERS>",
"ARTHA_MCP_MAX_PENDING_JOBS": "<YOUR_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": "<YOUR_ARTHA_INDIA_STATIC_IP_REGISTERED>",
"ARTHA_INDIA_DEMAT_SELL_AUTHORIZED": "<YOUR_ARTHA_INDIA_DEMAT_SELL_AUTHORIZED>",
"ARTHA_UPSTOX_ALGO_NAME": "<YOUR_ARTHA_UPSTOX_ALGO_NAME>",
"KITE_API_KEY": "<YOUR_KITE_API_KEY>",
"KITE_ACCESS_TOKEN": "<YOUR_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": "<YOUR_ARTHA_MCP_MARKET>",
"ARTHA_MCP_BROKER": "<YOUR_ARTHA_MCP_BROKER>",
"ARTHA_MCP_RESEARCH_MODE": "<YOUR_ARTHA_MCP_RESEARCH_MODE>",
"ARTHA_MCP_DATA_DIR": "<YOUR_ARTHA_MCP_DATA_DIR>",
"ARTHA_MCP_ACCESS_MODE": "<YOUR_ARTHA_MCP_ACCESS_MODE>",
"ARTHA_MCP_OPERATIONS_ENABLED": "<YOUR_ARTHA_MCP_OPERATIONS_ENABLED>",
"ARTHA_MCP_TRADING_ENABLED": "<YOUR_ARTHA_MCP_TRADING_ENABLED>",
"ARTHA_MCP_KILL_SWITCH": "<YOUR_ARTHA_MCP_KILL_SWITCH>",
"ARTHA_MCP_MAX_ORDER_VALUE": "<YOUR_ARTHA_MCP_MAX_ORDER_VALUE>",
"ARTHA_MCP_MAX_DAILY_ORDER_VALUE": "<YOUR_ARTHA_MCP_MAX_DAILY_ORDER_VALUE>",
"ARTHA_MCP_MAX_DAILY_ORDERS": "<YOUR_ARTHA_MCP_MAX_DAILY_ORDERS>",
"ARTHA_MCP_MAX_PENDING_JOBS": "<YOUR_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": "<YOUR_ARTHA_INDIA_STATIC_IP_REGISTERED>",
"ARTHA_INDIA_DEMAT_SELL_AUTHORIZED": "<YOUR_ARTHA_INDIA_DEMAT_SELL_AUTHORIZED>",
"ARTHA_UPSTOX_ALGO_NAME": "<YOUR_ARTHA_UPSTOX_ALGO_NAME>",
"KITE_API_KEY": "<YOUR_KITE_API_KEY>",
"KITE_ACCESS_TOKEN": "<YOUR_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": "<YOUR_ARTHA_MCP_MARKET>",
"ARTHA_MCP_BROKER": "<YOUR_ARTHA_MCP_BROKER>",
"ARTHA_MCP_RESEARCH_MODE": "<YOUR_ARTHA_MCP_RESEARCH_MODE>",
"ARTHA_MCP_DATA_DIR": "<YOUR_ARTHA_MCP_DATA_DIR>",
"ARTHA_MCP_ACCESS_MODE": "<YOUR_ARTHA_MCP_ACCESS_MODE>",
"ARTHA_MCP_OPERATIONS_ENABLED": "<YOUR_ARTHA_MCP_OPERATIONS_ENABLED>",
"ARTHA_MCP_TRADING_ENABLED": "<YOUR_ARTHA_MCP_TRADING_ENABLED>",
"ARTHA_MCP_KILL_SWITCH": "<YOUR_ARTHA_MCP_KILL_SWITCH>",
"ARTHA_MCP_MAX_ORDER_VALUE": "<YOUR_ARTHA_MCP_MAX_ORDER_VALUE>",
"ARTHA_MCP_MAX_DAILY_ORDER_VALUE": "<YOUR_ARTHA_MCP_MAX_DAILY_ORDER_VALUE>",
"ARTHA_MCP_MAX_DAILY_ORDERS": "<YOUR_ARTHA_MCP_MAX_DAILY_ORDERS>",
"ARTHA_MCP_MAX_PENDING_JOBS": "<YOUR_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": "<YOUR_ARTHA_INDIA_STATIC_IP_REGISTERED>",
"ARTHA_INDIA_DEMAT_SELL_AUTHORIZED": "<YOUR_ARTHA_INDIA_DEMAT_SELL_AUTHORIZED>",
"ARTHA_UPSTOX_ALGO_NAME": "<YOUR_ARTHA_UPSTOX_ALGO_NAME>",
"KITE_API_KEY": "<YOUR_KITE_API_KEY>",
"KITE_ACCESS_TOKEN": "<YOUR_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": "<YOUR_ARTHA_MCP_MARKET>",
"ARTHA_MCP_BROKER": "<YOUR_ARTHA_MCP_BROKER>",
"ARTHA_MCP_RESEARCH_MODE": "<YOUR_ARTHA_MCP_RESEARCH_MODE>",
"ARTHA_MCP_DATA_DIR": "<YOUR_ARTHA_MCP_DATA_DIR>",
"ARTHA_MCP_ACCESS_MODE": "<YOUR_ARTHA_MCP_ACCESS_MODE>",
"ARTHA_MCP_OPERATIONS_ENABLED": "<YOUR_ARTHA_MCP_OPERATIONS_ENABLED>",
"ARTHA_MCP_TRADING_ENABLED": "<YOUR_ARTHA_MCP_TRADING_ENABLED>",
"ARTHA_MCP_KILL_SWITCH": "<YOUR_ARTHA_MCP_KILL_SWITCH>",
"ARTHA_MCP_MAX_ORDER_VALUE": "<YOUR_ARTHA_MCP_MAX_ORDER_VALUE>",
"ARTHA_MCP_MAX_DAILY_ORDER_VALUE": "<YOUR_ARTHA_MCP_MAX_DAILY_ORDER_VALUE>",
"ARTHA_MCP_MAX_DAILY_ORDERS": "<YOUR_ARTHA_MCP_MAX_DAILY_ORDERS>",
"ARTHA_MCP_MAX_PENDING_JOBS": "<YOUR_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": "<YOUR_ARTHA_INDIA_STATIC_IP_REGISTERED>",
"ARTHA_INDIA_DEMAT_SELL_AUTHORIZED": "<YOUR_ARTHA_INDIA_DEMAT_SELL_AUTHORIZED>",
"ARTHA_UPSTOX_ALGO_NAME": "<YOUR_ARTHA_UPSTOX_ALGO_NAME>",
"KITE_API_KEY": "<YOUR_KITE_API_KEY>",
"KITE_ACCESS_TOKEN": "<YOUR_KITE_ACCESS_TOKEN>"
}
}
}
}claude mcp add artha-council --env ARTHA_MCP_MARKET=<YOUR_ARTHA_MCP_MARKET> --env ARTHA_MCP_BROKER=<YOUR_ARTHA_MCP_BROKER> --env ARTHA_MCP_RESEARCH_MODE=<YOUR_ARTHA_MCP_RESEARCH_MODE> --env ARTHA_MCP_DATA_DIR=<YOUR_ARTHA_MCP_DATA_DIR> --env ARTHA_MCP_ACCESS_MODE=<YOUR_ARTHA_MCP_ACCESS_MODE> --env ARTHA_MCP_OPERATIONS_ENABLED=<YOUR_ARTHA_MCP_OPERATIONS_ENABLED> --env ARTHA_MCP_TRADING_ENABLED=<YOUR_ARTHA_MCP_TRADING_ENABLED> --env ARTHA_MCP_KILL_SWITCH=<YOUR_ARTHA_MCP_KILL_SWITCH> --env ARTHA_MCP_MAX_ORDER_VALUE=<YOUR_ARTHA_MCP_MAX_ORDER_VALUE> --env ARTHA_MCP_MAX_DAILY_ORDER_VALUE=<YOUR_ARTHA_MCP_MAX_DAILY_ORDER_VALUE> --env ARTHA_MCP_MAX_DAILY_ORDERS=<YOUR_ARTHA_MCP_MAX_DAILY_ORDERS> --env ARTHA_MCP_MAX_PENDING_JOBS=<YOUR_ARTHA_MCP_MAX_PENDING_JOBS> --env FMP_API_KEY=<YOUR_FMP_API_KEY> --env FINNHUB_API_KEY=<YOUR_FINNHUB_API_KEY> --env GOOGLE_API_KEY=<YOUR_GOOGLE_API_KEY> --env TELEGRAM_BOT_TOKEN=<YOUR_TELEGRAM_BOT_TOKEN> --env TELEGRAM_CHAT_ID=<YOUR_TELEGRAM_CHAT_ID> --env UPSTOX_ACCESS_TOKEN=<YOUR_UPSTOX_ACCESS_TOKEN> --env UPSTOX_SANDBOX_ACCESS_TOKEN=<YOUR_UPSTOX_SANDBOX_ACCESS_TOKEN> --env ARTHA_INDIA_STATIC_IP_REGISTERED=<YOUR_ARTHA_INDIA_STATIC_IP_REGISTERED> --env ARTHA_INDIA_DEMAT_SELL_AUTHORIZED=<YOUR_ARTHA_INDIA_DEMAT_SELL_AUTHORIZED> --env ARTHA_UPSTOX_ALGO_NAME=<YOUR_ARTHA_UPSTOX_ALGO_NAME> --env KITE_API_KEY=<YOUR_KITE_API_KEY> --env KITE_ACCESS_TOKEN=<YOUR_KITE_ACCESS_TOKEN> -- docker run -i --rm ghcr.io/akira231097/artha-council-mcp:1.4.0Related MCP servers
Control a real Chrome browser to complete any task: fill forms, extract data, book flights.
World Monitor
Live global intelligence: real-time markets, conflicts, country risk, chokepoints, energy. 39 tools.
Netdata
Real-time infrastructure monitoring with metrics, logs, alerts, and ML-based anomaly detection.
Trending hip-hop artist momentum scores across four cultural dimensions.
AI orchestration with hive-mind swarms, neural networks, and 87 MCP tools for enterprise dev.
Scrapling MCP Server
Give your AI agent stealth web scraping with Cloudflare bypass and CSS selection, powered by Scrapling.