Financial AI Agent
An AI agent providing unified access to financial market data and news articles.
📈 Model Context Protocol(MCP) Agent App
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.
DEMO
Terminal
https://github.com/user-attachments/assets/47150b98-0663-43f6-927e-f09abb796fe6
Cursor
https://github.com/user-attachments/assets/72210b49-dc23-4bef-b7ee-6d289ede59e1
✨ Features
- 📊 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
🔧 Prerequisites
- Node.js 16.x or higher
- TypeScript 4.x or higher
- API keys for stock services and OpenAi
🚀 Quick Start
1. Installation
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
2. Environment Configuration
Create a .env file in the project root:
# API Configuration
STOCK_API_KEY=your_stock_api_key
OPENAI_API_KEY=your_open_ai_key
3. Build and Run
# Build the project
npm run build
# Start the server
npm start
🏗️ Project Structure
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
📦 Core Components
Stock Server
Handles all stock market related operations:
- Company information retrieval
- Financial reports access
- Market data processing
News Server
Manages news-related functionality:
- Article search and retrieval
- Query processing
- News data formatting
Client
Provides a unified interface to interact with both servers:
- API request handling
- Response processing
- Error management
Start an app
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
Add mcp to Cursor IDE
- 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
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.
Created by Oleksandr Samoilenko
Extrawest.com, 2025
संबंधित सर्वर
Aviationstack
An MCP server using the AviationStack API to fetch real-time flight data including airline flights, airport schedules, future flights and aircraft types.
ProPublica MCP Server
Search and analyze nonprofit organizations' Form 990 data using ProPublica's Nonprofit Explorer API.
Perplexity
Interacting with Perplexity
Google Search
Web search and webpage content extraction using the Google Custom Search API.
Greenbook
A lightweight Model Context Protocol (MCP) server that exposes Greenbook data and tools for market research professionals, analysts, and related workflows.
Perplexity MCP Server
Adds Perplexity AI as a tool provider for Claude Desktop.
ClaimHit
Patent Infringement MCP Server
Search MCP Server
A versatile search server supporting multiple search engines, including Brave, Metaso, and Bocha.
Google Search Console MCP for Claude Code
Google Search Console MCP for Claude Code & Cursor with built-in SEO intelligence: traffic-drop diagnosis, quick wins, content decay, cannibalization, ranking alerts. Read-only by default, with anti-hallucination provenance metadata on every response.
Supavec
Fetch relevant embeddings and content from Supavec for AI assistants.