Angel One

io.github.ameernoufilPublished by GitHub account ameernoufilv1.0.10Updated Oct 24, 2026

Angel One SmartAPI MCP for orders, portfolio, market data, GTT rules, charges, and margin.

VerifiedSTDIODesktop onlyFinanceData & Analytics

Overview

AI-generated overview

Lets an assistant trade and inspect an Angel One SmartAPI account: orders, portfolio, market data, GTT rules, and margin estimates.

What you can do
A local stdio MCP server for Angel One SmartAPI. It covers authentication (login/logout), portfolio reads (holdings, positions, funds, position conversion), order actions (place, modify, cancel, order book and trade lookups), market data (search, LTP, quotes, candles, open interest, Greeks, movers, PCR), GTT rules (create, modify, cancel, list, inspect), and margin and brokerage calculators. It logs in lazily, refreshes tokens, and generates TOTP codes from a base32 secret.
When to use it
Use it when an assistant should work with an Angel One trading account: checking holdings, positions, and funds, pulling quotes and candles, or placing and managing orders and GTT rules from a chat client. It is aimed at personal trading workflows rather than read-only market research.
Requirements
Runs locally over stdio, typically via npx from the npm package angel-one-mcp, or from source with Node.js 18+. Requires an Angel One SmartAPI app key, client code, password or MPIN, and a base32 TOTP secret, supplied as the environment variables ANGEL_API_KEY, ANGEL_CLIENT_ID, ANGEL_PASSWORD, and ANGEL_TOTP_SECRET. Optional order-size and order-value limits are set by environment variables. Network access to Angel One is needed.
Before you install
The server holds live trading credentials and a TOTP secret, so anyone with access to the client config can act on the account. It can place, modify, cancel, and convert real orders and GTT rules, which moves money. Soft limits block by default but can be overridden with force: true; hard limits only change by editing environment variables and restarting. Market orders are value-checked against LTP before submission, but that check is not a guarantee.

Installation

In SourceWeft

  1. Open Angel One in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Angel One MCP Server

[npm] [MCP Registry]

TypeScript Model Context Protocol server for Angel One SmartAPI.

Use it from Claude, Cursor, Copilot, or any MCP client to:

  • place and manage orders
  • read holdings, positions, and funds
  • fetch market data, candles, OI, Greeks, and movers
  • manage GTT rules
  • estimate charges and margin

Highlights

  • Direct fetch() integration. No Angel One SDK dependency.
  • Auto TOTP generation from your base32 secret.
  • Lazy login with token refresh in API layer.
  • Safety guard for trading mutations with soft and hard limits.
  • stdio MCP server. Works well with npx.

Discoverability

If your client supports registry-based discovery, search for io.github.ameernoufil/angel-one. If your client prefers package installs, use angel-one-mcp from npm.

Quick Start

Option A: Use with npx (recommended)

Add this to your MCP client config:

json
{  "mcpServers": {    "angel-one": {      "type": "stdio",      "command": "npx",      "args": ["-y", "angel-one-mcp"],      "env": {        "ANGEL_API_KEY": "your_smartapi_key",        "ANGEL_CLIENT_ID": "your_client_id",        "ANGEL_PASSWORD": "your_mpin",        "ANGEL_TOTP_SECRET": "your_base32_totp_secret"      }    }  }}

Option B: Run from source

bash
git clone https://github.com/ameernoufil/angel-one-mcp.gitcd angel-one-mcpnpm installcp .env.example .envnpm run buildnpm start

If running from source, point your MCP client to build/index.js.

Environment Variables

Required:

  • ANGEL_API_KEY
  • ANGEL_CLIENT_ID
  • ANGEL_PASSWORD
  • ANGEL_TOTP_SECRET

Optional safety limits:

  • SOFT_MAX_ORDER_QTY default 25
  • HARD_MAX_ORDER_QTY default 100
  • SOFT_MAX_ORDER_VALUE default 10000
  • HARD_MAX_ORDER_VALUE default 100000

Example .env:

env
ANGEL_API_KEY=your_smartapi_keyANGEL_CLIENT_ID=your_client_idANGEL_PASSWORD=your_mpinANGEL_TOTP_SECRET=your_base32_totp_secret

Safety Model

Trading mutations are guarded.

Soft limits block by default and can be overridden with force: true. Hard limits cannot be bypassed without changing env vars and restarting the server.

Guarded operations include:

  • place_order
  • modify_order
  • create_gtt_rule
  • modify_gtt_rule
  • convert_position

For MARKET orders, the server attempts LTP-based value checks before allowing the request.

Tool Coverage

  • Auth: login and logout
  • Portfolio: holdings, positions, funds, conversion
  • Orders: place, modify, cancel, book lookup, trade lookup
  • Market: search, LTP, quotes, candles, OI, Greeks, movers, PCR
  • GTT: create, modify, cancel, list, inspect
  • Calculator: margin and brokerage estimates
  • User: profile

For an agent-focused onboarding prompt, see docs/llm-setup.md.

Development

Requirements:

  • Node.js 18+

Commands:

bash
npm installnpm run buildnpm run lintnpm run lint:fixnpm run formatnpm run devnpm start

Architecture Notes

  • Entry point: src/index.ts
  • API client and auth flow: src/api.ts
  • Config and safety limits: src/config.ts
  • Order guard: src/guards.ts
  • Tool registration: src/tools/index.ts
  • Tool implementations: src/tools/*.ts

License

MIT

Source: README.md at commit c5b9081

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.0.10LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts