_ registry / mcp streamable-http · checked 25m ago

Kite MCP Server

https://mcp.kite.trade

Registry code: 41a5fa035f56cd25

api record

Trade Indian stocks through a Zerodha Kite account: place, modify and cancel orders and GTTs, and read holdings, positions, margins, quotes and price history.

endpoint
https://mcp.kite.trade/mcp
protocol
streamable-http ·2025-03-26
authentication
bearer
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is Kite MCP Server live?
Yes — it answered the hub's last check (checked 25m ago). It answered 99% of checks over the last 30 days.
Is Kite MCP Server free to use?
Not anonymously — it asks for a key or a login before it will serve. Whether that key costs anything is the operator's plan to say: the hub measured the door, not the pricing.
What tools does Kite MCP Server have?
22 tools: get_orders, get_historical_data, get_holdings, get_margins, get_ohlc, get_order_history, get_order_trades, get_profile, ….
Is Kite MCP Server safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
98.7%

90 days 99.3%· all time 99.3%

latency
467ms

last good check

priced tools
0

of 22 tools

_ answered our checks, 90 days 276 checks · signed record
  • degraded → live
  • live → degraded· timeout after 20000ms
  • degraded → live
  • unknown → live
_ what it is for
used for
  • place a stock order
  • get portfolio holdings and positions
  • get live stock quotes
  • get historical price data
  • modify or cancel an order
takes → gives
data → data
tools
15 reads5 changes data2 moves money
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 22 tools
22 never probed 0 of 22 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • get_orders reads unknown never probed

    Get all orders. Supports pagination for large datasets.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "from": {
          "type": "number",
          "description": "Starting index for pagination (0-based). Default: 0"
        },
        "limit": {
          "type": "number",
          "description": "Maximum number of orders to return. If not specified, returns all orders. When specified, response includes pagination metadata."
        }
      }
    }
    arguments 13 lines
  • get_historical_data reads unknown never probed

    Get historical price data for an instrument

    mcp-tool

    {
      "type": "object",
      "required": [
        "instrument_token",
        "from_date",
        "to_date",
        "interval"
      ],
      "properties": {
        "oi": {
          "type": "boolean",
          "default": false,
          "description": "Include open interest data"
        },
        "to_date": {
          "type": "string",
          "description": "To date in YYYY-MM-DD HH:MM:SS format"
        },
        "interval": {
          "enum": [
            "minute",
            "day",
            "3minute",
            "5minute",
            "10minute",
            "15minute",
            "30minute",
            "60minute"
          ],
          "type": "string",
          "description": "Candle interval"
        },
        "from_date": {
          "type": "string",
          "description": "From date in YYYY-MM-DD HH:MM:SS format"
        },
        "continuous": {
          "type": "boolean",
          "default": false,
          "description": "Get continuous data (for futures and options)"
        },
        "instrument_token": {
          "type": "number",
          "description": "Instrument token (can be obtained from search_instruments tool)"
        }
      }
    }
    arguments 47 lines
  • get_holdings reads unknown never probed

    Get holdings for the current user. Supports pagination for large datasets.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "from": {
          "type": "number",
          "description": "Starting index for pagination (0-based). Default: 0"
        },
        "limit": {
          "type": "number",
          "description": "Maximum number of holdings to return. If not specified, returns all holdings. When specified, response includes pagination metadata."
        }
      }
    }
    arguments 13 lines
  • get_margins reads unknown never probed

    Get margins

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • get_ohlc reads unknown never probed

    Get OHLC (Open, High, Low, Close) data for a list of instruments

    mcp-tool

    {
      "type": "object",
      "required": [
        "instruments"
      ],
      "properties": {
        "instruments": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Eg. ['NSE:INFY', 'NSE:SBIN']. This API returns OHLC data for the given list of instruments in the format of exchange:tradingsymbol."
        }
      }
    }
    arguments 15 lines
  • get_order_history reads unknown never probed

    Get order history for a specific order

    mcp-tool

    {
      "type": "object",
      "required": [
        "order_id"
      ],
      "properties": {
        "order_id": {
          "type": "string",
          "description": "ID of the order to fetch history for"
        }
      }
    }
    arguments 12 lines
  • get_order_trades reads unknown never probed

    Get trades for a specific order

    mcp-tool

    {
      "type": "object",
      "required": [
        "order_id"
      ],
      "properties": {
        "order_id": {
          "type": "string",
          "description": "ID of the order to fetch trades for"
        }
      }
    }
    arguments 12 lines
  • get_profile reads unknown never probed

    Retrieve the user's profile information, including user ID, name, email, and account details like products orders, and exchanges available to the user. Use this to get basic user details.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • get_quotes reads unknown never probed

    Get market data quotes for a list of instruments

    mcp-tool

    {
      "type": "object",
      "required": [
        "instruments"
      ],
      "properties": {
        "instruments": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Eg. ['NSE:INFY', 'NSE:SBIN']. This API returns the complete market data snapshot of up to 500 instruments in one go. It includes the quantity, OHLC, and Open Interest fields, and the complete bid/ask market depth amongst others. Instruments are identified by the exchange:tradingsymbol combination and are passed as values to the query parameter i which is repeated for every instrument. If there is no data available for a given key, the key will be absent from the response."
        }
      }
    }
    arguments 15 lines
  • get_trades reads unknown never probed

    Get trading history. Supports pagination for large datasets.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "from": {
          "type": "number",
          "description": "Starting index for pagination (0-based). Default: 0"
        },
        "limit": {
          "type": "number",
          "description": "Maximum number of trades to return. If not specified, returns all trades. When specified, response includes pagination metadata."
        }
      }
    }
    arguments 13 lines
  • login changes data unknown never probed

    Login to Kite API. This tool helps you log in to the Kite API. If you are starting off a new conversation call this tool before hand. Call this if you get a session error. Returns a link that the user should click to authorize access, present as markdown if your client supports so that they can click it easily when rendered.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • modify_order changes data unknown never probed

    Modify an existing order

    mcp-tool

    {
      "type": "object",
      "required": [
        "variety",
        "order_id",
        "order_type"
      ],
      "properties": {
        "price": {
          "type": "number",
          "description": "Price (required for LIMIT order_type"
        },
        "variety": {
          "enum": [
            "regular",
            "co",
            "amo",
            "iceberg",
            "auction"
          ],
          "type": "string",
          "default": "regular",
          "description": "Order variety"
        },
        "order_id": {
          "type": "string",
          "description": "Order ID"
        },
        "quantity": {
          "type": "number",
          "default": "1",
          "minimum": 1,
          "description": "Quantity"
        },
        "validity": {
          "enum": [
            "DAY",
            "IOC",
            "TTL"
          ],
          "type": "string",
          "description": "Order Validity. (DAY for regular orders, IOC for immediate or cancel, and TTL for orders valid for specific minutes"
        },
        "order_type": {
          "enum": [
            "MARKET",
            "LIMIT",
            "SL",
            "SL-M"
          ],
          "type": "string",
          "description": "Order type"
        },
        "trigger_price": {
          "type": "number",
          "description": "The price at which an order should be triggered (SL, SL-M orders)"
        },
        "disclosed_quantity": {
          "type": "number",
          "description": "Quantity to disclose publicly (for equity trades)"
        }
      }
    }
    arguments 63 lines
  • search_instruments reads unknown never probed

    Search instruments. Supports pagination for large result sets.

    mcp-tool

    {
      "type": "object",
      "required": [
        "query"
      ],
      "properties": {
        "from": {
          "type": "number",
          "description": "Starting index for pagination (0-based). Default: 0"
        },
        "limit": {
          "type": "number",
          "description": "Maximum number of instruments to return. If not specified, returns all matching instruments. When specified, response includes pagination metadata."
        },
        "query": {
          "type": "string",
          "description": "Search query"
        },
        "filter_on": {
          "enum": [
            "id",
            "name",
            "isin",
            "tradingsymbol",
            "underlying"
          ],
          "type": "string",
          "description": "Filter on a specific field. (Optional). [id(default)=exch:tradingsymbol, name=nice name of the instrument, tradingsymbol=used to trade in a specific exchange, isin=universal identifier for an instrument across exchanges], underlying=[query=underlying instrument, result=futures and options. note=query format -> exch:tradingsymbol where NSE/BSE:PNB converted to -> NFO/BFO:PNB for query since futures and options available under them]"
        }
      }
    }
    arguments 31 lines
  • get_gtts reads unknown never probed

    Get all active GTT orders. Supports pagination for large datasets.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "from": {
          "type": "number",
          "description": "Starting index for pagination (0-based). Default: 0"
        },
        "limit": {
          "type": "number",
          "description": "Maximum number of GTT orders to return. If not specified, returns all GTT orders. When specified, response includes pagination metadata."
        }
      }
    }
    arguments 13 lines
  • delete_gtt_order changes data unknown never probed

    Delete an existing GTT (Good Till Triggered) order

    mcp-tool

    {
      "type": "object",
      "required": [
        "trigger_id"
      ],
      "properties": {
        "trigger_id": {
          "type": "number",
          "description": "The ID of the GTT order to delete"
        }
      }
    }
    arguments 12 lines
  • get_positions reads unknown never probed

    Get current positions. Supports pagination for large datasets.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "from": {
          "type": "number",
          "description": "Starting index for pagination (0-based). Default: 0"
        },
        "limit": {
          "type": "number",
          "description": "Maximum number of positions to return. If not specified, returns all positions. When specified, response includes pagination metadata."
        }
      }
    }
    arguments 13 lines
  • cancel_order changes data unknown never probed

    Cancel an existing order

    mcp-tool

    {
      "type": "object",
      "required": [
        "variety",
        "order_id"
      ],
      "properties": {
        "variety": {
          "enum": [
            "regular",
            "co",
            "amo",
            "iceberg",
            "auction"
          ],
          "type": "string",
          "default": "regular",
          "description": "Order variety"
        },
        "order_id": {
          "type": "string",
          "description": "Order ID"
        }
      }
    }
    arguments 25 lines
  • get_ltp reads unknown never probed

    Get latest trading prices for a list of instruments

    mcp-tool

    {
      "type": "object",
      "required": [
        "instruments"
      ],
      "properties": {
        "instruments": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Eg. ['NSE:INFY', 'NSE:SBIN']. This API returns the lastest price for the given list of instruments in the format of exchange:tradingsymbol."
        }
      }
    }
    arguments 15 lines
  • get_mf_holdings reads unknown never probed

    Get all mutual fund holdings. Supports pagination for large datasets.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "from": {
          "type": "number",
          "description": "Starting index for pagination (0-based). Default: 0"
        },
        "limit": {
          "type": "number",
          "description": "Maximum number of MF holdings to return. If not specified, returns all holdings. When specified, response includes pagination metadata."
        }
      }
    }
    arguments 13 lines
  • modify_gtt_order changes data unknown never probed

    Modify an existing GTT (Good Till Triggered) order

    mcp-tool

    {
      "type": "object",
      "required": [
        "trigger_id",
        "exchange",
        "tradingsymbol",
        "last_price",
        "transaction_type",
        "trigger_type"
      ],
      "properties": {
        "exchange": {
          "enum": [
            "NSE",
            "BSE",
            "MCX",
            "NFO",
            "BFO"
          ],
          "type": "string",
          "default": "NSE",
          "description": "The exchange to which the order should be placed"
        },
        "quantity": {
          "type": "number",
          "description": "Quantity for the order (for single-leg)"
        },
        "last_price": {
          "type": "number",
          "description": "Last price of the instrument"
        },
        "trigger_id": {
          "type": "number",
          "description": "The ID of the GTT order to modify"
        },
        "limit_price": {
          "type": "number",
          "description": "Limit price for the order (for single-leg)"
        },
        "trigger_type": {
          "enum": [
            "single",
            "two-leg"
          ],
          "type": "string",
          "description": "GTT trigger type"
        },
        "tradingsymbol": {
          "type": "string",
          "description": "Trading symbol"
        },
        "trigger_value": {
          "type": "number",
          "description": "Price point at which the GTT will be triggered (for single-leg)"
        },
        "lower_quantity": {
          "type": "number",
          "description": "Quantity for the lower trigger order (for two-leg)"
        },
        "upper_quantity": {
          "type": "number",
          "description": "Quantity for the upper trigger order (for two-leg)"
        },
        "transaction_type": {
          "enum": [
            "BUY",
            "SELL"
          ],
          "type": "string",
          "description": "Transaction type"
        },
        "lower_limit_price": {
          "type": "number",
          "description": "Limit price for the lower trigger order (for two-leg)"
        },
        "upper_limit_price": {
          "type": "number",
          "description": "Limit price for the upper trigger order (for two-leg)"
        },
        "lower_trigger_value": {
          "type": "number",
          "description": "Lower price point at which the GTT will be triggered (for two-leg)"
        },
        "upper_trigger_value": {
          "type": "number",
          "description": "Upper price point at which the GTT will be triggered (for two-leg)"
        }
      }
    }
    arguments 89 lines
  • place_gtt_order moves money unknown never probed

    Place a GTT (Good Till Triggered) order

    mcp-tool

    {
      "type": "object",
      "required": [
        "exchange",
        "tradingsymbol",
        "last_price",
        "transaction_type",
        "product",
        "trigger_type"
      ],
      "properties": {
        "product": {
          "enum": [
            "CNC",
            "NRML",
            "MIS",
            "MTF"
          ],
          "type": "string",
          "description": "Product type"
        },
        "exchange": {
          "enum": [
            "NSE",
            "BSE",
            "MCX",
            "NFO",
            "BFO"
          ],
          "type": "string",
          "default": "NSE",
          "description": "The exchange to which the order should be placed"
        },
        "quantity": {
          "type": "number",
          "description": "Quantity for the order (for single-leg)"
        },
        "last_price": {
          "type": "number",
          "description": "Last price of the instrument"
        },
        "limit_price": {
          "type": "number",
          "description": "Limit price for the order (for single-leg)"
        },
        "trigger_type": {
          "enum": [
            "single",
            "two-leg"
          ],
          "type": "string",
          "description": "GTT trigger type"
        },
        "tradingsymbol": {
          "type": "string",
          "description": "Trading symbol"
        },
        "trigger_value": {
          "type": "number",
          "description": "Price point at which the GTT will be triggered (for single-leg)"
        },
        "lower_quantity": {
          "type": "number",
          "description": "Quantity for the lower trigger order (for two-leg)"
        },
        "upper_quantity": {
          "type": "number",
          "description": "Quantity for the upper trigger order (for two-leg)"
        },
        "transaction_type": {
          "enum": [
            "BUY",
            "SELL"
          ],
          "type": "string",
          "description": "Transaction type"
        },
        "lower_limit_price": {
          "type": "number",
          "description": "Limit price for the lower trigger order (for two-leg)"
        },
        "upper_limit_price": {
          "type": "number",
          "description": "Limit price for the upper trigger order (for two-leg)"
        },
        "lower_trigger_value": {
          "type": "number",
          "description": "Lower price point at which the GTT will be triggered (for two-leg)"
        },
        "upper_trigger_value": {
          "type": "number",
          "description": "Upper price point at which the GTT will be triggered (for two-leg)"
        }
      }
    }
    arguments 95 lines
  • place_order moves money unknown never probed

    Place an order

    mcp-tool

    {
      "type": "object",
      "required": [
        "variety",
        "exchange",
        "tradingsymbol",
        "transaction_type",
        "quantity",
        "product",
        "order_type"
      ],
      "properties": {
        "tag": {
          "type": "string",
          "maxLength": 20,
          "description": "An optional tag to apply to an order to identify it (alphanumeric, max 20 chars)"
        },
        "price": {
          "type": "number",
          "description": "Price (required for LIMIT order_type"
        },
        "product": {
          "enum": [
            "CNC",
            "NRML",
            "MIS",
            "MTF"
          ],
          "type": "string",
          "description": "Product type"
        },
        "variety": {
          "enum": [
            "regular",
            "co",
            "amo",
            "iceberg",
            "auction"
          ],
          "type": "string",
          "default": "regular",
          "description": "Order variety"
        },
        "exchange": {
          "enum": [
            "NSE",
            "BSE",
            "MCX",
            "NFO",
            "BFO"
          ],
          "type": "string",
          "default": "NSE",
          "description": "The exchange to which the order should be placed"
        },
        "quantity": {
          "type": "number",
          "default": "1",
          "minimum": 1,
          "description": "Quantity"
        },
        "validity": {
          "enum": [
            "DAY",
            "IOC",
            "TTL"
          ],
          "type": "string",
          "description": "Order Validity. (DAY for regular orders, IOC for immediate or cancel, and TTL for orders valid for specific minutes"
        },
        "order_type": {
          "enum": [
            "MARKET",
            "LIMIT",
            "SL",
            "SL-M"
          ],
          "type": "string",
          "description": "Order type"
        },
        "iceberg_legs": {
          "type": "number",
          "description": "Number of legs for iceberg orders"
        },
        "validity_ttl": {
          "type": "number",
          "description": "Order life span in minutes for TTL validity orders, required for TTL orders"
        },
        "tradingsymbol": {
          "type": "string",
          "description": "Trading symbol"
        },
        "trigger_price": {
          "type": "number",
          "description": "The price at which an order should be triggered (SL, SL-M orders)"
        },
        "iceberg_quantity": {
          "type": "number",
          "description": "Quantity per leg for iceberg orders"
        },
        "transaction_type": {
          "enum": [
            "BUY",
            "SELL"
          ],
          "type": "string",
          "description": "Transaction type"
        },
        "disclosed_quantity": {
          "type": "number",
          "description": "Quantity to disclose publicly (for equity trades)"
        }
      }
    }
    arguments 114 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 41a5fa035f56cd25.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/41a5fa035f56cd25/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/41a5fa035f56cd25/badge.svg)](https://brick.blue/agent/41a5fa035f56cd25?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.