ibex35-mcp
Uses Cloudflare Workers as the backend infrastructure for edge computing and low latency data access
Synchronizes data from Google Sheets as part of the real-time data pipeline for IBEX 35 market information
Sources information about companies and prominent directors from Wikipedia as part of the comprehensive data aggregation
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ibex35-mcp show me the board interlocks for Banco Santander"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
IBEX 35 MCP Server
A Model Context Protocol (MCP) server that provides Claude and other LLMs with comprehensive access to Spanish IBEX 35 stock market data, corporate governance information, and financial analytics.
🎯 What This Enables
Transform your AI assistant into a Spanish corporate intelligence expert:
Corporate Governance Analysis - Board compositions, director interlocks, political affiliations
Financial Analytics - Market cap, P/E ratios, sector analysis, performance metrics
Shareholder Intelligence - Ownership structures, institutional holdings, cross-holdings
Board Interlock Detection - Directors serving on multiple boards
Political Connections - Government-appointed directors and political backgrounds
Real-time Market Data - Current prices, volumes, daily changes, historical trends
Perfect for financial research, corporate governance studies, investment analysis, and academic research on Spanish markets.
Related MCP server: DataBursatil MCP Server
Features
Core Data Access
Company Information: All IBEX 35 companies with real-time prices and key metrics
Historical Data: OHLCV data, performance tracking, and trend analysis
Shareholders: Ownership structures, concentration analysis, and cross-holdings
Board Directors: Corporate governance, board interlocks, and executive relationships
News & Sentiment: Recent news with sentiment analysis and relevance scoring
ESG Data: Environmental, Social, and Governance scores and metrics
Advanced Analytics ⚡ ENHANCED
Natural Language Processing: Ask complex questions in plain English
Company Comparisons: Side-by-side analysis across financial, governance, and performance metrics
Trend Analysis & Forecasting: Advanced price trend analysis with simple forecasting capabilities
Investment Risk Assessment: Comprehensive risk evaluation across market, governance, and operational factors
Analyst Report Generation: Professional company deep-dives, sector overviews, and governance analysis
Investment Opportunity Screening: Filter and rank companies based on custom criteria
Network Analysis: Board interlock analysis, shareholder overlap detection
Governance Risk Assessment: Red flag identification, concentration metrics
Market Correlation: Sector performance analysis and correlation studies
Lobbying Intelligence: EU transparency data and political influence tracking
Special Features
Real-time Sync: Data synchronized from Google Sheets and multiple sources
Weekly Reports: Automated market analysis and governance highlights
Custom Queries: Execute safe SQL queries on the database
Comprehensive Indexing: Optimized for complex relationship queries
🚀 Quick Start
Prerequisites
Node.js 18+
Claude Desktop app (or any MCP-compatible client)
Installation
Option 1: NPM Global Install (Recommended)
npm install -g ibex35-mcp-serverOption 2: From Source
git clone https://github.com/anbrme/ibex35-mcp-server.git
cd ibex35-mcp-server
npm install
npm run buildConfiguration
Environment Variables
IBEX35_API_URL: URL to your Cloudflare Worker API (defaults tohttps://ibex35-api.ncdata.eu)IBEX35_API_KEY: Optional API key for authentication (if your worker requires it)
Cloudflare Worker Setup
The server connects to your existing Cloudflare Worker that provides API access to the D1 database. No local database setup is required.
Usage
Standalone Mode
npm startClaude Desktop Configuration
Add to your claude_desktop_config.json:
For NPM Install:
{
"mcpServers": {
"ibex35-database": {
"command": "ibex35-mcp",
"env": {
"IBEX35_API_URL": "https://ibex35-api.ncdata.eu"
}
}
}
}For Source Install:
{
"mcpServers": {
"ibex35-database": {
"command": "node",
"args": ["/path/to/ibex35-mcp-server/dist/index.js"],
"env": {
"IBEX35_API_URL": "https://ibex35-api.ncdata.eu"
}
}
}
}Config file locations:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Start Using
Restart Claude Desktop completely
Start a new conversation
Ask questions about IBEX 35 data!
Available Tools
Company Data
get_all_companies- List all IBEX 35 companies with current dataget_company_by_symbol- Detailed company information by symbolget_companies_by_sector- Filter companies by sectorget_companies_with_pe_ratio- Filter by P/E ratio range
Governance & Leadership
get_company_directors- Board directors for a companyget_board_interlocks- Directors serving on multiple boardsget_directors_by_name- Search directors across all companies
Ownership Analysis
get_company_shareholders- Shareholder structure for a companyget_shareholder_overlap- Shareholders with stakes in multiple companiesget_top_shareholders_by_sector- Top shareholders by sector
Market Data
get_historical_prices- Historical OHLCV dataget_top_performers- Best/worst performers over period
News & Sentiment
get_recent_news- Latest news articles with sentimentget_news_by_sentiment- Filter news by sentiment (positive/negative/neutral)
Lobbying & Transparency
get_lobbying_meetings- EU lobbying meetings and activitiesget_most_active_lobbyists- Organizations with most lobbying activity
Advanced Analytics
get_network_analysis- Complete network analysis of governance relationshipsget_sector_correlation_analysis- Sector performance correlation analysis
⚡ ENHANCED AI-Powered Analysis
analyze_natural_query- Process complex natural language queries with intelligent routingcompare_companies- Multi-dimensional company comparison (financial, governance, performance)analyze_trends- Advanced trend analysis with forecasting (company, sector, market, correlation)assess_investment_risk- Comprehensive risk assessment (market, governance, sector, liquidity, concentration)generate_analyst_report- Professional analyst reports (company deep-dive, sector overview, governance analysis)screen_opportunities- Investment opportunity screening with custom criteria and scoring
Reporting
get_weekly_reports- Generated weekly market and governance reportsget_esg_scores- ESG scores and sustainability metrics
Custom Access
execute_custom_query- Execute custom SQL queries (SELECT only)
💡 Example Queries
Once connected, ask Claude natural language questions about IBEX 35 data:
Corporate Governance
"Show me all directors who serve on multiple IBEX 35 boards"
"Which directors have political backgrounds or government connections?"
"Find potential conflicts of interest in IBEX 35 corporate governance"
"Who are the most connected directors in the Spanish corporate network?"Financial Analysis
"What are the largest IBEX 35 companies by market capitalization?"
"Show me companies with P/E ratios below 15"
"Which energy sector companies are in IBEX 35?"
"Compare the performance of banking vs telecommunications stocks"Shareholder Intelligence
"Find institutional investors with holdings in multiple IBEX 35 companies"
"Show me the ownership structure of Banco Santander"
"Which companies have the most concentrated ownership?"
"Identify shareholder overlaps in the energy sector"Market Performance
"What are the best performing IBEX 35 stocks this month?"
"Show me companies that have dropped more than 10% recently"
"Compare sector performance across IBEX 35"
"Find undervalued companies based on P/E ratios"Research & Analysis
"Analyze the political connections within IBEX 35 boards"
"Show me recent news sentiment for renewable energy companies"
"Which companies have the most diverse boards?"
"Find companies with suspicious governance patterns"⚡ ENHANCED Natural Language Analysis
"Which banking stocks have grown most in the last month?"
"Show me companies with high governance risk and explain why"
"Compare Santander vs BBVA across all metrics"
"Find undervalued large-cap companies with good governance scores"
"Generate a comprehensive report on the energy sector outlook"
"What are the price trends for telecommunications stocks?"
"Assess the investment risks of the banking sector"
"Screen for opportunities: P/E under 15, market cap over 10B, exclude energy"Security
Read-only Access: Database connection is read-only
Query Restrictions: Only SELECT statements allowed in custom queries
Input Validation: All parameters are validated and sanitized
No Dangerous Operations: DROP, DELETE, UPDATE, etc. are blocked
Database Schema
The server works with a comprehensive schema including:
companies: Core company data and metrics
company_directors: Board and executive information
company_shareholders: Ownership structures
historical_prices: Daily OHLCV market data
company_news: News articles with sentiment analysis
lobbying_meetings: EU transparency and lobbying data
company_esg: ESG scores and sustainability metrics
weekly_reports: Generated analytical reports
Development
# Development mode with auto-reload
npm run dev
# Build TypeScript
npm run build
# Start production server
npm startContributing
This MCP server is designed to work with the IBEX 35 Dashboard ecosystem. Ensure any changes maintain compatibility with the existing database schema and sync processes.
📊 Data Sources
This MCP server aggregates data from authoritative Spanish sources:
Madrid Stock Exchange (BME) - Real-time market data and trading information
CNMV - Official regulatory filings and shareholder disclosures
EU Transparency Register - Corporate lobbying activities and meetings
Corporate Websites - Board compositions and governance structures
Financial News Sources - Market sentiment and company-specific news
🔒 Privacy & Security
No API keys required - Uses publicly available data sources
No personal data - Only publicly disclosed corporate information
No tracking - Direct API access without data collection
Open source - Full transparency in data processing and analysis
Read-only access - Cannot modify or delete any data
📈 Use Cases
Financial Professionals
Due diligence and investment research
Risk assessment through governance analysis
Market trend identification and sector analysis
Competitive intelligence and benchmarking
Academic Researchers
Corporate governance studies and analysis
Political economy research on Spain
Network analysis of corporate relationships
Financial market behavior studies
Compliance & Risk
Board independence verification
Political connection identification
Ownership concentration analysis
Governance red flag detection
Journalists & Analysts
Investigative research on corporate connections
Political influence mapping
Market analysis and reporting
Corporate transparency assessment
🛠 Troubleshooting
Claude doesn't recognize the server
Check config file location and JSON syntax
Restart Claude Desktop completely (⌘+Q, wait, reopen)
Verify Node.js version (18+) and installation
Installation issues
# Check Node.js version
node --version
# Clear npm cache if needed
npm cache clean --force
# Reinstall
npm install -g ibex35-mcp-serverAPI connectivity
The server uses public APIs - no authentication required. If you see errors:
# Test API accessibility
curl https://ibex35-api.ncdata.eu/api/companies🤝 Contributing
Contributions welcome! Areas for enhancement:
Additional data sources and metrics
Performance optimizations
New analytical capabilities
Documentation improvements
📄 License
MIT License - Free for commercial and non-commercial use.
🔗 Related Resources
IBEX 35 Dashboard - Interactive web interface
Model Context Protocol - Official MCP documentation
Claude Desktop - Download Claude Desktop app
PulseMCP - Discover more MCP servers
🌟 Support & Community
GitHub Issues: Report bugs and request features
GitHub Discussions: Community support and ideas
Web Dashboard: Try the data through the web interface
Model Recommendation: Works best with Claude 4 Sonnet
Made with ❤️ for the Claude and MCP community
Bringing Spanish corporate intelligence to AI assistants worldwide
Available Tools
27 toolsanalyze_natural_queryC
Process and execute complex natural language queries about companies, financials, governance, or markets
Inputs: query (required), context.
analyze_trendsC
Analyze trends in stock prices, market performance, or sector movements over time
Inputs: analysis_type (required), target (required), period, include_forecast.
assess_investment_riskC
Comprehensive risk assessment for companies or sectors including market, governance, and operational risks
Inputs: target (required), risk_types.
compare_companiesC
Compare multiple companies across various metrics (financial, governance, market performance)
Inputs: companies (required), metrics.
execute_custom_queryB
Execute a custom SQL query on the database (SELECT only)
Inputs: sql (required), params.
generate_analyst_reportC
Generate a comprehensive analyst report for a company, sector, or market theme
Inputs: subject (required), report_type (required), include_charts.
get_all_companiesB
Get all IBEX 35 companies with current prices and key metrics
Inputs: no named parameters.
get_board_interlocksA
Find directors who serve on multiple IBEX 35 company boards
Inputs: no named parameters.
get_companies_by_sectorC
Get companies filtered by sector
Inputs: sector (required).
get_companies_with_pe_ratioB
Get companies filtered by P/E ratio range
Inputs: minPE, maxPE.
get_company_by_symbolC
Get detailed information for a specific company by its stock symbol
Inputs: symbol (required).
get_company_directorsB
Get board directors for a specific company
Inputs: companyId (required).
get_directors_by_nameC
Search for directors by name across all companies
Inputs: name (required).
get_esg_scoresC
Get ESG (Environmental, Social, Governance) scores
Inputs: companyId.
get_historical_pricesB
Get historical price data for a company
Inputs: companyId (required), days.
get_lobbying_meetingsC
Get EU lobbying meetings, optionally filtered by company
Inputs: companyId, limit.
get_most_active_lobbyistsC
Get organizations with the most EU lobbying meetings
Inputs: limit.
get_network_analysisB
Get comprehensive network analysis of board interlocks and shareholder relationships
Inputs: no named parameters.
get_news_by_sentimentC
Get news articles filtered by sentiment
Inputs: sentiment (required), limit.
get_recent_newsB
Get recent news articles, optionally filtered by company
Inputs: companyId, limit.
get_sector_correlation_analysisC
Analyze sector performance correlations and market trends
Inputs: days.
get_top_performersC
Get top performing stocks over a specified period
Inputs: days, limit.
get_weekly_reportsB
Get generated weekly reports and analysis
Inputs: reportType, limit.
screen_opportunitiesC
Screen for investment opportunities based on specific criteria (value, growth, dividend, ESG, etc.)
Inputs: screening_criteria (required), limit.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 27 tools
The tools have clear individual purposes, but there is significant functional overlap that could cause confusion. For example, 'analyze_trends', 'get_sector_correlation_analysis', and 'get_weekly_reports' all involve trend analysis, while 'get_all_companies', 'get_companies_by_sector', and 'get_companies_with_pe_ratio' are variations of company filtering. Descriptions help differentiate, but the boundaries are not always distinct.
Most tools follow a consistent verb_noun pattern (e.g., 'get_company_directors', 'analyze_trends'), with clear action-oriented prefixes like 'get_', 'analyze_', or 'assess_'. However, there are minor deviations such as 'execute_custom_query' (which uses 'execute' instead of 'get') and 'screen_opportunities' (which uses 'screen' as a verb), slightly breaking the pattern but remaining readable.
With 27 tools, the set feels overly heavy and potentially redundant for the IBEX 35 financial analysis domain. Many tools could be consolidated (e.g., multiple 'get_' queries for companies), leading to a bloated interface that may overwhelm agents and increase misselection risk, despite the broad scope.
The tool surface is highly complete for financial and governance analysis of IBEX 35 companies. It covers data retrieval (e.g., company info, prices, news), analysis (e.g., trends, risk, reports), and screening (e.g., opportunities), with no obvious gaps. Agents can perform comprehensive workflows from basic queries to advanced analytics without dead ends.
Maintenance
Related MCP Connectors
Detect causal dependencies in time series
Market sizing, prices, rents, crime and locations in Spain from INE and other public data
Spanish company registry (BORME): companies, directors, how they connect. Needs a free account.
Market phase transition signals for HS300 and BTC via MCP
Related MCP Servers
AlicenseAqualityCmaintenanceReal-time financial narrative tracking for AI agents — clustering news into structured narratives, measuring sentiment momentum, and mapping portfolio risk across 109 US equities.22Apache 2.0- AlicenseNot gradedqualityDmaintenanceEnables querying Mexican stock market data (BMV, BIVA) including issuers, intraday quotes, historical prices, financials, indices, rates, currencies, commodities, and news through natural language.4MIT
- FlicenseNot gradedqualityDmaintenanceEnables financial analysis by fetching real market data from Yahoo Finance, computing moving averages, returns, and volatility, and generating price charts.-
- AlicenseAqualityBmaintenanceGlobal stock search, preset screens, price history and technicals, dated company news, UCITS ETF/ISIN research, company risk and macro. Public research needs no API key; sign in for personal portfolios. Coverage and freshness are explicit.48MIT