NINX MCP Server
OfficialREADME.md
# NINX MCP Server
A Model Context Protocol (MCP) server that provides financial trading tools and market analysis capabilities. This server enables AI assistants to access real-time market data, execute trades, analyze portfolios, and perform comprehensive financial analysis.
## ๐ Features
### Trading & Portfolio Management
- **Binance Integration**: Access account holdings, balances, and trading data
- **Groww Integration**: Complete trading platform with holdings, positions, orders, and margin data
- **Portfolio Analysis**: Comprehensive portfolio performance and risk assessment
- **Real-time Market Data**: Live prices, OHLC data, and market quotes
### Market Analysis Tools
- **Fundamental Analysis**: Company financials, ratios, and valuation metrics
- **Technical Analysis**: RSI, MACD, Bollinger Bands, moving averages, and chart patterns
- **Options Analysis**: Greeks, implied volatility, and options strategies
- **Market Overview**: Sector performance, market trends, and news sentiment
- **Stock Screening**: Filter stocks based on various criteria
- **Risk Assessment**: Portfolio risk metrics and stress testing
## ๐ Prerequisites
- **Node.js** >= 22.x
- **TypeScript** (included in dependencies)
- **API Keys** for trading platforms:
- Binance API Key & Secret (optional)
- Groww API Key (optional)
## ๐ ๏ธ Installation
1. Clone the repository:
```bash
git clone <repository-url>
cd nin-mcp-server
```
2. Install dependencies:
```bash
npm install
```
3. Set up environment variables:
```bash
cp config_env.example .env
```
Edit `.env` and add your API credentials:
```env
# Binance API (optional)
BINANCE_API_KEY=your_binance_api_key
BINANCE_SECRET_KEY=your_binance_secret_key
# Groww API (optional)
GROWW_API_KEY=your_groww_api_key
```
## ๐ Usage
### Development Mode
```bash
npm run dev
```
### Production Mode
```bash
npm start
```
### Build
```bash
npm run build
```
### Type Checking
```bash
npm run type-check
```
## ๐ง Available MCP Tools
### Market Analysis
- `analyzeFundamentals(symbol)` - Fundamental analysis for a stock
- `analyzeMarket(query)` - Overall market conditions analysis
- `analyzeTechnicals(symbol)` - Technical indicators and chart analysis
- `analyzeOptions(symbol)` - Options chain and Greeks analysis
- `getMarketNews(query)` - Latest market news and sentiment
### Portfolio & Holdings
- `getUserHoldings()` - Get user's portfolio holdings
- `getUserBinanceHoldings()` - Binance account holdings
- `analyzePortfolio(holdings)` - Portfolio performance analysis
### Groww Platform Integration
- `getGrowwHoldings()` - Groww portfolio holdings
- `getGrowwPositions(segment?)` - Positions data
- `getGrowwSymbolsLTP(symbols, segment?)` - Last traded prices
- `getGrowwSymbolsOHLC(symbols, segment?)` - OHLC market data
- `getGrowwSymbolQuote(symbol, exchange?, segment?)` - Detailed quotes
### Trading Operations (Groww)
- `placeGrowwOrder(orderParams)` - Place new orders
- `modifyGrowwOrder(orderParams)` - Modify existing orders
- `cancelGrowwOrder(orderId, segment?)` - Cancel orders
- `getGrowwOrderStatus(orderId, segment?)` - Order status
### Margin & Risk
- `getGrowwUserMargin()` - Available margin
- `getGrowwOrderMargin(orders, segment?)` - Calculate required margin
### Stock Screening
- `screenStocks(criteria)` - Filter stocks by criteria
## ๐๏ธ Project Structure
```
nin-mcp-server/
โโโ server/
โ โโโ mcp-server-sdk.ts # Main MCP server implementation
โ โโโ mcp-server.ts # Express server (legacy, not used)
โ โโโ manifest.ts # Server manifest
โโโ services/
โ โโโ mcpService.ts # MCP service layer
โ โโโ mcpTools/ # Individual MCP tools
โ โโโ fundamentalAnalysis.ts
โ โโโ technicalAnalysis.ts
โ โโโ portfolioAnalysis.ts
โ โโโ marketAnalysis.ts
โ โโโ optionsAnalysis.ts
โ โโโ stockScreener.ts
โ โโโ marketNews.ts
โ โโโ riskAssessment.ts
โ โโโ userHoldings.ts
โ โโโ userBinanceHoldings.ts
โ โโโ growwHoldings.ts
โ โโโ growwPositions.ts
โ โโโ growwLiveData.ts
โ โโโ growwOrders.ts
โ โโโ growwMargins.ts
โ โโโ index.ts
โโโ types/
โ โโโ mcp.ts # MCP type definitions
โโโ config_env.example # Environment variables template
โโโ package.json
```
## ๐งช Development
### Code Formatting
```bash
# Check formatting
npm run format:check
# Auto-fix formatting
npm run format:write
```
### Type Checking
```bash
npm run typecheck
```
## ๐ Security
- Store API keys in environment variables, never in code
- Use `dotenv` for local development environment management
- API keys are loaded securely from environment variables
## ๐ Integration with AI Assistants
This MCP server can be integrated with various AI assistants that support the Model Context Protocol:
### Claude Desktop Configuration
1. Copy the following configuration from your `config_env.example` file
2. Add your actual API keys
3. Update the file paths to match your installation
4. Paste into Claude Desktop's MCP configuration
```json
{
"mcpServers": {
"nin-terminal": {
"command": "ts-node",
"args": [
"/Users/YOUR_USERNAME/path/to/nin-mcp-server/server/mcp-server-sdk.ts"
],
"cwd": "/Users/YOUR_USERNAME/path/to/nin-mcp-server",
"env": {
"NINX_API_KEY": "your_actual_ninx_api_key",
"NINX_SECRET_KEY": "your_actual_ninx_secret_key",
"BINANCE_API_KEY": "your_actual_binance_api_key",
"BINANCE_SECRET_KEY": "your_actual_binance_secret_key",
"GROWW_API_KEY": "your_actual_groww_api_key"
}
}
}
}
```
### Other MCP-Compatible Clients
For other MCP clients, use the stdio transport protocol with similar configuration, adjusting the format as needed for your specific client.
## ๐ค Contributing
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Run tests and type checking
5. Submit a pull request
## ๐ License
MIT License - see LICENSE file for details
## ๐ Support
For issues and questions:
1. Check the existing issues
2. Create a new issue with detailed description
3. Include logs and environment information
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues