iso-financial-mcp


Nameiso-financial-mcp JSON
Version 0.2.0 PyPI version JSON
download
home_pageNone
SummaryEnhanced MCP server providing comprehensive financial market data endpoints for quantitative trading opportunity detection and analysis
upload_time2025-08-20 17:52:59
maintainerNone
docs_urlNone
authorNiels-8
requires_python>=3.10
licenseMIT License Copyright (c) 2024 Trading Agents Team Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords ai-trading earnings finance finra market-data mcp model-context-protocol options quantitative-analysis sec-filings short-squeeze stocks trading
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # IsoFinancial-MCP

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
[![PyPI version](https://badge.fury.io/py/iso-financial-mcp.svg)](https://badge.fury.io/py/iso-financial-mcp)
[![UV Package Manager](https://img.shields.io/badge/uv-package%20manager-blue.svg)](https://docs.astral.sh/uv/)

An enhanced open-source MCP (Model Context Protocol) server providing comprehensive financial market data endpoints for quantitative trading opportunity detection and analysis. Features advanced data sources including SEC filings, FINRA short volume, earnings calendars, news sentiment, and Google Trends analysis.

## ๐Ÿš€ Enhanced Features

### Core Market Data (Yahoo Finance)
- **Real-time Market Data**: Live stock prices, volume, and market statistics
- **Financial Statements**: Balance sheets, income statements, and cash flow data
- **Options Analysis**: Complete option chains with expiration dates and Greeks
- **Corporate Actions**: Dividends, stock splits, and historical actions
- **Company Information**: Detailed profiles, major holders, and institutional investors
- **Analyst Recommendations**: Professional analyst ratings and price targets

### ๐Ÿ†• Enhanced Data Sources for Quantitative Analysis
- **SEC Filings Integration**: Real-time EDGAR API access for 8-K, S-3, 424B, 10-Q, 10-K filings with 6-hour caching
- **FINRA Short Volume**: Daily short volume ratios and pressure indicators with trend analysis
- **Earnings Calendar**: EPS estimates, actuals, surprise percentages with BMO/AMC timing
- **News Headlines**: Yahoo Finance RSS integration with source attribution and duplicate detection
- **Google Trends**: Search volume analysis with momentum indicators and related queries

### ๐Ÿ”ง Advanced Technical Features
- **Intelligent Caching**: Multi-tier caching system with configurable TTL per data source
- **Rate Limiting**: Built-in rate limiting with exponential backoff for API protection
- **Error Handling**: Graceful degradation with detailed error reporting
- **Performance Optimization**: Async/await throughout with connection pooling
- **Data Validation**: Comprehensive input validation and sanitization

## ๐Ÿ“‹ Requirements

- **Python 3.10+** (Python 3.13+ recommended for optimal performance)
- **UV Package Manager** ([Installation Guide](https://docs.astral.sh/uv/getting-started/installation/))
- **Internet connection** for API access to multiple data sources
- **No API keys required** - All data sources use free/public APIs

## ๐Ÿ”ง Installation

### Using UV (Recommended)

```bash
# Install UV if not already installed
curl -LsSf https://astral.sh/uv/install.sh | sh

# Add to your project
uv add iso-financial-mcp

# Or install globally
uvx iso-financial-mcp
```

### Using pip

```bash
pip install iso-financial-mcp
```

### For AI Trading Systems Integration

The IsoFinancial-MCP server can be easily integrated into any AI trading system or quantitative analysis pipeline:

```bash
# Add to your trading system dependencies
uv add iso-financial-mcp

# Or include in your pyproject.toml
dependencies = ["iso-financial-mcp>=0.2.0"]
```

## ๐Ÿš€ Quick Start

### As MCP Server (Recommended for AI Agents)

```bash
# Test the server directly
uv run python -m iso_financial_mcp

# Or run specific endpoints
uv run python -c "
from iso_financial_mcp.server import get_info
import asyncio
result = asyncio.run(get_info('AAPL'))
print(result)
"
```

### Integration with AI Trading Systems

The server can be easily integrated with any AI trading system or quantitative analysis framework:

```python
# Example integration with MCP-compatible AI agents
from fastmcp.agent import StdioServerParams, mcp_server_tools

finance_server_params = StdioServerParams(
    command="python",
    args=["-m", "iso_financial_mcp"],
)

# Get available financial tools
finance_tools = await mcp_server_tools(finance_server_params)
```

### As Standalone HTTP Server

```bash
# Start HTTP server with UV
uv run uvicorn iso_financial_mcp.server:server.app --host 0.0.0.0 --port 8000

# Test endpoints
curl http://localhost:8000/health
```

### Testing Individual Endpoints

```bash
# Test SEC filings
uv run python -c "
from iso_financial_mcp.server import get_sec_filings
import asyncio
result = asyncio.run(get_sec_filings('AAPL', '8-K,S-3', 30))
print(result)
"

# Test FINRA short volume
uv run python -c "
from iso_financial_mcp.server import get_finra_short_volume
import asyncio
result = asyncio.run(get_finra_short_volume('GME'))
print(result)
"

# Test earnings calendar
uv run python -c "
from iso_financial_mcp.server import get_earnings_calendar
import asyncio
result = asyncio.run(get_earnings_calendar('NVDA'))
print(result)
"
```

## ๐Ÿ“Š Available Endpoints

### ๐Ÿ“ˆ Core Market Data (Yahoo Finance)
- `get_info(ticker)` - Company profile and basic information
- `get_historical_prices(ticker, period, interval)` - Historical price data with OHLCV
- `get_actions(ticker)` - Dividends and stock splits history
- `get_earnings_dates(ticker)` - Upcoming and historical earnings dates
- `get_isin(ticker)` - International Securities Identification Number

### ๐Ÿ’ฐ Financial Statements
- `get_balance_sheet(ticker, freq)` - Balance sheet data (yearly/quarterly)
- `get_financials(ticker, freq)` - Income statement data (yearly/quarterly)
- `get_cash_flow(ticker, freq)` - Cash flow statement (yearly/quarterly)

### ๐Ÿ“Š Options Analysis
- `get_options_expirations(ticker)` - Available expiration dates
- `get_option_chain(ticker, expiration_date)` - Complete option chain with Greeks

### ๐Ÿข Company Information
- `get_major_holders(ticker)` - Major shareholders and insider holdings
- `get_institutional_holders(ticker)` - Institutional investor positions
- `get_recommendations(ticker)` - Analyst recommendations and price targets

### ๐Ÿ†• Enhanced Data Sources for Quantitative Analysis

#### ๐Ÿ“‹ SEC Filings (EDGAR API)
```python
get_sec_filings(ticker, form_types="8-K,S-3,424B,10-Q,10-K", lookback_days=30)
```
- **Form Types**: 8-K (material events), S-3 (shelf registrations), 424B (prospectus), 10-Q/10-K (quarterly/annual reports)
- **Cache TTL**: 6 hours
- **Features**: Direct EDGAR API integration, accession numbers, filing URLs

#### ๐Ÿ“Š FINRA Short Volume
```python
get_finra_short_volume(ticker, start_date="", end_date="")
```
- **Data Source**: FINRA daily short volume CSV files
- **Cache TTL**: 24 hours
- **Features**: Short ratios, trend analysis, aggregate metrics, 5-day rolling averages

#### ๐Ÿ“… Earnings Calendar
```python
get_earnings_calendar(ticker)
```
- **Data Source**: Yahoo Finance/Nasdaq earnings data
- **Cache TTL**: 24 hours
- **Features**: EPS estimates, actuals, surprise percentages, BMO/AMC timing, upcoming vs historical

#### ๐Ÿ“ฐ News Headlines
```python
get_news_headlines(ticker, limit=10, lookback_days=3)
```
- **Data Source**: Yahoo Finance RSS feeds
- **Cache TTL**: 2 hours
- **Features**: Source attribution, duplicate detection, summary extraction, publication timestamps

#### ๐Ÿ“ˆ Google Trends
```python
get_google_trends(term, window_days=30)
```
- **Data Source**: Google Trends API via pytrends
- **Cache TTL**: 24 hours
- **Features**: Search volume trends, momentum analysis, related queries, peak detection

### ๐Ÿ”ง Technical Features

#### Caching System
- **Multi-tier caching** with configurable TTL per endpoint
- **Memory-efficient** with automatic cleanup
- **Cache warming** for frequently accessed data

#### Rate Limiting
- **Per-endpoint rate limiting** with exponential backoff
- **Burst protection** with token bucket algorithm
- **API-specific limits** respecting provider constraints

#### Error Handling
- **Graceful degradation** when data sources are unavailable
- **Detailed error reporting** with context and suggestions
- **Automatic retries** with intelligent backoff strategies

## ๐Ÿ“– Usage Examples

### Basic Market Data

```bash
# Get company information
uv run python -c "
from iso_financial_mcp.server import get_info
import asyncio
result = asyncio.run(get_info('AAPL'))
print(result)
"

# Get historical prices with custom period
uv run python -c "
from iso_financial_mcp.server import get_historical_prices
import asyncio
result = asyncio.run(get_historical_prices('TSLA', '6mo', '1d'))
print(result)
"
```

### Financial Analysis

```bash
# Get quarterly financials
uv run python -c "
from iso_financial_mcp.server import get_financials
import asyncio
result = asyncio.run(get_financials('NVDA', 'quarterly'))
print(result)
"

# Get balance sheet
uv run python -c "
from iso_financial_mcp.server import get_balance_sheet
import asyncio
result = asyncio.run(get_balance_sheet('AAPL', 'yearly'))
print(result)
"
```

### Options Analysis

```bash
# Get option expirations
uv run python -c "
from iso_financial_mcp.server import get_options_expirations
import asyncio
result = asyncio.run(get_options_expirations('SPY'))
print(result)
"

# Get complete option chain
uv run python -c "
from iso_financial_mcp.server import get_option_chain
import asyncio
result = asyncio.run(get_option_chain('SPY', '2024-12-20'))
print(result)
"
```

### ๐Ÿ†• Enhanced Data Sources

#### SEC Filings Analysis

```bash
# Get recent 8-K and S-3 filings
uv run python -c "
from iso_financial_mcp.server import get_sec_filings
import asyncio
result = asyncio.run(get_sec_filings('GME', '8-K,S-3', 30))
print(result)
"

# Get all major filing types
uv run python -c "
from iso_financial_mcp.server import get_sec_filings
import asyncio
result = asyncio.run(get_sec_filings('AAPL', '8-K,S-3,424B,10-Q,10-K', 60))
print(result)
"
```

#### FINRA Short Volume Analysis

```bash
# Get short volume with trend analysis
uv run python -c "
from iso_financial_mcp.server import get_finra_short_volume
import asyncio
result = asyncio.run(get_finra_short_volume('AMC'))
print(result)
"

# Get short volume for specific date range
uv run python -c "
from iso_financial_mcp.server import get_finra_short_volume
import asyncio
result = asyncio.run(get_finra_short_volume('GME', '2024-01-01', '2024-01-31'))
print(result)
"
```

#### Earnings Calendar with Surprises

```bash
# Get comprehensive earnings data
uv run python -c "
from iso_financial_mcp.server import get_earnings_calendar
import asyncio
result = asyncio.run(get_earnings_calendar('NVDA'))
print(result)
"

# Analyze earnings surprises
uv run python -c "
from iso_financial_mcp.server import get_earnings_calendar
import asyncio
result = asyncio.run(get_earnings_calendar('TSLA'))
print(result)
"
```

#### News Sentiment Analysis

```bash
# Get recent news headlines
uv run python -c "
from iso_financial_mcp.server import get_news_headlines
import asyncio
result = asyncio.run(get_news_headlines('AAPL', 15, 5))
print(result)
"

# Monitor breaking news
uv run python -c "
from iso_financial_mcp.server import get_news_headlines
import asyncio
result = asyncio.run(get_news_headlines('TSLA', 5, 1))
print(result)
"
```

#### Google Trends Social Momentum

```bash
# Analyze search trends for ticker
uv run python -c "
from iso_financial_mcp.server import get_google_trends
import asyncio
result = asyncio.run(get_google_trends('GameStop', 30))
print(result)
"

# Monitor company name trends
uv run python -c "
from iso_financial_mcp.server import get_google_trends
import asyncio
result = asyncio.run(get_google_trends('Tesla Motors', 60))
print(result)
"
```

### Integration with AI Trading Agents

The IsoFinancial-MCP server can be integrated with any MCP-compatible AI trading agent:

```python
# Example: Using with AI trading agents
from your_trading_agent import TradingAgent

agent = TradingAgent()
agent.add_mcp_server("iso-financial-mcp")

# Agent can now use all financial endpoints
# Example agent query: "Get SEC filings and short volume data for GME"
```

## ๐Ÿ”ง Configuration

### No API Keys Required

The server uses entirely free and public APIs:
- **Yahoo Finance**: Market data, financials, options (no authentication)
- **SEC EDGAR**: Official SEC filings API (public access)
- **FINRA**: Daily short volume CSV files (public data)
- **Google Trends**: Search volume data via pytrends (no API key)
- **RSS Feeds**: News headlines from Yahoo Finance RSS (public)

### Optional Configuration

```bash
# Copy environment template (optional for advanced configuration)
cp .env.example .env
```

### Cache Configuration

Default cache TTL settings optimized for trading applications:

```python
CACHE_TTL = {
    'sec_filings': 21600,    # 6 hours - SEC filings don't change frequently
    'finra_data': 86400,     # 24 hours - FINRA data is daily
    'earnings': 86400,       # 24 hours - Earnings calendar updates daily
    'news': 7200,            # 2 hours - News updates frequently
    'trends': 86400,         # 24 hours - Trends data is daily
    'market_data': 300,      # 5 minutes - Market data for real-time needs
    'options_data': 900      # 15 minutes - Options data updates frequently
}
```

### Rate Limiting Configuration

Built-in rate limiting respects API provider limits:

```python
RATE_LIMITS = {
    'yahoo_finance': {'calls_per_minute': 120, 'burst_limit': 20},
    'sec_edgar': {'calls_per_minute': 10, 'burst_limit': 3},
    'google_trends': {'calls_per_minute': 20, 'burst_limit': 5},
    'rss_feeds': {'calls_per_minute': 60, 'burst_limit': 10}
}
```

### Integration with Trading Systems

When integrated with AI trading systems, configuration can be handled automatically:

```python
# Example: Automatic configuration in trading systems
from iso_financial_mcp.server import server

# Server can be embedded directly in your application
app = YourTradingApp()
app.add_mcp_server(server)  # All endpoints available automatically
```

## ๐Ÿงช Testing

### Comprehensive Test Suite

```bash
# Run all tests with UV
uv run pytest

# Run with coverage reporting
uv run pytest --cov=iso_financial_mcp --cov-report=html

# Run specific test categories
uv run pytest tests/test_yfinance_source.py    # Yahoo Finance endpoints
uv run pytest tests/test_sec_source.py         # SEC filings
uv run pytest tests/test_finra_source.py       # FINRA short volume
uv run pytest tests/test_earnings_source.py    # Earnings calendar
uv run pytest tests/test_news_source.py        # News headlines
uv run pytest tests/test_trends_source.py      # Google Trends

# Integration tests
uv run pytest tests/test_integration.py        # End-to-end testing
```

### Manual Testing

```bash
# Test individual endpoints
uv run python -c "
from iso_financial_mcp.server import get_info, get_sec_filings, get_finra_short_volume
import asyncio

async def test_endpoints():
    # Test basic market data
    info = await get_info('AAPL')
    print('โœ… Basic info:', 'OK' if info else 'FAILED')
    
    # Test SEC filings
    filings = await get_sec_filings('AAPL', '8-K', 30)
    print('โœ… SEC filings:', 'OK' if 'SEC Filings' in filings else 'FAILED')
    
    # Test FINRA data
    short_data = await get_finra_short_volume('GME')
    print('โœ… FINRA data:', 'OK' if 'Short Volume Data' in short_data else 'FAILED')

asyncio.run(test_endpoints())
"

# Test server startup
uv run python -m iso_financial_mcp
```

### Performance Testing

```bash
# Test with high-volume tickers
uv run python -c "
import asyncio
import time
from iso_financial_mcp.server import get_info

async def performance_test():
    tickers = ['AAPL', 'TSLA', 'NVDA', 'GME', 'AMC']
    start_time = time.time()
    
    tasks = [get_info(ticker) for ticker in tickers]
    results = await asyncio.gather(*tasks)
    
    end_time = time.time()
    print(f'Processed {len(tickers)} tickers in {end_time - start_time:.2f} seconds')
    print(f'Average: {(end_time - start_time) / len(tickers):.2f} seconds per ticker')

asyncio.run(performance_test())
"
```

## ๐Ÿ“ฆ Development

### Development Setup

```bash
# Clone the repository
git clone https://github.com/Niels-8/isofinancial-mcp.git
cd isofinancial-mcp

# Install with development dependencies using UV
uv sync --dev

# Or install in editable mode
uv pip install -e ".[dev]"
```

### Code Quality Tools

```bash
# Format code with Black
uv run black .

# Lint with Ruff
uv run ruff check . --fix

# Type checking with MyPy
uv run mypy .

# Run all quality checks
uv run black . && uv run ruff check . && uv run mypy .
```

### Adding New Data Sources

1. **Create Data Source Module**: Add new module in `iso_financial_mcp/datasources/`
2. **Implement Async Functions**: Follow existing patterns with caching and error handling
3. **Add Server Endpoint**: Register new endpoint in `server.py` with `@server.tool` decorator
4. **Write Tests**: Add comprehensive tests in `tests/` directory
5. **Update Documentation**: Update README with new endpoint documentation

### Example: Adding New Data Source

```python
# iso_financial_mcp/datasources/new_source.py
import asyncio
import aiohttp
from typing import Optional, List, Dict, Any
from ..utils.cache import cached_request
from ..utils.rate_limiter import rate_limit

@rate_limit('new_api', calls_per_minute=60)
@cached_request(ttl=3600)  # 1 hour cache
async def get_new_data(ticker: str) -> Optional[Dict[str, Any]]:
    """Get data from new source"""
    try:
        async with aiohttp.ClientSession() as session:
            url = f"https://api.newsource.com/data/{ticker}"
            async with session.get(url) as response:
                if response.status == 200:
                    return await response.json()
                return None
    except Exception as e:
        print(f"Error fetching new data for {ticker}: {e}")
        return None

# server.py - Add endpoint
@server.tool
async def get_new_endpoint(ticker: str) -> str:
    """Get new data endpoint"""
    data = await new_source.get_new_data(ticker)
    return format_data(data) if data else f"No data for {ticker}"
```

### Building and Publishing

```bash
# Build package
uv build

# Check package
uv run twine check dist/*

# Publish to PyPI (maintainers only)
uv run twine upload dist/*
```

## ๐Ÿค Contributing

1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request

## ๐Ÿ“„ License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## ๐Ÿ”— Integration with AI Trading Systems

This MCP server is designed to work seamlessly with any quantitative trading system or AI agent:

### Easy Integration
- **Zero Configuration**: Simple setup with any MCP-compatible system
- **Optimized Caching**: Cache TTL settings optimized for trading workflows
- **Error Handling**: Graceful degradation ensures systems continue working even if some data sources fail

### Supported Trading Opportunity Types
The enhanced endpoints support detection of multiple opportunity types:
1. **Short Squeeze Analysis**: FINRA short volume + SEC filings + social trends
2. **Breakout/Momentum Detection**: News sentiment + Google Trends + volume analysis
3. **Earnings Plays**: Earnings calendar + EPS surprises + options data
4. **Biotech/FDA Events**: SEC 8-K filings + news headlines + social momentum
5. **M&A/Rumor Detection**: News analysis + social trends + volume spikes
6. **Dilution/ATM Detection**: SEC S-3/424B filings + volume analysis
7. **Gap-Fade Opportunities**: News sentiment + volume patterns + options data

### Usage in Trading Systems
```python
# Example: Integration with AI trading agents
from your_trading_system import TradingAgent

agent = TradingAgent()
agent.add_financial_data_source("iso-financial-mcp")

# Agent can now use IsoFinancial-MCP for:
# - SEC filing analysis for dilution detection
# - FINRA short volume for squeeze signals
# - Earnings calendar for earnings plays
# - News sentiment for momentum analysis
# - Google Trends for social validation
```

## ๐Ÿ™ Acknowledgments

- **[Yahoo Finance](https://finance.yahoo.com/)** for comprehensive market data
- **[SEC EDGAR](https://www.sec.gov/edgar)** for official filing data
- **[FINRA](https://www.finra.org/)** for short volume transparency
- **[Google Trends](https://trends.google.com/)** for search volume insights
- **[FastMCP](https://github.com/fastmcp/fastmcp)** for the MCP framework
- **[UV Package Manager](https://docs.astral.sh/uv/)** for modern Python packaging
- **Open Source Community** for contributions and feedback

## ๐Ÿ“ž Support

- **Issues**: [GitHub Issues](https://github.com/Niels-8/isofinancial-mcp/issues)
- **Discussions**: [GitHub Discussions](https://github.com/Niels-8/isofinancial-mcp/discussions)

## ๐Ÿ“Š Data Sources & Reliability

### Data Source Overview
| Data Source | Endpoint | Update Frequency | Cache TTL | Reliability |
|-------------|----------|------------------|-----------|-------------|
| Yahoo Finance | Market data, financials, options | Real-time to daily | 5min-24h | High |
| SEC EDGAR | Official filings | Real-time | 6 hours | Very High |
| FINRA | Short volume | Daily | 24 hours | High |
| Google Trends | Search volume | Daily | 24 hours | Medium |
| RSS Feeds | News headlines | Hourly | 2 hours | Medium |

### Data Quality Features
- **Duplicate Detection**: News headlines are deduplicated across sources
- **Data Validation**: Input validation and sanitization for all endpoints
- **Error Recovery**: Graceful fallback when data sources are unavailable
- **Cache Warming**: Frequently accessed data is pre-cached
- **Rate Limiting**: Respects API provider limits to ensure consistent access

---

## โš ๏ธ Important Disclaimers

**FINANCIAL DATA DISCLAIMER**: This software provides financial data for educational and research purposes only. The data is sourced from public APIs and may contain errors, delays, or inaccuracies. Always verify data independently before making investment decisions.

**TRADING RISK WARNING**: Trading involves substantial risk of loss and is not suitable for all investors. Past performance does not guarantee future results. The quantitative analysis provided by this system should not be considered as financial advice.

**DATA ACCURACY**: While we strive for accuracy, financial data can be subject to revisions, delays, and errors from source providers. Critical trading decisions should always be based on official sources and professional financial advice.

**NO WARRANTY**: This software is provided "as is" without warranty of any kind. The authors and contributors are not responsible for any financial losses resulting from the use of this software. 
            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "iso-financial-mcp",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "ai-trading, earnings, finance, finra, market-data, mcp, model-context-protocol, options, quantitative-analysis, sec-filings, short-squeeze, stocks, trading",
    "author": "Niels-8",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/e1/66/39d5107a3a66c882bd84e99ba50f1e7b407df94f1089b29c9d0160873128/iso_financial_mcp-0.2.0.tar.gz",
    "platform": null,
    "description": "# IsoFinancial-MCP\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)\n[![PyPI version](https://badge.fury.io/py/iso-financial-mcp.svg)](https://badge.fury.io/py/iso-financial-mcp)\n[![UV Package Manager](https://img.shields.io/badge/uv-package%20manager-blue.svg)](https://docs.astral.sh/uv/)\n\nAn enhanced open-source MCP (Model Context Protocol) server providing comprehensive financial market data endpoints for quantitative trading opportunity detection and analysis. Features advanced data sources including SEC filings, FINRA short volume, earnings calendars, news sentiment, and Google Trends analysis.\n\n## \ud83d\ude80 Enhanced Features\n\n### Core Market Data (Yahoo Finance)\n- **Real-time Market Data**: Live stock prices, volume, and market statistics\n- **Financial Statements**: Balance sheets, income statements, and cash flow data\n- **Options Analysis**: Complete option chains with expiration dates and Greeks\n- **Corporate Actions**: Dividends, stock splits, and historical actions\n- **Company Information**: Detailed profiles, major holders, and institutional investors\n- **Analyst Recommendations**: Professional analyst ratings and price targets\n\n### \ud83c\udd95 Enhanced Data Sources for Quantitative Analysis\n- **SEC Filings Integration**: Real-time EDGAR API access for 8-K, S-3, 424B, 10-Q, 10-K filings with 6-hour caching\n- **FINRA Short Volume**: Daily short volume ratios and pressure indicators with trend analysis\n- **Earnings Calendar**: EPS estimates, actuals, surprise percentages with BMO/AMC timing\n- **News Headlines**: Yahoo Finance RSS integration with source attribution and duplicate detection\n- **Google Trends**: Search volume analysis with momentum indicators and related queries\n\n### \ud83d\udd27 Advanced Technical Features\n- **Intelligent Caching**: Multi-tier caching system with configurable TTL per data source\n- **Rate Limiting**: Built-in rate limiting with exponential backoff for API protection\n- **Error Handling**: Graceful degradation with detailed error reporting\n- **Performance Optimization**: Async/await throughout with connection pooling\n- **Data Validation**: Comprehensive input validation and sanitization\n\n## \ud83d\udccb Requirements\n\n- **Python 3.10+** (Python 3.13+ recommended for optimal performance)\n- **UV Package Manager** ([Installation Guide](https://docs.astral.sh/uv/getting-started/installation/))\n- **Internet connection** for API access to multiple data sources\n- **No API keys required** - All data sources use free/public APIs\n\n## \ud83d\udd27 Installation\n\n### Using UV (Recommended)\n\n```bash\n# Install UV if not already installed\ncurl -LsSf https://astral.sh/uv/install.sh | sh\n\n# Add to your project\nuv add iso-financial-mcp\n\n# Or install globally\nuvx iso-financial-mcp\n```\n\n### Using pip\n\n```bash\npip install iso-financial-mcp\n```\n\n### For AI Trading Systems Integration\n\nThe IsoFinancial-MCP server can be easily integrated into any AI trading system or quantitative analysis pipeline:\n\n```bash\n# Add to your trading system dependencies\nuv add iso-financial-mcp\n\n# Or include in your pyproject.toml\ndependencies = [\"iso-financial-mcp>=0.2.0\"]\n```\n\n## \ud83d\ude80 Quick Start\n\n### As MCP Server (Recommended for AI Agents)\n\n```bash\n# Test the server directly\nuv run python -m iso_financial_mcp\n\n# Or run specific endpoints\nuv run python -c \"\nfrom iso_financial_mcp.server import get_info\nimport asyncio\nresult = asyncio.run(get_info('AAPL'))\nprint(result)\n\"\n```\n\n### Integration with AI Trading Systems\n\nThe server can be easily integrated with any AI trading system or quantitative analysis framework:\n\n```python\n# Example integration with MCP-compatible AI agents\nfrom fastmcp.agent import StdioServerParams, mcp_server_tools\n\nfinance_server_params = StdioServerParams(\n    command=\"python\",\n    args=[\"-m\", \"iso_financial_mcp\"],\n)\n\n# Get available financial tools\nfinance_tools = await mcp_server_tools(finance_server_params)\n```\n\n### As Standalone HTTP Server\n\n```bash\n# Start HTTP server with UV\nuv run uvicorn iso_financial_mcp.server:server.app --host 0.0.0.0 --port 8000\n\n# Test endpoints\ncurl http://localhost:8000/health\n```\n\n### Testing Individual Endpoints\n\n```bash\n# Test SEC filings\nuv run python -c \"\nfrom iso_financial_mcp.server import get_sec_filings\nimport asyncio\nresult = asyncio.run(get_sec_filings('AAPL', '8-K,S-3', 30))\nprint(result)\n\"\n\n# Test FINRA short volume\nuv run python -c \"\nfrom iso_financial_mcp.server import get_finra_short_volume\nimport asyncio\nresult = asyncio.run(get_finra_short_volume('GME'))\nprint(result)\n\"\n\n# Test earnings calendar\nuv run python -c \"\nfrom iso_financial_mcp.server import get_earnings_calendar\nimport asyncio\nresult = asyncio.run(get_earnings_calendar('NVDA'))\nprint(result)\n\"\n```\n\n## \ud83d\udcca Available Endpoints\n\n### \ud83d\udcc8 Core Market Data (Yahoo Finance)\n- `get_info(ticker)` - Company profile and basic information\n- `get_historical_prices(ticker, period, interval)` - Historical price data with OHLCV\n- `get_actions(ticker)` - Dividends and stock splits history\n- `get_earnings_dates(ticker)` - Upcoming and historical earnings dates\n- `get_isin(ticker)` - International Securities Identification Number\n\n### \ud83d\udcb0 Financial Statements\n- `get_balance_sheet(ticker, freq)` - Balance sheet data (yearly/quarterly)\n- `get_financials(ticker, freq)` - Income statement data (yearly/quarterly)\n- `get_cash_flow(ticker, freq)` - Cash flow statement (yearly/quarterly)\n\n### \ud83d\udcca Options Analysis\n- `get_options_expirations(ticker)` - Available expiration dates\n- `get_option_chain(ticker, expiration_date)` - Complete option chain with Greeks\n\n### \ud83c\udfe2 Company Information\n- `get_major_holders(ticker)` - Major shareholders and insider holdings\n- `get_institutional_holders(ticker)` - Institutional investor positions\n- `get_recommendations(ticker)` - Analyst recommendations and price targets\n\n### \ud83c\udd95 Enhanced Data Sources for Quantitative Analysis\n\n#### \ud83d\udccb SEC Filings (EDGAR API)\n```python\nget_sec_filings(ticker, form_types=\"8-K,S-3,424B,10-Q,10-K\", lookback_days=30)\n```\n- **Form Types**: 8-K (material events), S-3 (shelf registrations), 424B (prospectus), 10-Q/10-K (quarterly/annual reports)\n- **Cache TTL**: 6 hours\n- **Features**: Direct EDGAR API integration, accession numbers, filing URLs\n\n#### \ud83d\udcca FINRA Short Volume\n```python\nget_finra_short_volume(ticker, start_date=\"\", end_date=\"\")\n```\n- **Data Source**: FINRA daily short volume CSV files\n- **Cache TTL**: 24 hours\n- **Features**: Short ratios, trend analysis, aggregate metrics, 5-day rolling averages\n\n#### \ud83d\udcc5 Earnings Calendar\n```python\nget_earnings_calendar(ticker)\n```\n- **Data Source**: Yahoo Finance/Nasdaq earnings data\n- **Cache TTL**: 24 hours\n- **Features**: EPS estimates, actuals, surprise percentages, BMO/AMC timing, upcoming vs historical\n\n#### \ud83d\udcf0 News Headlines\n```python\nget_news_headlines(ticker, limit=10, lookback_days=3)\n```\n- **Data Source**: Yahoo Finance RSS feeds\n- **Cache TTL**: 2 hours\n- **Features**: Source attribution, duplicate detection, summary extraction, publication timestamps\n\n#### \ud83d\udcc8 Google Trends\n```python\nget_google_trends(term, window_days=30)\n```\n- **Data Source**: Google Trends API via pytrends\n- **Cache TTL**: 24 hours\n- **Features**: Search volume trends, momentum analysis, related queries, peak detection\n\n### \ud83d\udd27 Technical Features\n\n#### Caching System\n- **Multi-tier caching** with configurable TTL per endpoint\n- **Memory-efficient** with automatic cleanup\n- **Cache warming** for frequently accessed data\n\n#### Rate Limiting\n- **Per-endpoint rate limiting** with exponential backoff\n- **Burst protection** with token bucket algorithm\n- **API-specific limits** respecting provider constraints\n\n#### Error Handling\n- **Graceful degradation** when data sources are unavailable\n- **Detailed error reporting** with context and suggestions\n- **Automatic retries** with intelligent backoff strategies\n\n## \ud83d\udcd6 Usage Examples\n\n### Basic Market Data\n\n```bash\n# Get company information\nuv run python -c \"\nfrom iso_financial_mcp.server import get_info\nimport asyncio\nresult = asyncio.run(get_info('AAPL'))\nprint(result)\n\"\n\n# Get historical prices with custom period\nuv run python -c \"\nfrom iso_financial_mcp.server import get_historical_prices\nimport asyncio\nresult = asyncio.run(get_historical_prices('TSLA', '6mo', '1d'))\nprint(result)\n\"\n```\n\n### Financial Analysis\n\n```bash\n# Get quarterly financials\nuv run python -c \"\nfrom iso_financial_mcp.server import get_financials\nimport asyncio\nresult = asyncio.run(get_financials('NVDA', 'quarterly'))\nprint(result)\n\"\n\n# Get balance sheet\nuv run python -c \"\nfrom iso_financial_mcp.server import get_balance_sheet\nimport asyncio\nresult = asyncio.run(get_balance_sheet('AAPL', 'yearly'))\nprint(result)\n\"\n```\n\n### Options Analysis\n\n```bash\n# Get option expirations\nuv run python -c \"\nfrom iso_financial_mcp.server import get_options_expirations\nimport asyncio\nresult = asyncio.run(get_options_expirations('SPY'))\nprint(result)\n\"\n\n# Get complete option chain\nuv run python -c \"\nfrom iso_financial_mcp.server import get_option_chain\nimport asyncio\nresult = asyncio.run(get_option_chain('SPY', '2024-12-20'))\nprint(result)\n\"\n```\n\n### \ud83c\udd95 Enhanced Data Sources\n\n#### SEC Filings Analysis\n\n```bash\n# Get recent 8-K and S-3 filings\nuv run python -c \"\nfrom iso_financial_mcp.server import get_sec_filings\nimport asyncio\nresult = asyncio.run(get_sec_filings('GME', '8-K,S-3', 30))\nprint(result)\n\"\n\n# Get all major filing types\nuv run python -c \"\nfrom iso_financial_mcp.server import get_sec_filings\nimport asyncio\nresult = asyncio.run(get_sec_filings('AAPL', '8-K,S-3,424B,10-Q,10-K', 60))\nprint(result)\n\"\n```\n\n#### FINRA Short Volume Analysis\n\n```bash\n# Get short volume with trend analysis\nuv run python -c \"\nfrom iso_financial_mcp.server import get_finra_short_volume\nimport asyncio\nresult = asyncio.run(get_finra_short_volume('AMC'))\nprint(result)\n\"\n\n# Get short volume for specific date range\nuv run python -c \"\nfrom iso_financial_mcp.server import get_finra_short_volume\nimport asyncio\nresult = asyncio.run(get_finra_short_volume('GME', '2024-01-01', '2024-01-31'))\nprint(result)\n\"\n```\n\n#### Earnings Calendar with Surprises\n\n```bash\n# Get comprehensive earnings data\nuv run python -c \"\nfrom iso_financial_mcp.server import get_earnings_calendar\nimport asyncio\nresult = asyncio.run(get_earnings_calendar('NVDA'))\nprint(result)\n\"\n\n# Analyze earnings surprises\nuv run python -c \"\nfrom iso_financial_mcp.server import get_earnings_calendar\nimport asyncio\nresult = asyncio.run(get_earnings_calendar('TSLA'))\nprint(result)\n\"\n```\n\n#### News Sentiment Analysis\n\n```bash\n# Get recent news headlines\nuv run python -c \"\nfrom iso_financial_mcp.server import get_news_headlines\nimport asyncio\nresult = asyncio.run(get_news_headlines('AAPL', 15, 5))\nprint(result)\n\"\n\n# Monitor breaking news\nuv run python -c \"\nfrom iso_financial_mcp.server import get_news_headlines\nimport asyncio\nresult = asyncio.run(get_news_headlines('TSLA', 5, 1))\nprint(result)\n\"\n```\n\n#### Google Trends Social Momentum\n\n```bash\n# Analyze search trends for ticker\nuv run python -c \"\nfrom iso_financial_mcp.server import get_google_trends\nimport asyncio\nresult = asyncio.run(get_google_trends('GameStop', 30))\nprint(result)\n\"\n\n# Monitor company name trends\nuv run python -c \"\nfrom iso_financial_mcp.server import get_google_trends\nimport asyncio\nresult = asyncio.run(get_google_trends('Tesla Motors', 60))\nprint(result)\n\"\n```\n\n### Integration with AI Trading Agents\n\nThe IsoFinancial-MCP server can be integrated with any MCP-compatible AI trading agent:\n\n```python\n# Example: Using with AI trading agents\nfrom your_trading_agent import TradingAgent\n\nagent = TradingAgent()\nagent.add_mcp_server(\"iso-financial-mcp\")\n\n# Agent can now use all financial endpoints\n# Example agent query: \"Get SEC filings and short volume data for GME\"\n```\n\n## \ud83d\udd27 Configuration\n\n### No API Keys Required\n\nThe server uses entirely free and public APIs:\n- **Yahoo Finance**: Market data, financials, options (no authentication)\n- **SEC EDGAR**: Official SEC filings API (public access)\n- **FINRA**: Daily short volume CSV files (public data)\n- **Google Trends**: Search volume data via pytrends (no API key)\n- **RSS Feeds**: News headlines from Yahoo Finance RSS (public)\n\n### Optional Configuration\n\n```bash\n# Copy environment template (optional for advanced configuration)\ncp .env.example .env\n```\n\n### Cache Configuration\n\nDefault cache TTL settings optimized for trading applications:\n\n```python\nCACHE_TTL = {\n    'sec_filings': 21600,    # 6 hours - SEC filings don't change frequently\n    'finra_data': 86400,     # 24 hours - FINRA data is daily\n    'earnings': 86400,       # 24 hours - Earnings calendar updates daily\n    'news': 7200,            # 2 hours - News updates frequently\n    'trends': 86400,         # 24 hours - Trends data is daily\n    'market_data': 300,      # 5 minutes - Market data for real-time needs\n    'options_data': 900      # 15 minutes - Options data updates frequently\n}\n```\n\n### Rate Limiting Configuration\n\nBuilt-in rate limiting respects API provider limits:\n\n```python\nRATE_LIMITS = {\n    'yahoo_finance': {'calls_per_minute': 120, 'burst_limit': 20},\n    'sec_edgar': {'calls_per_minute': 10, 'burst_limit': 3},\n    'google_trends': {'calls_per_minute': 20, 'burst_limit': 5},\n    'rss_feeds': {'calls_per_minute': 60, 'burst_limit': 10}\n}\n```\n\n### Integration with Trading Systems\n\nWhen integrated with AI trading systems, configuration can be handled automatically:\n\n```python\n# Example: Automatic configuration in trading systems\nfrom iso_financial_mcp.server import server\n\n# Server can be embedded directly in your application\napp = YourTradingApp()\napp.add_mcp_server(server)  # All endpoints available automatically\n```\n\n## \ud83e\uddea Testing\n\n### Comprehensive Test Suite\n\n```bash\n# Run all tests with UV\nuv run pytest\n\n# Run with coverage reporting\nuv run pytest --cov=iso_financial_mcp --cov-report=html\n\n# Run specific test categories\nuv run pytest tests/test_yfinance_source.py    # Yahoo Finance endpoints\nuv run pytest tests/test_sec_source.py         # SEC filings\nuv run pytest tests/test_finra_source.py       # FINRA short volume\nuv run pytest tests/test_earnings_source.py    # Earnings calendar\nuv run pytest tests/test_news_source.py        # News headlines\nuv run pytest tests/test_trends_source.py      # Google Trends\n\n# Integration tests\nuv run pytest tests/test_integration.py        # End-to-end testing\n```\n\n### Manual Testing\n\n```bash\n# Test individual endpoints\nuv run python -c \"\nfrom iso_financial_mcp.server import get_info, get_sec_filings, get_finra_short_volume\nimport asyncio\n\nasync def test_endpoints():\n    # Test basic market data\n    info = await get_info('AAPL')\n    print('\u2705 Basic info:', 'OK' if info else 'FAILED')\n    \n    # Test SEC filings\n    filings = await get_sec_filings('AAPL', '8-K', 30)\n    print('\u2705 SEC filings:', 'OK' if 'SEC Filings' in filings else 'FAILED')\n    \n    # Test FINRA data\n    short_data = await get_finra_short_volume('GME')\n    print('\u2705 FINRA data:', 'OK' if 'Short Volume Data' in short_data else 'FAILED')\n\nasyncio.run(test_endpoints())\n\"\n\n# Test server startup\nuv run python -m iso_financial_mcp\n```\n\n### Performance Testing\n\n```bash\n# Test with high-volume tickers\nuv run python -c \"\nimport asyncio\nimport time\nfrom iso_financial_mcp.server import get_info\n\nasync def performance_test():\n    tickers = ['AAPL', 'TSLA', 'NVDA', 'GME', 'AMC']\n    start_time = time.time()\n    \n    tasks = [get_info(ticker) for ticker in tickers]\n    results = await asyncio.gather(*tasks)\n    \n    end_time = time.time()\n    print(f'Processed {len(tickers)} tickers in {end_time - start_time:.2f} seconds')\n    print(f'Average: {(end_time - start_time) / len(tickers):.2f} seconds per ticker')\n\nasyncio.run(performance_test())\n\"\n```\n\n## \ud83d\udce6 Development\n\n### Development Setup\n\n```bash\n# Clone the repository\ngit clone https://github.com/Niels-8/isofinancial-mcp.git\ncd isofinancial-mcp\n\n# Install with development dependencies using UV\nuv sync --dev\n\n# Or install in editable mode\nuv pip install -e \".[dev]\"\n```\n\n### Code Quality Tools\n\n```bash\n# Format code with Black\nuv run black .\n\n# Lint with Ruff\nuv run ruff check . --fix\n\n# Type checking with MyPy\nuv run mypy .\n\n# Run all quality checks\nuv run black . && uv run ruff check . && uv run mypy .\n```\n\n### Adding New Data Sources\n\n1. **Create Data Source Module**: Add new module in `iso_financial_mcp/datasources/`\n2. **Implement Async Functions**: Follow existing patterns with caching and error handling\n3. **Add Server Endpoint**: Register new endpoint in `server.py` with `@server.tool` decorator\n4. **Write Tests**: Add comprehensive tests in `tests/` directory\n5. **Update Documentation**: Update README with new endpoint documentation\n\n### Example: Adding New Data Source\n\n```python\n# iso_financial_mcp/datasources/new_source.py\nimport asyncio\nimport aiohttp\nfrom typing import Optional, List, Dict, Any\nfrom ..utils.cache import cached_request\nfrom ..utils.rate_limiter import rate_limit\n\n@rate_limit('new_api', calls_per_minute=60)\n@cached_request(ttl=3600)  # 1 hour cache\nasync def get_new_data(ticker: str) -> Optional[Dict[str, Any]]:\n    \"\"\"Get data from new source\"\"\"\n    try:\n        async with aiohttp.ClientSession() as session:\n            url = f\"https://api.newsource.com/data/{ticker}\"\n            async with session.get(url) as response:\n                if response.status == 200:\n                    return await response.json()\n                return None\n    except Exception as e:\n        print(f\"Error fetching new data for {ticker}: {e}\")\n        return None\n\n# server.py - Add endpoint\n@server.tool\nasync def get_new_endpoint(ticker: str) -> str:\n    \"\"\"Get new data endpoint\"\"\"\n    data = await new_source.get_new_data(ticker)\n    return format_data(data) if data else f\"No data for {ticker}\"\n```\n\n### Building and Publishing\n\n```bash\n# Build package\nuv build\n\n# Check package\nuv run twine check dist/*\n\n# Publish to PyPI (maintainers only)\nuv run twine upload dist/*\n```\n\n## \ud83e\udd1d Contributing\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## \ud83d\udd17 Integration with AI Trading Systems\n\nThis MCP server is designed to work seamlessly with any quantitative trading system or AI agent:\n\n### Easy Integration\n- **Zero Configuration**: Simple setup with any MCP-compatible system\n- **Optimized Caching**: Cache TTL settings optimized for trading workflows\n- **Error Handling**: Graceful degradation ensures systems continue working even if some data sources fail\n\n### Supported Trading Opportunity Types\nThe enhanced endpoints support detection of multiple opportunity types:\n1. **Short Squeeze Analysis**: FINRA short volume + SEC filings + social trends\n2. **Breakout/Momentum Detection**: News sentiment + Google Trends + volume analysis\n3. **Earnings Plays**: Earnings calendar + EPS surprises + options data\n4. **Biotech/FDA Events**: SEC 8-K filings + news headlines + social momentum\n5. **M&A/Rumor Detection**: News analysis + social trends + volume spikes\n6. **Dilution/ATM Detection**: SEC S-3/424B filings + volume analysis\n7. **Gap-Fade Opportunities**: News sentiment + volume patterns + options data\n\n### Usage in Trading Systems\n```python\n# Example: Integration with AI trading agents\nfrom your_trading_system import TradingAgent\n\nagent = TradingAgent()\nagent.add_financial_data_source(\"iso-financial-mcp\")\n\n# Agent can now use IsoFinancial-MCP for:\n# - SEC filing analysis for dilution detection\n# - FINRA short volume for squeeze signals\n# - Earnings calendar for earnings plays\n# - News sentiment for momentum analysis\n# - Google Trends for social validation\n```\n\n## \ud83d\ude4f Acknowledgments\n\n- **[Yahoo Finance](https://finance.yahoo.com/)** for comprehensive market data\n- **[SEC EDGAR](https://www.sec.gov/edgar)** for official filing data\n- **[FINRA](https://www.finra.org/)** for short volume transparency\n- **[Google Trends](https://trends.google.com/)** for search volume insights\n- **[FastMCP](https://github.com/fastmcp/fastmcp)** for the MCP framework\n- **[UV Package Manager](https://docs.astral.sh/uv/)** for modern Python packaging\n- **Open Source Community** for contributions and feedback\n\n## \ud83d\udcde Support\n\n- **Issues**: [GitHub Issues](https://github.com/Niels-8/isofinancial-mcp/issues)\n- **Discussions**: [GitHub Discussions](https://github.com/Niels-8/isofinancial-mcp/discussions)\n\n## \ud83d\udcca Data Sources & Reliability\n\n### Data Source Overview\n| Data Source | Endpoint | Update Frequency | Cache TTL | Reliability |\n|-------------|----------|------------------|-----------|-------------|\n| Yahoo Finance | Market data, financials, options | Real-time to daily | 5min-24h | High |\n| SEC EDGAR | Official filings | Real-time | 6 hours | Very High |\n| FINRA | Short volume | Daily | 24 hours | High |\n| Google Trends | Search volume | Daily | 24 hours | Medium |\n| RSS Feeds | News headlines | Hourly | 2 hours | Medium |\n\n### Data Quality Features\n- **Duplicate Detection**: News headlines are deduplicated across sources\n- **Data Validation**: Input validation and sanitization for all endpoints\n- **Error Recovery**: Graceful fallback when data sources are unavailable\n- **Cache Warming**: Frequently accessed data is pre-cached\n- **Rate Limiting**: Respects API provider limits to ensure consistent access\n\n---\n\n## \u26a0\ufe0f Important Disclaimers\n\n**FINANCIAL DATA DISCLAIMER**: This software provides financial data for educational and research purposes only. The data is sourced from public APIs and may contain errors, delays, or inaccuracies. Always verify data independently before making investment decisions.\n\n**TRADING RISK WARNING**: Trading involves substantial risk of loss and is not suitable for all investors. Past performance does not guarantee future results. The quantitative analysis provided by this system should not be considered as financial advice.\n\n**DATA ACCURACY**: While we strive for accuracy, financial data can be subject to revisions, delays, and errors from source providers. Critical trading decisions should always be based on official sources and professional financial advice.\n\n**NO WARRANTY**: This software is provided \"as is\" without warranty of any kind. The authors and contributors are not responsible for any financial losses resulting from the use of this software. ",
    "bugtrack_url": null,
    "license": "MIT License\n        \n        Copyright (c) 2024 Trading Agents Team\n        \n        Permission is hereby granted, free of charge, to any person obtaining a copy\n        of this software and associated documentation files (the \"Software\"), to deal\n        in the Software without restriction, including without limitation the rights\n        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n        copies of the Software, and to permit persons to whom the Software is\n        furnished to do so, subject to the following conditions:\n        \n        The above copyright notice and this permission notice shall be included in all\n        copies or substantial portions of the Software.\n        \n        THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n        SOFTWARE. ",
    "summary": "Enhanced MCP server providing comprehensive financial market data endpoints for quantitative trading opportunity detection and analysis",
    "version": "0.2.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/Niels-8/isofinancial-mcp/issues",
        "Documentation": "https://github.com/Niels-8/isofinancial-mcp#readme",
        "Homepage": "https://github.com/Niels-8/isofinancial-mcp",
        "Issues": "https://github.com/Niels-8/isofinancial-mcp/issues",
        "Repository": "https://github.com/Niels-8/isofinancial-mcp"
    },
    "split_keywords": [
        "ai-trading",
        " earnings",
        " finance",
        " finra",
        " market-data",
        " mcp",
        " model-context-protocol",
        " options",
        " quantitative-analysis",
        " sec-filings",
        " short-squeeze",
        " stocks",
        " trading"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "717944fcf312e521f9126cf844c59e38bd79fb0758ac4c027559da48cf50504b",
                "md5": "9c6d6fc48ff0d9c9951ccd218aa42c2f",
                "sha256": "e90b7b90c6bd049539a369b3b7d6c571f2c2af3bb70174e185713096b68069ef"
            },
            "downloads": -1,
            "filename": "iso_financial_mcp-0.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "9c6d6fc48ff0d9c9951ccd218aa42c2f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 36212,
            "upload_time": "2025-08-20T17:52:58",
            "upload_time_iso_8601": "2025-08-20T17:52:58.520091Z",
            "url": "https://files.pythonhosted.org/packages/71/79/44fcf312e521f9126cf844c59e38bd79fb0758ac4c027559da48cf50504b/iso_financial_mcp-0.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e16639d5107a3a66c882bd84e99ba50f1e7b407df94f1089b29c9d0160873128",
                "md5": "83eec1234c8e2ebda43d437403841e3e",
                "sha256": "5e341b0f5512ce9058ec6c4cfad05557285016075dcd1df9c6800c881a45083e"
            },
            "downloads": -1,
            "filename": "iso_financial_mcp-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "83eec1234c8e2ebda43d437403841e3e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 172430,
            "upload_time": "2025-08-20T17:52:59",
            "upload_time_iso_8601": "2025-08-20T17:52:59.809901Z",
            "url": "https://files.pythonhosted.org/packages/e1/66/39d5107a3a66c882bd84e99ba50f1e7b407df94f1089b29c9d0160873128/iso_financial_mcp-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-20 17:52:59",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Niels-8",
    "github_project": "isofinancial-mcp",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "iso-financial-mcp"
}
        
Elapsed time: 1.67781s