Skip to main content
Glama
Markus-Pasanen

voikko-mcp

voikko-mcp

License: GPL v3

Finnish language verification MCP server powered by libvoikko. Provides spell checking, grammar checking, morphological analysis, hyphenation, and tokenization as MCP tools for any MCP-compatible client (OpenWebUI, OpenCode, Claude Desktop, Cursor, etc.).

Features

  • Spell checking — verify single words against libvoikko's Finnish dictionary

  • Grammar checking — detect capitalization, word-order, and agreement errors

  • Morphological analysis — inspect base form, case, number, possessive suffixes

  • Hyphenation — syllable-aware word splitting for line-breaking and pronunciation

  • Tokenization — split Finnish text into words, whitespace, and punctuation tokens

  • Streamable HTTP transport — runs as a web server, no local process management needed

Related MCP server: Võro MCP Server

Prerequisites

Quick start

docker compose up --build

The server starts on http://localhost:8000 with Streamable HTTP transport (endpoint at /mcp).

Tools

Tool

Parameters

Returns

check_spelling

word: str

{word, correct, suggestions}

suggest_spelling

word: str

list[str] — suggested corrections

check_grammar

text: str

list[{start, length, snippet, description, suggestions}]

verify_text

text: str

{text, is_correct, spelling_errors, grammar_errors}

analyze_word

word: str

list[{BASEFORM, CLASS, SIJAMUOTO, ...}]

hyphenate_word

word: str

{word, hyphenated}

tokenize_text

text: str

list[{token_type, token_text, position}]

All tools include error handling and return empty/fallback values on failure.

Client configuration

OpenWebUI

Settings > MCP Servers > Add:

  • Name: voikko-mcp

  • Transport: Streamable HTTP

  • URL: http://localhost:8000/mcp

OpenCode

Add to opencode.json:

{
  "mcp": {
    "voikko-mcp": {
      "type": "remote",
      "url": "http://localhost:8000/mcp"
    }
  }
}

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "voikko-mcp": {
      "type": "streamableHttp",
      "url": "http://localhost:8000/mcp"
    }
  }
}

Cursor

Add an MCP server entry with Streamable HTTP transport pointing to http://localhost:8000/mcp.

Architecture

Client (OpenWebUI / OpenCode / Claude) ──POST /mcp──▶ uvicorn ──▶ FastMCP ──▶ libvoikko
                  ◀──Streamable HTTP (JSON-RPC)──
  • Python 3.11 with FastMCP from the official MCP Python SDK

  • libvoikko C++ library via its Python bindings for all linguistic operations

  • Streamable HTTP transport over uvicorn, binding 0.0.0.0:8000

  • Docker image based on python:3.11-slim with libvoikko-dev and voikko-fi

Credits

  • libvoikko — Finnish language processing library by the Voikko project

  • MCP Python SDK — Model Context Protocol implementation by Anthropic

  • FastMCP — High-level MCP server framework

  • Finnish morphological dictionary (voikko-fi) maintained by the Voikko community

License

GNU General Public License v3.0 or later — see LICENSE for details.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    An MCP server that integrates EstNLTK to provide Estonian language tools (morphology, spell-check, synonyms, etc.) for AI agents, enabling correct Estonian text processing and generation.
    26
    20
    Apache 2.0
  • A
    license
    A
    quality
    D
    maintenance
    MCP server exposing Arabic text utilities: normalisation, tashkeel stripping, transliteration, heuristic dialect detection, and token counting.
    5
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for Finnish public procurement (HILMA): search tenders, awards and procurement plans by keyword, CPV, region and buyer, and fetch full notice details.
    4 npm
    MIT