Baarn Raadsinformatie MCP Server
Integrates with GitHub Copilot to provide access to Baarn council documents and meetings via MCP tools.
Supports JetBrains IDEs through Continue.dev to leverage the MCP server for political document and meeting queries.
Connects Ollama to the MCP server for retrieving and managing Baarn council information.
Enables OpenAI Codex CLI to use the MCP server for interacting with Baarn municipal council data.
Click on "Install 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., "@Baarn Raadsinformatie MCP Serverwat is de status van het bestemmingsplan Buitengebied?"
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.
Baarn Raadsinformatie MCP Server
Een Model Context Protocol (MCP) server die AI-assistenten toegang geeft tot politieke documenten en vergaderingen van de gemeente Baarn via de Notubiz API.
Features
15 MCP Tools - Vergaderingen, documenten, zoeken, annotaties
24 AI Agents - Gespecialiseerde prompts voor verschillende taken
MCP Resources - Directe toegang tot vergadering- en documentdata
Semantic Search - AI-gebaseerd zoeken met embeddings
Automatische Sync - Achtergrond synchronisatie met Notubiz API
Docker Support - Containerized deployment
Related MCP server: OParl MCP Server
Snel Starten
One-Liner Installatie (Aanbevolen)
De snelste manier om te installeren - één commando en alles wordt automatisch geregeld:
Linux / macOS:
curl -fsSL https://raw.githubusercontent.com/tiemenrtuinstra/baarn-raadsinformatie/main/install.sh | bashWindows (PowerShell als Administrator):
irm https://raw.githubusercontent.com/tiemenrtuinstra/baarn-raadsinformatie/main/install.ps1 | iexInstallatie via Git Clone
Als je de broncode wilt bewerken of meer controle wilt over de installatie:
Windows:
git clone https://github.com/tiemenrtuinstra/baarn-raadsinformatie.git
cd baarn-raadsinformatie
.\scripts\install.ps1 # Volledige installatie
.\scripts\install.ps1 -LightBuild # Zonder embeddings (kleinere image)
.\scripts\install.ps1 -SkipDocker # Skip Docker installatie
.\scripts\install.ps1 -SkipClaude # Skip Claude Desktop/CLI installatiemacOS/Linux:
git clone https://github.com/tiemenrtuinstra/baarn-raadsinformatie.git
cd baarn-raadsinformatie
./scripts/install.sh
./scripts/install.sh --light # Lichtgewicht build
./scripts/install.sh --skip-docker # Skip Docker check
./scripts/install.sh --skip-claude # Skip Claude Desktop/CLI installatieWat doet de installer?
Docker - Installeert Docker Desktop indien nodig
Environment - Maakt
.envbestand met unieke API keyBuild - Bouwt Docker images (~3.5GB of ~1.5GB light)
Claude (optioneel, skip met
--skip-claude) - Installeert Claude indien nodig:Windows/macOS: Claude Desktop (via winget/brew of directe download)
Linux/Chromebook: Claude Code CLI (via npm)
Dependencies: Node.js wordt automatisch geïnstalleerd indien nodig voor CLI
AI Tools - Detecteert en configureert (14 tools):
Claude Desktop
Claude Code CLI
OpenAI Codex CLI
Cursor IDE
Continue.dev (VS Code/JetBrains)
Cline (Claude Dev) voor VS Code
Aider CLI
Zed Editor
Windsurf
Ollama
GitHub Copilot
Microsoft Copilot Studio
Start - Start API server en sync service
Chromebook / ChromeOS Support
De installer werkt ook op Chromebooks met Linux (Crostini) ondersteuning:
# Open de Linux terminal op je Chromebook en voer uit:
curl -fsSL https://raw.githubusercontent.com/tiemenrtuinstra/baarn-raadsinformatie/main/install.sh | bashOpmerkingen:
Claude Desktop is niet beschikbaar voor Linux/ChromeOS
De installer installeert automatisch Claude Code CLI via npm als alternatief
Node.js wordt automatisch geïnstalleerd indien nodig
Gebruik
--skip-claudeom Claude installatie over te slaanDocker moet beschikbaar zijn in je Linux container
Services beheren
# Windows
.\scripts\start.ps1 # Start services
.\scripts\start.ps1 -Stop # Stop services
.\scripts\start.ps1 -Logs # Bekijk logs
.\scripts\start.ps1 -Restart # Herstart
# macOS/Linux
./scripts/start.sh start # Start services
./scripts/start.sh stop # Stop services
./scripts/start.sh logs # Bekijk logs
./scripts/start.sh status # Toon statusHandmatige Installatie
Als je liever handmatig installeert:
# Clone repository
git clone https://github.com/tiemenrtuinstra/baarn-raadsinformatie.git
cd baarn-raadsinformatie
# Kopieer environment file
cp .env.example .env
# Bouw en start met Docker
docker compose build
docker compose up -d api-server sync-serviceClaude Desktop Configuratie
Na installatie is Claude Desktop automatisch geconfigureerd. Handmatig toevoegen aan %APPDATA%\Claude\claude_desktop_config.json (Windows) of ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"baarn-raadsinformatie": {
"command": "docker",
"args": ["run", "-i", "--rm", "--env-file", "/pad/naar/project/.env",
"-v", "/pad/naar/project/data:/app/data",
"baarn-raadsinformatie:latest"]
}
}
}Herstart Claude Desktop en de MCP server is beschikbaar.
Architectuur
baarn-raadsinformatie/
├── mcp_server.py # MCP server entry point
├── api_server.py # REST API server (FastAPI)
├── sync_service.py # Background sync service
├── agents/ # AI agent definities (YAML)
├── analyzers/ # Analyse modules
├── configs/ # Configuratie bestanden
│ ├── openapi.json # OpenAPI schema
│ └── copilot-studio-connector.json
├── core/ # Core modules
│ ├── config.py # Configuratie
│ ├── database.py # SQLite database (WAL mode)
│ └── document_index.py # Embeddings index
├── data/ # Data directory (niet in git)
│ ├── baarn.db # SQLite database
│ ├── cache/ # API cache
│ ├── documents/ # PDF downloads
│ └── images/ # Geëxtraheerde afbeeldingen
├── providers/ # Data providers
│ ├── notubiz_client.py # Notubiz API client
│ ├── meeting_provider.py # Vergaderingen
│ ├── document_provider.py# Documenten + OCR
│ └── ... # Overige providers
├── scripts/ # Scripts
│ ├── install.sh/ps1 # Installatie scripts
│ ├── start.sh/ps1 # Start scripts
│ └── ... # Utility scripts
├── shared/ # Gedeelde utilities
│ ├── logging_config.py # Logging
│ └── cli_progress.py # CLI progress bars
└── tools/ # MCP tool definitiesMCP Tools
Tool | Beschrijving |
| Vergaderingen ophalen met filters |
| Details van een vergadering |
| Agendapunten ophalen |
| Document met inhoud ophalen |
| Keyword zoeken |
| AI zoeken op betekenis |
| Data synchroniseren |
| Notities toevoegen |
| Notities ophalen |
| Commissies ophalen |
| Database statistieken |
| Coalitieakkoord info |
| Coalitie-afspraak updaten |
| Werkbezoek-verslag toevoegen (upload) |
| Werkbezoek-verslagen aanmaken uit documenten |
| Werkbezoek-verslagen lijst |
| Werkbezoek-verslag details |
| Zoeken in werkbezoek-verslagen |
| Werkbezoek-verslag bijwerken |
| Werkbezoek-verslag archiveren |
| Verslag koppelen aan vergadering |
| Verslagdocumenten indexeren |
AI Agents
De server bevat 24 gespecialiseerde agents:
Analyse & Onderzoek
vergadering-analist- Analyseert vergaderingenstemgedrag-analist- Analyseert stempatronendocument-zoeker- Doorzoekt documentenbeleids-onderzoeker- Onderzoekt beleid
Monitoring & Tracking
besluit-tracker- Volgt besluitenmotie-tracker- Volgt moties/amendemententoezeggingen-tracker- Volgt toezeggingencoalitie-monitor- Volgt coalitieakkoord
Assistentie
raadslid-assistent- Ondersteunt raadsledenburger-informant- Informeert burgersjournalist-assistent- Ondersteunt journalistenwoo-assistent- Helpt bij Woo-verzoeken
Zie agents/README.md voor volledige lijst
Docker Deployment
# Build en start
docker compose up -d
# Bekijk logs
docker compose logs -f
# Stop
docker compose downDe sync service synchroniseert automatisch elke 6 uur.
Claude Code CLI Configuratie
De MCP server werkt met de Claude Code CLI (Anthropic's CLI tool). De installer registreert automatisch de MCP server als Claude Code CLI gedetecteerd wordt.
Handmatig registreren:
# Voeg MCP server toe aan Claude Code
claude mcp add baarn-raadsinformatie -- docker run -i --rm \
--env-file "/pad/naar/baarn-raadsinformatie/.env" \
-v "/pad/naar/baarn-raadsinformatie/data:/app/data" \
-v "/pad/naar/baarn-raadsinformatie/logs:/app/logs" \
baarn-raadsinformatie:latest
# Bekijk geconfigureerde MCP servers
claude mcp list
# Start Claude Code sessie met MCP tools
claude
> wat zijn de vergaderingen van deze week in Baarn?OpenAI Codex CLI Configuratie
De MCP server werkt ook met de OpenAI Codex CLI. De installer registreert automatisch de MCP server als Codex CLI gedetecteerd wordt.
Handmatig registreren:
# Voeg MCP server toe aan Codex
codex mcp add baarn-raadsinformatie -- docker run -i --rm \
--env-file "/pad/naar/baarn-raadsinformatie/.env" \
-v "/pad/naar/baarn-raadsinformatie/data:/app/data" \
-v "/pad/naar/baarn-raadsinformatie/logs:/app/logs" \
baarn-raadsinformatie:latest
# Bekijk geconfigureerde MCP servers
codex mcp list
# Test de server
codex
> wat zijn de vergaderingen van deze week in Baarn?De server is dan beschikbaar als MCP tooling binnen CLI sessies.
Cursor IDE Configuratie
Cursor IDE ondersteunt MCP native. De configuratie staat in .cursor/mcp.json:
{
"mcpServers": {
"baarn-raadsinformatie": {
"command": "docker",
"args": ["run", "-i", "--rm", "--env-file", ".env",
"-v", "./data:/app/data", "baarn-raadsinformatie:latest"]
}
}
}Continue.dev Configuratie
Voor Continue.dev (VS Code/JetBrains), zie .continue/config.json:
{
"experimental": {
"modelContextProtocolServers": [{
"transport": {
"type": "stdio",
"command": "docker",
"args": ["run", "-i", "--rm", "--env-file", ".env",
"-v", "./data:/app/data", "baarn-raadsinformatie:latest"]
}
}]
}
}Cline (Claude Dev) Configuratie
Cline is een VS Code extensie voor AI-assisted coding. Configuratie in .vscode/settings.json:
{
"cline.mcpServers": {
"baarn-raadsinformatie": {
"command": "docker",
"args": ["run", "-i", "--rm", "--env-file", "${workspaceFolder}/.env",
"-v", "${workspaceFolder}/data:/app/data",
"baarn-raadsinformatie:latest"]
}
}
}Installeer de Cline extensie in VS Code.
Aider Configuratie
Aider is een CLI tool voor AI-assisted coding. Configuratie in .aider.conf.yml:
model: claude-3-5-sonnet-20241022
edit-format: diff
auto-commits: true
# Context bestanden
read:
- README.md
- progress.mdInstalleer en gebruik:
pip install aider-chat
cd baarn-raadsinformatie
aider
# Vraag om context via API
/run curl -s http://localhost:8000/api/meetings?limit=5Zed Editor Configuratie
Zed Editor heeft native MCP support. Configuratie in .zed/settings.json:
{
"context_servers": {
"baarn-raadsinformatie": {
"command": {
"path": "docker",
"args": ["run", "-i", "--rm", "--env-file", ".env",
"-v", "./data:/app/data", "baarn-raadsinformatie:latest"]
}
}
},
"assistant": {
"default_model": {
"provider": "anthropic",
"model": "claude-3-5-sonnet-20241022"
}
}
}Download Zed van zed.dev.
Windsurf Configuratie
Windsurf is een AI-first code editor. Configuratie in .windsurf/mcp.json:
{
"mcpServers": {
"baarn-raadsinformatie": {
"command": "docker",
"args": ["run", "-i", "--rm", "--env-file", "${workspaceFolder}/.env",
"-v", "${workspaceFolder}/data:/app/data",
"baarn-raadsinformatie:latest"]
}
}
}Cascade configuratie in .windsurf/cascade.json bevat custom commands voor vergaderingen en documenten zoeken.
Microsoft Copilot Studio
Importeer configs/copilot-studio-connector.json als Custom Connector:
Ga naar Power Platform Admin Center
Maak een Custom Connector met de OpenAPI spec
Vervang
YOUR_API_HOSTmet je publieke API URL
Ollama (Lokale LLM)
Zie docs/ollama-integration.md voor integratie met lokale LLMs.
REST API & ChatGPT Custom GPT
De server bevat ook een REST API die je kunt gebruiken voor ChatGPT Custom GPT Actions.
API Server starten
# Direct
python api_server.py
# Of via Docker
docker compose up api-server -dDe API is beschikbaar op http://localhost:8000:
Swagger UI:
http://localhost:8000/docsOpenAPI schema:
http://localhost:8000/openapi.json
API key roteren
De API gebruikt de API_KEY uit .env. Je kunt deze lokaal roteren met:
# Cross-platform (Python)
python scripts/rotate_api_key.py
# macOS/Linux
./scripts/rotate_api_key.sh
# Windows PowerShell
./scripts/rotate_api_key.ps1Herstart daarna je services zodat de nieuwe key actief is.
ChatGPT Custom GPT Setup
Deploy de API naar een publieke URL (bijv. via ngrok, Cloudflare Tunnel, of een server)
Maak een Custom GPT in ChatGPT:
Ga naar ChatGPT → Explore GPTs → Create
Geef het een naam: "Baarn Raadsinformatie Assistent"
Configureer Actions:
Klik op "Configure" → "Create new action"
Import de OpenAPI schema van
/openapi.jsonof kopieer uitopenapi.jsonVervang de server URL met jouw publieke URL
Authenticatie:
Kies "API Key" als authentication type
Auth Type: "Custom"
Custom Header Name:
X-API-KeyVoer je API key in (zie
.envfile)
Instructies voor de GPT:
Je bent een assistent voor politieke informatie over gemeente Baarn. Gebruik de beschikbare actions om vergaderingen, documenten en coalitieakkoord informatie op te halen. Geef altijd bronverwijzingen.
API Endpoints
Endpoint | Methode | Beschrijving |
| GET | Vergaderingen ophalen |
| GET | Vergadering details |
| GET | Agendapunten |
| GET | Document ophalen |
| GET | Keyword zoeken |
| GET | Semantisch zoeken |
| GET | Commissies ophalen |
| GET | Coalitieakkoord |
| GET | Database statistieken |
| GET/POST | Annotaties |
Lokale Upload Portal
De REST API bevat een lokale uploader op http://localhost:8000/upload.
Deze pagina vereist de X-API-Key en gebruikt dezelfde opslag/extractie als de MCP tools.
Je kunt hier bestanden uploaden (PDF/DOCX/PPTX/XLSX) en optioneel direct een werkbezoek-verslag aanmaken.
Gebruik in Docker:
docker compose up api-server -d
# bezoek http://localhost:8000/upload en vul je API key inEnvironment Variables
Variable | Beschrijving | Default |
| Notubiz API URL |
|
| API token | - |
| Forceer routing via orchestrator prompt |
|
| Naam van de orchestrator agent |
|
| Sla bestanden op in de database |
|
| Max bestandsgrootte voor DB opslag |
|
| Log level |
|
| Auto sync aan/uit |
|
| Dagen terug bij sync |
|
| Semantic search |
|
GitHub Actions Variables (CI)
Stel de volgende repo variables in via Settings → Secrets and variables → Actions → Variables:
Variable | Waarde |
|
|
|
|
Semantic Search
Semantic search met embeddings is standaard ingeschakeld. De benodigde dependencies (sentence-transformers en torch) staan in requirements.txt.
Bij de eerste zoekopdracht wordt het embedding model (paraphrase-multilingual-MiniLM-L12-v2) automatisch gedownload.
API Bronnen
Deze server haalt data op via de Notubiz API:
Vergaderingen en agenda's
Raadsstukken en documenten
Commissies en gremia
Besluiten en moties
Licentie
MIT License - zie LICENSE voor details.
Bijdragen
Bijdragen zijn welkom! Open een issue of pull request.
Contact
Gemeente: Baarn
Data bron: Notubiz Baarn
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/tiemenrtuinstra/baarn-raadsinformatie'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
