reuvenaor

Israel Statistics MCP Server

Community reuvenaor
Updated

Israel Statistics MCP

Israel Statistics MCP Server

A Model Context Protocol (MCP) server that provides programmatic access to the Israeli Central Bureau of Statistics (CBS) price indices and economic data. Built with TypeScript, this server offers 8 comprehensive tools for retrieving, analyzing, and calculating Israeli economic statistics.

๐Ÿณ Installation & Usage

Docker (Recommended)

// .mcp.json
{
  "israel-statistics-mcp": {
    "command": "docker",
    "args": ["run", "--rm", "-i", "reuvenaor/israel-statistics-mcp:latest"]
  }
}

NPX

// .mcp.json
{
  "israel-statistics-mcp": {
    "command": "npx",
    "args": ["@reuvenorg/israel-statistics-mcp"]
  }
}

Claude Desktop Integration

# Quick setup
claude mcp add --scope project israel-statistics-mcp npx @reuvennaor85/israel-statistics-mcp

๐Ÿš€ Features

๐Ÿ“Š Comprehensive Economic Data Access

  • Consumer Price Index (CPI) - General and detailed price indices
  • Housing Market Index - Real estate prices with bi-monthly updates
  • Producer Price Indices - Industrial, exports, and services
  • Specialized Indices - Construction, agriculture, transportation, and more
  • Price Linkage Calculator - Inflation adjustment calculations

๐Ÿ›ก๏ธ Enterprise-Grade Architecture

  • Type-Safe Validation - Complete Zod schema validation for all inputs/outputs
  • Rate Limiting - Built-in protection (5 concurrent operations max)
  • Error Handling - Comprehensive CBS API error handling and retry logic
  • Multi-Format Support - JSON and XML response parsing
  • Housing Market Warnings - Automatic notifications for bi-monthly provisional data

๐Ÿ”„ Advanced Data Processing

  • XML/JSON Transformation - Seamless conversion from CBS API formats
  • Statistical Calculations - Automatic averages, counts, and summaries
  • Date Range Filtering - Flexible period selection (monthly/quarterly)
  • Search & Discovery - Full-text search across indices and topics
  • Pagination Support - Handle large datasets efficiently (up to 1000 items/page)

๐Ÿ“‹ Available MCP Tools

Tool Description Key Parameters
get_index_topics Browse all available index categories and topics period, searchText, lang
get_catalog_chapters Get all index chapters (CPI, Housing, etc.) lang, pagesize
get_chapter_topics Get topics within a specific chapter chapterId, lang
get_subject_codes Get index codes for a specific topic subjectId, searchText
get_index_data Retrieve historical price data for an index code, startPeriod, endPeriod
get_index_calculator Calculate inflation-adjusted values indexCode, value, fromDate, toDate
get_main_indices Get current main economic indices oldFormat, lang
get_all_indices Get comprehensive index data with filtering chapter, oldFormat

๐Ÿ—๏ธ Architecture

src/
โ”œโ”€โ”€ index.ts                    # MCP server entry point with tool registration
โ”œโ”€โ”€ mcp/
โ”‚   โ”œโ”€โ”€ handlers/              # 8 MCP tool handlers
โ”‚   โ”‚   โ”œโ”€โ”€ getIndexTopics.ts     # Browse available indices
โ”‚   โ”‚   โ”œโ”€โ”€ getCatalogChapters.ts # Get index chapters
โ”‚   โ”‚   โ”œโ”€โ”€ getChapterTopics.ts   # Topics by chapter
โ”‚   โ”‚   โ”œโ”€โ”€ getSubjectCodes.ts    # Index codes by topic
โ”‚   โ”‚   โ”œโ”€โ”€ getIndexData.ts       # Historical price data
โ”‚   โ”‚   โ”œโ”€โ”€ getIndexCalculator.ts # Inflation calculator
โ”‚   โ”‚   โ”œโ”€โ”€ getMainIndices.ts     # Main indices (current + by period)
โ”‚   โ”‚   โ””โ”€โ”€ getAllIndices.ts      # All indices with filtering
โ”‚   โ””โ”€โ”€ helpers/
โ”‚       โ”œโ”€โ”€ fetcher.ts            # Secure CBS API client with XML/JSON parsing
โ”‚       โ””โ”€โ”€ housingWarnings.ts    # Housing market data warnings
โ”œโ”€โ”€ schemas/                   # Type-safe Zod validation schemas
โ”‚   โ”œโ”€โ”€ request.schema.ts         # Input validation schemas
โ”‚   โ”œโ”€โ”€ response.schema.ts        # Output validation schemas
โ”‚   โ”œโ”€โ”€ base.schema.ts           # Reusable object schemas
โ”‚   โ””โ”€โ”€ shared.schema.ts                # Common enums and types
โ””โ”€โ”€ utils/
    โ”œโ”€โ”€ registry-security.ts      # Security utilities
    โ””โ”€โ”€ spinner.ts               # MCP progress notifications

๐Ÿ”’ Security Features

  • Rate Limiting: Maximum 5 concurrent operations
  • Input Validation: Comprehensive Zod schema validation
  • URL Validation: Allowlist-based registry URL security
  • Error Sanitization: Safe error message handling
  • Timeout Protection: 30-second HTTP request timeouts

๐Ÿ“ Schema Architecture

๐Ÿ“Š CBS API Coverage

The server implements complete coverage of the CBS Israel Statistics API:

Index Discovery Endpoints

  • GET /index/catalog/tree โ†’ get_index_topics
  • GET /index/catalog/catalog โ†’ get_catalog_chapters
  • GET /index/catalog/chapter โ†’ get_chapter_topics
  • GET /index/catalog/subject โ†’ get_subject_codes

Data Retrieval Endpoints

  • GET /index/data/price โ†’ get_index_data
  • GET /index/data/calculator/{id} โ†’ get_index_calculator
  • GET /index/data/price_selected โ†’ get_main_indices
  • GET /index/data/price_selected_b โ†’ get_main_indices_by_period
  • GET /index/data/price_all โ†’ get_all_indices

Supported Index Categories

Chapter Description Examples
a Consumer Price Index Food, clothing, housing costs
aa Housing Market Index Real estate prices (bi-monthly)
b Producer Price Index - Industrial Manufacturing output prices
ba Producer Price Index - Exports Export prices for industry
bb Producer Price Index - Services Service industry prices
c Residential Building Input Construction material costs
ca Commercial Building Input Office building costs
d Road Construction Input Infrastructure costs
e Agriculture Input Agricultural input costs
f Bus Input Public transportation costs
fa Public Minibus Input Public transport vehicle costs

โš ๏ธ Housing Price Index Special Considerations

The server automatically detects and warns about Housing Price Index data:

  • Bi-monthly Publication: Updates every 2 months vs. monthly for other indices
  • Temporal Lag: Data reflects transactions from 2-3 months ago vs. 3-4 months ago
  • Provisional Data: Last 3 indices may be updated when additional reports arrive
  • Linkage Warnings: Automatic recommendations against using provisional periods

๐Ÿงช Testing & Quality Assurance

Comprehensive Test Suite

  • Unit Tests: Complete handler coverage with Vitest
  • Integration Tests: Real CBS API integration tests
  • Mock Testing: Isolated handler testing with mocked dependencies
  • Error Handling: Network error and API error simulation
  • Schema Validation: Input/output validation testing

Code Quality Tools

  • TypeScript: Strict type checking with no any types
  • ESLint: Modern flat config with TypeScript rules
  • Prettier: Consistent code formatting
  • Zod: Runtime type validation and inference

Development Commands

# Development
pnpm dev              # Watch mode development
pnpm build           # Production build
pnpm typecheck       # TypeScript validation

# Testing
pnpm test            # Run all tests
pnpm test:dev        # Development mode testing

# Quality
pnpm lint            # Lint code
pnpm lint:fix        # Fix linting issues
pnpm format:check    # Check formatting
pnpm format:write    # Apply formatting

# Docker
docker build -t reuvenaor/israel-statistics-mcp:latest -f Dockerfile .

๐Ÿ”ง Development

Project Structure

  • TypeScript ESM: Modern ES modules with TypeScript
  • pnpm: Fast, efficient package management
  • tsup: Fast TypeScript bundler with ESM output
  • Docker: Multi-stage builds for optimized containers
  • Vitest: Fast unit testing framework

Key Dependencies

  • @modelcontextprotocol/sdk: MCP server implementation
  • zod: Type-safe validation and schema inference
  • node-fetch: HTTP client for CBS API calls
  • xml2js: XML response parsing
  • typescript: Type system and compilation

Configuration Files

  • tsconfig.json: TypeScript configuration with strict settings
  • eslint.config.js: Modern ESLint flat configuration
  • prettier.config.cjs: Code formatting rules
  • vitest.config.ts: Test framework configuration
  • tsup.config.ts: Build tool configuration
  • Dockerfile: Multi-stage container build

๐Ÿ“ˆ Performance & Scalability

  • Rate Limiting: 5 concurrent operations maximum
  • Efficient Parsing: Optimized XML/JSON transformation
  • Memory Management: Streaming for large datasets
  • Caching: Schema validation caching
  • Error Recovery: Graceful degradation and retry logic

๐Ÿ“ API Response Examples

Index Topics Discovery

// Input
{ lang: "en", searchText: "housing", period: "M" }

// Output
{
  topics: [
    {
      chapterId: "aa",
      chapterName: "Housing Market Index",
      subject: [
        {
          subjectId: 123,
          subjectName: "Apartment Prices",
          code: [
            {
              codeId: 180010,
              codeName: "Housing Price Index - General"
            }
          ]
        }
      ]
    }
  ],
  summary: "Found 15 index codes. โš ๏ธ Housing Price Index: This is a bi-monthly index..."
}

Price Linkage Calculation

// Input
{
  indexCode: 120010,
  value: 1000,
  fromDate: "01-01-2020",
  toDate: "01-01-2024"
}

// Output
{
  request: { code: 120010, sum: 1000, from_date: "2020-01-01", to_date: "2024-01-01" },
  answer: {
    from_value: 1000,
    to_value: 1155.2,
    change_percent: 15.52,
    base_year: "2022"
  },
  summary: "Linked 1000 from 2020-01-01 to 2024-01-01: 1155.2 (15.52% change)"
}

๐Ÿ“„ License

MIT License - see LICENSE file for details.

๐Ÿ”— Links

Built with โค๏ธ for the Israeli tech community and economic research

MCP Server ยท Populars

MCP Server ยท New

    PSU3D0

    agent-spreadsheet

    MCP server for spreadsheet analysis and editing. Slim, token-efficient tool surface designed for LLM agents.

    Community PSU3D0
    pitiflautico

    NeoBrowser

    MCP server that drives real Chrome with your real logged-in sessions โ€” genuine fingerprint (passes bot.sannysoft), human-like input, bot-wall aware. 43 tools, single static Rust binary.

    Community pitiflautico
    aeonfun

    Aeon MCP Server

    The most autonomous AI agent framework: runs unattended on GitHub Actions, self-healing skills, drives Claude Code, Grok, Codex & more. No approval loops. Configure once, forget forever.

    Community aeonfun
    nhadaututtheky

    NeuralMemory

    NeuralMemory stores experiences as interconnected neurons and recalls them through spreading activation, mimicking how the human brain works. Instead of searching a database, memories are retrieved through associative recall - activating related concepts until the relevant memory emerges.

    Community nhadaututtheky
    norrietaylor

    Distillery

    Team knowledge evaporates daily โ€” pairing sessions, debugging context, architectural rationale lost to Slack. Distillery captures it at the point of creation, connects it into a living graph, and surfaces it conversationally. It monitors feeds, tracks what matters to your projects, and alerts you before you know to ask. A team brain that learns.

    Community norrietaylor