MCP Hub
Back to servers

estonia-ai-kit

πŸ‡ͺπŸ‡ͺ AI SDK for Estonian government services - including MCP servers for Business Register, Tax Board, Open Data Portal. Connect Claude, GPT & other AI models to Estonia's digital infrastructure.

Stars
6
Forks
1
Tools
1
Updated
Jan 5, 2026
Validated
Jan 9, 2026

🏰 Estonia AI Kit πŸ‡ͺπŸ‡ͺ

Estonia AI Kit

Photo by Ilya Orehov on Unsplash, modified with AI

πŸ‡ͺπŸ‡ͺ The Digital Nation's AI Toolkit

Build AI-powered applications with Estonia's world-leading digital infrastructure

License: AGPL v3 TypeScript Claude Desktop VS Code X-Road Nx Documentation PRs Welcome

[!NOTE] This is a community-driven open source project and is not affiliated with, endorsed by, or connected to the Estonian government or any official Estonian institutions.

🌍 The Estonian Digital Revolution

Picture this: A country where 99% of government services are online. Where you can establish a company in 18 minutes. Where blockchain secures healthcare records, and every citizen has a digital identity that works seamlessly across all services. This isn't science fictionβ€”this is Estonia today.

Since the early 1990s, Estonia has transformed itself into one of the world's most digitally advanced societies. Starting fresh with modern infrastructure and forward-thinking policies, the country built its services digital-first from the ground up. Today, Estonia stands as a model for digital governance:

  • 3 minutes to file taxes online (with 98% of citizens doing so) 1
  • 2% of GDP saved annually through digital governance 2
  • 120,000+ e-Residents from 170+ countries running EU companies remotely 3
  • 99.9% of banking transactions happen online 4
  • X-Road data exchange platform processes 900+ million transactions yearly 5

πŸ“– What is Estonia AI Kit?

Estonia AI Kit connects your AI applications directly to Estonian government services, open data, and digital infrastructure. This SDK provides everything you need to build MCP servers for Claude, create data pipelines, develop analytical tools, or integrate with X-Road services.

The toolkit follows Estonia's core digital principles: transparent APIs, comprehensive documentation, and reliable infrastructure. Every component is fully typed, thoroughly tested, and production-ready.

🎯 What is MCP?

Model Context Protocol (MCP) is an open protocol that standardizes how AI applications connect with external data sources and tools. Estonia AI Kit implements MCP servers for various Estonian government services, making them accessible to AI models like Claude, GPT, and others.

[!IMPORTANT] This project is constantly evolving as we work to integrate more Estonian government services and improve existing implementations. Current functionality varies by package:

PackageStatusData SourceReady for Use?
RIK (Business Register)πŸ”Ά WIPReal open data files (daily snapshots)πŸ”Ά Partial - requires data download
EMTA (Tax & Customs)πŸ”΄ POCMock data (POC demonstration)πŸ”΄ No - X-Road auth needed
Open Data PortalπŸ”Ά WIPStatistics Estonia API (real data)πŸ”Ά Partial - curated tables only

For RIK Package Users:

  1. Run bun run download-data in the RIK package to fetch real data files
  2. Data is from daily snapshots (not real-time)
  3. Personal ID numbers are removed for privacy (since Nov 2024)

This is experimental software intended for:

  • Learning and experimentation
  • Development reference
  • Community contribution
  • Testing MCP server implementations

For development/experimental purposes only.

⚑ Technical Stack

Built with modern TypeScript and the Model Context Protocol (MCP) SDK:

ComponentTechnologyPurpose
MCP ServersTypeScript, @modelcontextprotocol/sdkAI assistant integration
API ClientsAxios, native fetchHTTP/REST communication
Data ProcessingCSV parsing, JSON streamingHandle large datasets efficiently
Cachingnode-cacheReduce API calls and improve performance
Type SafetyTypeScript strict modeFull type coverage for reliability
MonorepoNx workspaceConsistent tooling and code sharing

πŸ“¦ Packages

PackageDescriptionNPMStatus
@estonia-ai-kit/rik-mcp-serverEstonian Business Register APInpmπŸ”Ά WIP
@estonia-ai-kit/emta-mcp-serverTax and Customs Board APInpmπŸ”΄ POC
@estonia-ai-kit/open-data-mcp-serverOpen Data Portal APInpmπŸ”Ά WIP
@estonia-ai-kit/sharedShared utilities and typesnpmβœ… Ready
rag/riigiteatajaEstonian Legal Document RAGN/AπŸ”Ά WIP

πŸ› οΈ Installation

Using Bun (Recommended)

bun add @estonia-ai-kit/rik-mcp-server
bun add @estonia-ai-kit/emta-mcp-server
bun add @estonia-ai-kit/open-data-mcp-server

Using npm

npm install @estonia-ai-kit/rik-mcp-server
npm install @estonia-ai-kit/emta-mcp-server
npm install @estonia-ai-kit/open-data-mcp-server

🚦 Quick Start

1. Configure MCP in Claude Desktop

Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "estonia-rik": {
      "command": "node",
      "args": ["/path/to/estonia-ai-kit/mcp/rik/dist/index.js"]
    },
    "estonia-emta": {
      "command": "node",
      "args": ["/path/to/estonia-ai-kit/mcp/emta/dist/index.js"]
    },
    "estonia-open-data": {
      "command": "node",
      "args": ["/path/to/estonia-ai-kit/mcp/open-data/dist/index.js"]
    }
  }
}

Note: Run npm run build in each MCP directory before first use.

2. Use in Your AI Application

import { RIKClient } from '@estonia-ai-kit/rik-mcp-server';

const client = new RIKClient();
const company = await client.searchCompany({
  registryCode: '10000000',
});

πŸ”— Estonian Government Resources

πŸ§‘β€πŸ’» Development

Prerequisites

  • Node.js
  • Bun
  • TypeScript

Setup

# Clone the repository
git clone https://github.com/yourusername/estonia-ai-kit.git
cd estonia-ai-kit

# Install dependencies
bun install

# Build all packages
bun run build

# Run tests
bun run test

# Start development mode
bun run dev

Project Structure

estonia-ai-kit/
β”œβ”€β”€ mcp/                    # MCP server packages
β”‚   β”œβ”€β”€ rik/               # Business Register server
β”‚   β”œβ”€β”€ emta/              # Tax & Customs server
β”‚   └── open-data/         # Open Data Portal server
β”œβ”€β”€ packages/              # Shared packages
β”‚   └── shared/           # Common utilities and types
β”‚       └── src/
β”‚           └── mcp/      # MCP-specific utilities
β”œβ”€β”€ .github/              # GitHub workflows
└── docs/                 # Documentation

πŸ§ͺ Testing

Each package includes comprehensive tests:

# Run all tests
bun run test

# Run tests for specific package from root
npx nx test rik-mcp-server
npx nx test emta-mcp-server
npx nx test open-data-mcp-server
npx nx test shared

# Run tests for affected packages only
npx nx affected --target=test

# Watch mode for specific package
npx nx test rik-mcp-server --watch

# Run with coverage
npx nx test rik-mcp-server --coverage

🀝 Contributing

PRs and issues welcome.

Fork β†’ Branch β†’ Commit β†’ Push β†’ PR

βš–οΈ License

This open-source project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). This means:

  • βœ… You can use, modify, and distribute this software
  • βœ… If you modify and distribute it, you must release your changes under AGPL-3.0
  • βœ… If you run a modified version on a server, you must provide the source code to users
  • πŸ“„ See the LICENSE file for full details

For commercial licensing options or other licensing inquiries, please contact stefano@amorelli.tech.


Copyright Β© 2025 Stefano Amorelli
Released under the GNU Affero General Public License v3.0
amorelli.tech β€’ stefano@amorelli.tech

Made with ❀️ in Tallinn for Estonia's digital future πŸ‡ͺπŸ‡ͺ
Enjoy! πŸŽ‰

Reviews

No reviews yet

Sign in to write a review