Stockbit MCP

Indonesian exchange (IDX) via your own Stockbit account: quotes, bandarmology, charts. Unofficial.

OtherTypeScriptv1.4.1

Stockbit MCP

Stockbit market data, analysis, chart drawing, read-only brokerage portfolios, and simulated trading for Claude, ChatGPT and other MCP clients. Unofficial and unaffiliated with Stockbit or IDX.

This build cannot execute real-money trades. Real buy, sell, amend, cancel and e-IPO subscription tools and their HTTP routes have been removed. Deposits and withdrawals are not supported. Old live settings fail closed; there is no switch to restore live execution. This is a technical boundary, not a claim of OJK approval or a legal compliance certification.

Bahasa Indonesia · Tool reference · Client setup · Security · Verification

Build and sign in

Use this checkout or verified 1.4.1 or later release artifacts. The 1.3.1 npm package does not contain these changes; the earlier v1.4.0 GitHub tag also points to a 1.3.1 package manifest.

npm ci
npm run build
node dist/bin/stockbit-auth.js login
node dist/bin/stockbit-auth.js status

Requires Node.js 22+ and a Chromium-family browser for login and interactive chart drawing. Sign in on Stockbit's own page; passwords and OTPs are never requested through an assistant. Credentials are saved locally in the OS Keychain, or an encrypted file fallback. A browser session and the API session are separate; status explains which one needs attention.

Connect a client

Claude Desktop's claude_desktop_config.json can launch the built server:

{
  "mcpServers": {
    "stockbit": {
      "command": "/absolute/path/to/node",
      "args": ["/absolute/path/to/stockbit-mcp/dist/bin/stockbit-mcp.js"],
      "env": {
        "STOCKBIT_MCP_TRANSPORT": "stdio",
        "STOCKBIT_TOOLS": "core,chartbit,virtual"
      }
    }
  }
}

Use command -v node (PowerShell: (Get-Command node).Source) to find Node's path, and replace both example paths. Restart the client after changing its config. STOCKBIT_TOOLS=all exposes the complete supported tool set; core is the smaller default. Profiles select capabilities, not permission to move real money.

You can also build a local Claude Desktop extension with npm run build:mcpb. See client setup for installation and profile selection.

For ChatGPT, use its supported Secure MCP Tunnel or a properly secured remote MCP deployment. The stdio server does not become accessible to ChatGPT by pasting a local file path into a connector. Client setup explains current requirements, the optional local HTTP transport, and what remains a deployment step.

Capabilities

TaskTools / family
Quotes, orderbook, movers, market hours, trade tapemarket
Broker accumulation, distribution, flowbandarmology
Indicators, patterns, strategy comparison, backtests, scansanalysis
Fundamentals, ownership, insiders, corporate actions, IPO informationfundamentals, company, insider, corpaction, eipo
News, Stockbit posts and research readsstream
Watchlists and saved screens, including editsaccount, screener
Read, draw, inspect, screenshot and save Stockbit chartschartbit
Real portfolio, positions, cash and order history — reads onlyportfolio, position, cash_balance, orders, order_history
Stockbit website's simulated accountvirtual_*
Separate local simulated ledgerpaper_*
Local alerts, Pine scripts and saved read workflowsalerts, pine, workflows

This is the supported API surface, not a promise that every feature on Stockbit's website has an equivalent tool. Feature entitlements, undocumented upstream changes, login and browser availability can limit individual tools. Evidence labels distinguish observed responses from projected mappings; an unrecognised account value stays absent instead of becoming zero.

Portfolio and simulations are separate

Real brokerage reads require a securities session. Unlock it yourself at your terminal:

node dist/bin/stockbit-auth.js trading-login

The PIN is entered locally and never stored or passed to an MCP tool. Unlocking the session does not enable trading: this build has no real order submission route.

virtual_* uses Stockbit's website virtual account with the ordinary Stockbit login. It is distinct from the real portfolio and from the local paper ledger. Only routes under /virtualtrading/ may submit those simulated orders. Read each tool's verification caveats before relying on its result.

For the independent local paper ledger:

node dist/bin/stockbit-auth.js trading-enable --paper

Use paper_order_preview, review the ticket, then the matching paper_order_buy, paper_order_sell, paper_order_amend or paper_order_cancel. Inspect paper_portfolio and paper_orders for simulation results. portfolio always reads the real brokerage portfolio, even when local paper mode is enabled.

Chart drawing

Enable the chartbit family and sign in using the saved browser profile. A typical flow is chartbit_open → chartbit_shapes → chartbit_draw → chartbit_screenshot → chartbit_save. Get the matching layout ID from chartbit_layouts and pass it to chartbit_save for a scoped persistence check. Without enough layout metadata, the save result reports verification as unknown. Read existing drawings first. Clear only server-created shapes with scope: "ours"; deleting all shapes or replacing a saved layout requires explicit confirmation. Save paths verify persistence against Stockbit's stored layout/drawings.

Example requests: “Analyze BBRI and draw its support and resistance,” “Show my portfolio,” “Compare broker flow for BBRI and TLKM,” or “Show my Stockbit virtual orders.”

Verification

npm run typecheck
npm test
npm run build
npm run docs:tools
npm run smoke
npm run check:pack

After login, run the reusable read-only MCP sweep:

npm run verify:tools -- --live

It inventories every registered tool and records passed reads, upstream failures, missing prerequisites, and mutations/browser actions needing controlled scenarios. It never places orders, edits account state or opens a browser. Its report is stored under ignored .stockbit/ and contains no response payloads. --only quote,analyze narrows a follow-up check. The isolated test suite covers mutation guards and simulated write scenarios without touching an account.

The API is private and may change. This project does not provide investment advice or assurance that automated access is permitted by Stockbit's terms. See security boundaries and the verification record for practical limits.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y stockbit-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-ino-xious-stockbit-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "stockbit-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

stockbit-mcpnpm

Compatible MCP Clients

Stockbit MCP works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More