A TypeScript-based Ai agent with MCP integration. This project provides a unified interface to access financial market information and relevant news articles through MCP servers with tool calling.
mcp-terminal-demo.mp4
mcp-cursor_demo.mp4
- 📊 Stock Market Data:
- Company Information
- Quarterly Financials
- Annual Financial Reports
- 📰 News Integration:
- Real-time News Articles
- Query-based News Search
- 🛠️ Architecture Components:
- Client-Server Architecture
- TypeScript Implementation
- Modular Design Pattern
- LangChain agent
- Node.js 16.x or higher
- TypeScript 4.x or higher
- API keys for stock services and OpenAi
Clone and set up the project:
git clone https://github.com/extrawest/financial-ai-agent-mcp-servers
cd financial-ai-agent-mcp-servers
# Install dependencies
npm install
Create a .env
file in the project root:
# API Configuration
STOCK_API_KEY=your_stock_api_key
OPENAI_API_KEY=your_open_ai_key
# Build the project
npm run build
# Start the server
npm start
src/
├── agent/
│ └── agent.ts # Agent implementation
├── client/
│ └── client.ts # API client implementation
├── config/
│ └── configs.ts # Configuration management
├── logger/
│ └── logger.ts # Logging functionality
├── server/
│ ├── news-server.ts # News API server
│ └── stocks-server.ts # Stock market API server
├── types/
│ └── newsapi.d.ts # Type definitions
└── index.ts # Application entry point
Handles all stock market related operations:
- Company information retrieval
- Financial reports access
- Market data processing
Manages news-related functionality:
- Article search and retrieval
- Query processing
- News data formatting
Provides a unified interface to interact with both servers:
- API request handling
- Response processing
- Error management
In separate terminal tabs run
# Start Stocks server
npm run stocks:built
# Start News server
npm npm run news:built
# Run agent
npm run agent:built
- Open Cursor IDE, go to Settings -> Cursor Settings
- Go to Tools & Integrations section
- Find MCP tools, click New MCP Server
- Add this to mcp.json file
{
"mcpServers": {
"stocks-mcp-server": {
"url": "http://127.0.0.1:3000/sse"
},
"news-mcp-server": {
"url": "http://127.0.0.1:3001/sse"
}
}
}
- Run commands in separte terminal tabs
# Start Stocks server
npm run stocks:built
# Start News server
npm npm run news:built
This project is licensed under the MIT License - see the LICENSE file for details.
Created by Oleksandr Samoilenko
Extrawest.com, 2025