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

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

Related MCP server: mhlabs-mcp-tools

Prerequisites

Quick start

docker compose up --build

The server starts on http://localhost:8000 with SSE transport.

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

  • SSE URL: http://localhost:8000/sse

OpenCode

Add to opencode.json:

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

Claude Desktop

Add to claude_desktop_config.json:

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

Cursor

Add an MCP server entry with SSE transport pointing to http://localhost:8000/sse.

Architecture

Client (OpenWebUI / OpenCode / Claude) ──GET /sse──▶ uvicorn ──▶ FastMCP ──▶ libvoikko
                  ◀──SSE stream (JSON-RPC)──
  • Python 3.11 with FastMCP from the official MCP Python SDK

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

  • SSE 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.

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

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/Markus-Pasanen/voikko-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server