Skip to main content
Glama
ibex35-mcp
by anbrme

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-server

Option 2: From Source

git clone https://github.com/anbrme/ibex35-mcp-server.git
cd ibex35-mcp-server
npm install
npm run build

Configuration

Environment Variables

  • IBEX35_API_URL: URL to your Cloudflare Worker API (defaults to https://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 start

Claude 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.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Start Using

  1. Restart Claude Desktop completely

  2. Start a new conversation

  3. Ask questions about IBEX 35 data!

Available Tools

Company Data

  • get_all_companies - List all IBEX 35 companies with current data

  • get_company_by_symbol - Detailed company information by symbol

  • get_companies_by_sector - Filter companies by sector

  • get_companies_with_pe_ratio - Filter by P/E ratio range

Governance & Leadership

  • get_company_directors - Board directors for a company

  • get_board_interlocks - Directors serving on multiple boards

  • get_directors_by_name - Search directors across all companies

Ownership Analysis

  • get_company_shareholders - Shareholder structure for a company

  • get_shareholder_overlap - Shareholders with stakes in multiple companies

  • get_top_shareholders_by_sector - Top shareholders by sector

Market Data

  • get_historical_prices - Historical OHLCV data

  • get_top_performers - Best/worst performers over period

News & Sentiment

  • get_recent_news - Latest news articles with sentiment

  • get_news_by_sentiment - Filter news by sentiment (positive/negative/neutral)

Lobbying & Transparency

  • get_lobbying_meetings - EU lobbying meetings and activities

  • get_most_active_lobbyists - Organizations with most lobbying activity

Advanced Analytics

  • get_network_analysis - Complete network analysis of governance relationships

  • get_sector_correlation_analysis - Sector performance correlation analysis

⚡ ENHANCED AI-Powered Analysis

  • analyze_natural_query - Process complex natural language queries with intelligent routing

  • compare_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 reports

  • get_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 start

Contributing

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

  1. Check config file location and JSON syntax

  2. Restart Claude Desktop completely (⌘+Q, wait, reopen)

  3. 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-server

API 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.

🌟 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 tools
analyze_natural_queryC

Process and execute complex natural language queries about companies, financials, governance, or markets

Inputs: query (required), context.

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_company_shareholdersC

Get shareholders 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_shareholder_overlapB

Find shareholders who own stakes in multiple IBEX 35 companies

Inputs: no named parameters.

get_top_performersC

Get top performing stocks over a specified period

Inputs: days, limit.

get_top_shareholders_by_sectorC

Get top shareholders in a specific sector

Inputs: sector (required), 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

    B3/5.0

    Scored across 27 tools

    Disambiguation3/5

    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.

    Naming Consistency4/5

    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.

    Tool Count2/5

    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.

    Completeness5/5

    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

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      C
      maintenance
      Real-time financial narrative tracking for AI agents — clustering news into structured narratives, measuring sentiment momentum, and mapping portfolio risk across 109 US equities.
      2
      2
      Apache 2.0
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables querying Mexican stock market data (BMV, BIVA) including issuers, intraday quotes, historical prices, financials, indices, rates, currencies, commodities, and news through natural language.
      4
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables financial analysis by fetching real market data from Yahoo Finance, computing moving averages, returns, and volatility, and generating price charts.
      -
    • A
      license
      A
      quality
      B
      maintenance
      Global 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.
      48
      MIT