About
Nubra — Model Context Protocol server
README
This repository is the main GitHub/source repository for the Nubra MCP server.
It provides authentication, instrument lookup, quotes, historical data, options analytics, portfolio and account tools, report generation, screening utilities, backtesting, and order placement through UAT.
Setup and Start
Follow the steps below to run the MCP locally.
1. Prerequisites
Ensure the following are available:
- Python 3.11
- PowerShell
- network access to install Python dependencies
2. Clone the repository
git clone https://github.com/socials-zanskar/nubra-mcp-server.git
cd nubra-mcp-server
3. Bootstrap the environment
powershell -ExecutionPolicy Bypass -File .\bootstrap.ps1
This script performs the following actions:
- creates
.venvif it does not exist - upgrades
pip - installs packages from
requirements.txt - creates
.envfrom.env.exampleif.envis missing
After this step, the repository should contain:
.venv.env
4. Configure .env
Edit .env and set the required values:
PHONE=
MPIN=
NUBRA_ENV=UAT
NUBRA_DEFAULT_EXCHANGE=NSE
LOG_LEVEL=INFO
HOST=127.0.0.1
PORT=8000
MCP_PATH=/mcp
AUTH_STATE_FILE=auth_state.json
Recommended settings:
- start with
NUBRA_ENV=UAT - keep
HOST=127.0.0.1 - keep
MCP_PATH=/mcpunless you need a custom path
5. Start the MCP
For MCP clients that use stdio:
.\run_stdio.ps1
For local HTTP testing:
.\run_http.ps1
Equivalent direct commands:
python server.py --transport stdio
python server.py --transport streamable-http
python server.py --transport sse
6. Verify the server
When using HTTP transport, the default local endpoints are:
- health:
http://127.0.0.1:8000/health - mcp:
http://127.0.0.1:8000/mcp
Import smoke test:
.\.venv\Scripts\python.exe -c "import server; print('server-import-ok')"
Run tests:
.\.venv\Scripts\python.exe -m unittest discover -s tests -v
MCP Client Integration
This repository includes project-local MCP configuration in .mcp.json.
Standard repo-based setup:
- Open the
nubra-mcp-serverfolder in your MCP client. - Run
.\bootstrap.ps1. - Fill in
.env. - Allow the client to start
.\run_stdio.ps1through.mcp.json.
For clients that require manual registration, use one of the following:
mcp-client-config.example.json- or the HTTP endpoint
http://127.0.0.1:8000/mcpafter starting.\run_http.ps1
Authentication
Protected tools should use the following flow:
- call
auth_status - if login is required, ask for phone number
- call
begin_auth_flow - ask for OTP and call
verify_otp - ask for MPIN and call
verify_mpin - continue with the original request
Authentication uses the OTP -> MPIN flow.
What This Repo Provides
The server includes tools for:
- authentication and session handling
- instrument search and ref-id resolution
- quotes and historical market data
- option chain analytics and Greeks
- funds, holdings, positions, and portfolio summaries
- HTML and image report generation
- CSV export workflows
- screening and indicator-based tooling
- backtesting utilities
- order placement through
UAT
For PROD, order placement is temporarily blocked. Other supported operations continue to work.
Repo Structure
server.py: MCP entrypointconfig.py: configuration loadingnubra_client.py: Nubra client and service logictools/: MCP tool registration modulestests/: test suitebootstrap.ps1: setup scriptrun_stdio.ps1: stdio launcherrun_http.ps1: HTTP launcher
First Use
Common tasks after startup include:
- check authentication status
- search for an instrument
- get the current price for a symbol
- fetch historical data
- review option chain data
- generate a portfolio report
Example first prompt:
Use nubra mcp and check auth status
Local Notes
- start with
UATwhen validating setup and workflows - keep
.env, auth state files, and local artifacts out of source control - build outputs such as
dist/,build/, and*.egg-info/should remain uncommitted
Installing Nubra
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/socials-zanskar/nubra-mcp-serverFAQ
Is Nubra MCP free?
Yes, Nubra MCP is free — one-click install via Unyly at no cost.
Does Nubra need an API key?
No, Nubra runs without API keys or environment variables.
Is Nubra hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Nubra in Claude Desktop, Claude Code or Cursor?
Open Nubra on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Nubra with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
