Sipap Intelligence
FreeNot checkedAI-powered MCP server for sports predictions providing news sentiment analysis, injury impact assessment, and weather intelligence using Claude (Bedrock) and Op
About
AI-powered MCP server for sports predictions providing news sentiment analysis, injury impact assessment, and weather intelligence using Claude (Bedrock) and OpenWeatherMap.
README
AI-Powered Intelligence MCP Server for SIPAP - Aggregating intelligence from news sentiment, weather analysis, and API-Football predictions using Claude (Bedrock).
Overview
This MCP server provides AI-powered intelligence tools that enhance sports predictions with:
- Weather Intelligence: Real-time weather forecasts and AI-assessed impact on matches
- News Sentiment Analysis: Claude-powered analysis of recent news for teams
- Injury Impact Assessment: AI-driven evaluation of injury impact on performance
- API-Football Intelligence: Algorithmic predictions, player availability, and transfers
- Historical Performance Analysis: Team performance patterns in specific conditions
Architecture
Unlike sipap-data-mcp (database reads only), this MCP server:
- Makes on-demand API calls (OpenWeatherMap, NewsAPI, API-Football)
- Uses Claude via AWS Bedrock for AI analysis
- Has higher latency (<2s vs <100ms) due to AI processing + API calls
- Implements differential TTL caching strategy (1h-24h) to minimize API costs
- Follows Sentinel patterns: #19 (Lambda warm start), #20 (Cache-aside)
Tools (9 Total)
Weather Intelligence (3 tools)
get_match_weather(match_id: str, lat?: float, lon?: float, city?: str)- Fetches weather forecast for match time and location
- Source: OpenWeatherMap API
- Returns: Temperature, precipitation, wind, visibility, humidity
- Cache TTL: 1 hour
- Accepts: Coordinates (lat/lon) OR city name
assess_weather_impact(weather_conditions: dict, match_type?: str, home_team?: str, away_team?: str)- AI analysis of weather impact on match outcome
- Uses: Claude via Bedrock
- Returns: Impact level, confidence, factors, betting implications
- Cache TTL: 6 hours
- Optional team context for tactical analysis
get_historical_weather_performance(team_id: str, team_name: str, weather_type: str, max_matches?: int)- Analyzes team's historical performance in specific weather
- Uses: Mock historical data + Claude analysis
- Returns: Pattern strength, confidence, win rate, goal stats, insights
- Cache TTL: 24 hours
News Intelligence (2 tools)
fetch_and_analyze_team_news(team_id: str, team_name: str, days_back?: int)- Fetches recent news and performs sentiment analysis
- Uses: NewsAPI + Claude
- Returns: Sentiment, confidence, key topics, impact summary, articles analyzed
- Cache TTL: 6 hours
- Default: 7 days back, top 5 sources
get_injury_reports(team_id: str, team_name: str, severity_filter?: str)- Injury reports with AI-powered impact assessment
- Uses: Mock injury data + Claude
- Returns: Injuries with AI-assessed impact scores
- Cache TTL: 24 hours
- Filters: "all", "major", "minor"
API-Football Intelligence (4 tools)
get_match_predictions(fixture_id: int)- Algorithmic match predictions from API-Football
- Source: API-Football predictions endpoint (poisson, stats, form)
- Returns: Winner prediction, probabilities (home/draw/away), league/teams info
- Cache TTL: 6 hours
get_sidelined_players(player_id?: int, coach_id?: int)- Player/coach availability (injuries, suspensions, absences)
- Source: API-Football sidelined endpoint
- Returns: Type, player/coach info, start date, end date
- Cache TTL: 24 hours
- Mutually exclusive: provide player_id OR coach_id
get_player_transfers(player_id?: int, team_id?: int)- Player transfer history and context
- Source: API-Football transfers endpoint
- Returns: Transfer details, teams, dates, type
- Cache TTL: 24 hours
- Optional filters: player_id, team_id
get_available_timezones()- Available timezones for fixture scheduling
- Source: API-Football timezones endpoint
- Returns: List of valid timezone identifiers
- Cache TTL: 7 days (static data)
Installation
# Install from wheel
pip install sipap_intelligence_mcp-0.1.0-py3-none-any.whl
# Or install in editable mode for development
cd sipap-intelligence-mcp
python -m venv .venv
source .venv/bin/activate
pip install -e '.[dev]'
Requirements
- Python 3.12, 3.13, or 3.14
- AWS credentials with Bedrock access (Claude)
- OpenWeatherMap API key (free tier: 60 calls/min)
- NewsAPI key (free tier: 100 requests/day)
- API-Football key (Ultra plan: 75,000 requests/day)
- sipap-common >= 0.1.0
- sipap-mcp >= 0.1.0
- Redis instance (AWS ElastiCache or local)
Usage
Direct Tool Usage
from sipap_intelligence_mcp.tools.weather import get_match_weather, assess_weather_impact
# Get weather forecast for match
weather = await get_match_weather(match_id="match-123")
# Returns: {
# 'temperature': 15.2,
# 'precipitation': 'light_rain',
# 'wind_speed': 12.5,
# 'visibility': 8000
# }
# Assess impact on match
impact = await assess_weather_impact(weather, match_type="soccer")
# Returns: {
# 'impact_level': 'medium',
# 'factors': ['Light rain favors defensive play', 'Wind affects long passes'],
# 'betting_implications': 'Consider under 2.5 goals',
# 'confidence': 0.78
# }
MCP Protocol Usage (JSON-RPC 2.0)
from sipap_intelligence_mcp.server import IntelligenceMCPServer
# Initialize MCP server
server = IntelligenceMCPServer()
# List available tools
request = {
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}
response = await server.handle_request(request)
# Returns list of 9 tools with JSON schemas
# Call a weather tool
request = {
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "get_match_weather",
"arguments": {
"match_id": "match-123",
"lat": 51.5,
"lon": -0.1
}
}
}
response = await server.handle_request(request)
# Call an API-Football tool
request = {
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "get_match_predictions",
"arguments": {
"fixture_id": 198772
}
}
}
response = await server.handle_request(request)
Configuration
Environment Variables
# AWS Bedrock (required for AI analysis)
AWS_REGION=us-east-1
BEDROCK_MODEL_ID=anthropic.claude-3-haiku-20240307-v1:0
# OpenWeatherMap API (required for weather intelligence)
OPENWEATHER_API_KEY=your_api_key_here
# NewsAPI (required for news intelligence)
NEWS_API_KEY=your_api_key_here
# API-Football (required for predictions/transfers/sidelined)
API_FOOTBALL_KEY=your_api_key_here
# Redis cache (required for all tools)
REDIS_ENDPOINT=sipap-dev-cache.cache.amazonaws.com:6379
# Database (optional, for historical analysis)
DB_ENDPOINT=sipap-dev-aurora.cluster-xxx.us-east-1.rds.amazonaws.com
DB_NAME=sipap_dev
DB_USER=sipap_admin
DB_PASSWORD=stored_in_secrets_manager
Testing
Quality Gates Status
✅ Tests: 130/130 passing (72% coverage)
- Unit tests: 112 (weather: 17, news: 21, API-Football: 36, clients: 38)
- Integration tests: 18 (MCP server: 8, workflows: 10)
✅ Type Checking: Zero mypy errors (strict mode)
✅ Linting: Zero ruff errors
✅ Imports: All successful
Coverage Breakdown
- Weather tools: 92% coverage
- News tools: 89% coverage
- API-Football tools: 95% coverage
- MCP server: 83% coverage
- Claude client: 99% coverage
- Prompts: 100% coverage
Running Tests
# Run all tests
pytest
# Run with coverage
pytest --cov=src/sipap_intelligence_mcp --cov-report=html
# Run specific test suites
pytest tests/unit/ # Unit tests only
pytest tests/integration/ # Integration tests only
# Run type checking
mypy src/sipap_intelligence_mcp --strict
# Run linting
ruff check src/ tests/
# Run all quality gates
pytest && mypy src/sipap_intelligence_mcp --strict && ruff check src/ tests/
Performance
- Latency: <2s average (AI processing + API calls overhead)
- Cache Hit Rate: 85%+ target (differential TTL strategy)
- Cost: ~$15/month (Claude analysis + API calls)
- Rate Limits:
- OpenWeatherMap: 60 calls/min (free tier)
- NewsAPI: 100 requests/day (free tier)
- API-Football: 75,000 requests/day (Ultra plan)
- Claude/Bedrock: Pay-as-you-go (~$0.01 per analysis)
- Caching Strategy:
- Weather: 1 hour (volatile)
- Weather impact: 6 hours (semi-stable)
- Historical performance: 24 hours (stable)
- News sentiment: 6 hours (semi-stable)
- Injury reports: 24 hours (stable)
- Predictions: 6 hours (semi-stable)
- Sidelined/Transfers: 24 hours (stable)
- Timezones: 7 days (static)
Architecture Patterns
Sentinel Pattern Adoption
- Pattern #9: Structured output enforcement (JSON Schema for AI responses)
- Pattern #19: Lambda warm start optimization (global variables for API clients)
- Pattern #20: Cache-aside with TTL strategy (6h-24h based on volatility)
AI Integration
- Claude Haiku: Fast, cost-effective for simple analyses (<$0.003 per call)
- Claude Sonnet: Complex reasoning for injury impact (<$0.015 per call)
- Prompt Engineering: Sport-specific prompts optimized for accuracy
- Structured Output: Force JSON schema to eliminate parsing errors
Examples
See examples/ directory for:
weather_intelligence.py- Weather forecast + impact assessment + historical performancenews_intelligence.py- News sentiment analysis + injury reportsapi_football_intelligence.py- Match predictions + sidelined players + transfersmcp_client.py- Full MCP protocol usage with all 9 toolsREADME.md- Setup instructions and usage guide
Development
# Setup development environment
python -m venv .venv
source .venv/bin/activate
pip install -e '.[dev]'
# Run quality gates before committing
pytest && mypy src/sipap_intelligence_mcp --strict && ruff check src/ tests/
License
MIT License - See LICENSE file for details
Support
For issues or questions: [email protected]
Installing Sipap Intelligence
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/odirasamuel/sipap-intelligence-mcpFAQ
Is Sipap Intelligence MCP free?
Yes, Sipap Intelligence MCP is free — one-click install via Unyly at no cost.
Does Sipap Intelligence need an API key?
No, Sipap Intelligence runs without API keys or environment variables.
Is Sipap Intelligence hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install Sipap Intelligence in Claude Desktop, Claude Code or Cursor?
Open Sipap Intelligence on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzMCP-Agent
A simple, composable framework to build agents using Model Context Protocol by [LastMile AI](https://www.lastmileai.dev)
by lastmile-aiSpring AI MCP Client
Provides auto-configuration for MCP client functionality in Spring Boot applications.
mcp.natoma.ai
A Hosted MCP Platform to discover, install, manage and deploy MCP servers by [Natoma Labs](https://www.natoma.ai)
MCPHub
Website to list high quality MCP servers and reviews by real users. Also provide online chatbot for popular LLM models with MCP server support.
MCP Servers Rating and User Reviews
Website to rate MCP servers, write authentic user reviews, and [search engine for agent & mcp](http://www.deepnlp.org/search/agent)
mkinf
An Open Source registry of hosted MCP Servers to accelerate AI agent workflows.
Compare Sipap Intelligence with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
