StockDocs/MCPServer/README.md

105 lines
3.2 KiB
Markdown

# MCPServer
A Flask-based server that provides an API for accessing and analyzing financial data, with integration for stock analysis and news processing.
## Overview
The MCPServer (Model Calling Protocol Server) is designed to provide an API interface for financial data processing including stock market analysis, news aggregation, and financial metrics calculation. It serves as the backend service for processing financial information and making it available through HTTP endpoints.
## Project Structure
```
MCPServer/
├── app.py # Main Flask application
├── config.py # Configuration settings
├── requirements.txt # Python dependencies
├── Dockerfile # Docker configuration
├── README.md # This file
└── api/ # API endpoints and handlers
├── __init__.py
├── stock_analysis.py # Stock analysis functions
└── news_processing.py # News processing functions
```
## Features
- **Stock Analysis**: Financial metrics calculation and market data processing
- **News Integration**: APIs for retrieving and processing financial news
- **Data Aggregation**: Consolidation of multiple data sources into unified responses
- **RESTful API**: Clean HTTP interface for external services to consume data
## Endpoints
### Stock Analysis
- GET `/api/stock/metrics` - Get financial metrics for a stock
- GET `/api/stock/history` - Get historical price data
- POST `/api/stock/analyze` - Perform comprehensive stock analysis
### News Processing
- GET `/api/news` - Retrieve news articles related to stocks
- GET `/api/news/outlets` - List available news sources
- POST `/api/news/process` - Process and categorize news content
### Data Management
- GET `/api/data/refresh` - Refresh data from sources
- GET `/api/status` - Server health check
## Configuration
### Environment Variables
The server supports configuration through environment variables:
- `FLASK_ENV` - Set to 'development' or 'production' (default: 'development')
- `DATABASE_URL` - URL for database connection (e.g., PostgreSQL)
- `API_KEY` - API key for external services
- `AI_SERVICE_API_KEY` - API key for authenticating with the centralized AI service at http://example.com:4000
- `LOG_LEVEL` - Logging level (DEBUG, INFO, WARNING, ERROR)
## Installation
1. Install dependencies:
```bash
pip install -r requirements.txt
```
2. Set up environment variables (optional but recommended):
```bash
export FLASK_ENV=production
export DATABASE_URL="postgresql://user:password@localhost/dbname"
```
3. Run the server:
```bash
python app.py
```
## Usage Examples
### Get stock metrics:
```bash
curl "http://localhost:5000/api/stock/metrics?symbol=AAPL"
```
### Get historical data:
```bash
curl "http://localhost:5000/api/stock/history?symbol=AAPL&days=30"
```
### Process news for a stock:
```bash
curl -X POST "http://localhost:5000/api/news/process" \
-H "Content-Type: application/json" \
-d '{"symbol":"AAPL","articles":["/path/to/article1.txt","/path/to/article2.txt"]}'
```
## Requirements
- Python 3.6+
- Flask 2.3.3
- Additional dependencies listed in `requirements.txt`
## License
This project is licensed under the MIT License.