OpenDataMCP/cor/README.md
Christian Johannesen 96d527ecdf chore: opdater MCP servere (2026-10-22 20:47)
Synkronisering af 1 MCP server(e) fra OpenData.
2026-10-22 20:47:52 +02:00

74 lines
2.9 KiB
Markdown

# Dansk COR MCP Server (Model Context Protocol)
En officiel og lynhurtig **Model Context Protocol (MCP)** server for det danske sprog baseret på datasættene fra [Det Centrale Ordregister (COR)](https://ordregister.dk/) og Dansk Sprognævn i [OpenData](https://opendata.p20.dev).
Serveren gør det muligt for AI-agenter (såsom Claude Desktop, Antigravity, Cursor eller andre MCP-kompatible klienter) at udføre præcise ordbogsopslag, mønstersøgning (Wordle, krydsord, Scrabble), officiel stavekontrol og grammatisk analyse.
---
## ⚡ Funktioner og Værktøjer (Tools)
Serveren udstiller 4 specialiserede værktøjer:
| Værktøj | Beskrivelse | Eksempel på parametre |
| :--- | :--- | :--- |
| `lookup_word` | Slår et dansk ord op. Afgør om ordet er godkendt, henter ordklasse(r), grundform (lemma), køn, uregelmæssige bøjningsformer og stavefejlsrettelser. | `{"word": "cykler"}` |
| `find_words` | Fleksibel ordsøger med støtte for vildtegn (`*`, `?`), regex, ordlængde, ordklasse (`sb`, `vb`, `adj` osv.), Wordle-filtre og palindromer. | `{"pattern": "k?tte", "is_wordle": true}` |
| `check_spelling` | Kontrollerer et ord mod COR.SOEGEHJAELP (Dansk Sprognævns officielle samling af almindelige fejl og tastefejl) og returnerer korrekte autoriserede former. | `{"word": "accellerere"}` |
| `grammar_features` | Slår grammatiske særtræk op: uregelmæssige verber, substantiver med valgfrit køn (*en/et*), *plurale tantum* (kun flertal), *singulare tantum* (kun ental) og ordklasse-kamæleoner. | `{"category": "valgfrit_koen", "query": "folie"}` |
---
## 📦 Forudsætninger & Installation
Serveren kører på Python 3.10+ og anvender den officielle `mcp` pakke samt en optimeret SQLite-database (`cor.db`).
### 1. Installer afhængigheder
```bash
pip install "mcp[cli]"
```
### 2. Generer SQLite-databasen
Databasen opbygges lynhurtigt (< 2 sekunder) direkte fra OpenData-repositoriets datalister:
```bash
python mcp/cor/build_db.py
```
Dette genererer `mcp/cor/cor.db` med over **386.000 ordformer**, 61.000 lemmaer og knap 9.000 registrerede stavefejl.
### 3. Kør automatiseret test
```bash
python mcp/cor/test_tools.py
```
---
## 🚀 Konfiguration i MCP-klienter
### Claude Desktop
Tilføj følgende til din `claude_desktop_config.json`:
```json
{
"mcpServers": {
"dansk-cor": {
"command": "python",
"args": [
"/sti/til/OpenData/mcp/cor/server.py"
]
}
}
}
```
> **Tip:** Udskift `/sti/til/OpenData/` med den faktiske absolutte sti til repositoriet på dit system.
### Antigravity / Cursor
Tilføj serveren under MCP-indstillinger som en `stdio`-server:
- **Command**: `python` (eller sti til dit Python-miljø)
- **Args**: `["<sti-til-OpenData>/mcp/cor/server.py"]`
---
## 🌐 Data og Licens
- Data stammer fra **Det Centrale Ordregister (COR)** og **COR.SOEGEHJAELP** udgivet af Dansk Sprognævn under **CC0 1.0 Universal** (Public Domain).
- Webportal og datadokumentation: [opendata.p20.dev](https://opendata.p20.dev)