Skip to main content
Glama

mcp-grammar-checker

Небольшой MCP сервер, который предоставляет проверку грамматики и стиля LanguageTool как инструмент, чтобы MCP-клиент (Claude Code, Claude Desktop или любой другой MCP-совместимый хост) мог напрямую проверять текст на проблемы.

Зачем

Создан для того, чтобы дать ИИ-ассистенту по кодингу реальный, основанный на инструментах способ проверки грамматики/стиля — а не полагаться только на собственное суждение модели — а также для практического изучения MCP для приложения Solution Architect AI.

Related MCP server: estonian-mcp

Примечание о процессе

Сначала создан вручную (напрямую с официальным SDK mcp, изучая его текущий API путем осмотра установленного пакета, а не следуя учебнику). Позже пересобран по руководству официального навыка Anthropic mcp-server-dev:build-mcp-server, который подтвердил выбор развертывания (локальный stdio — это личный инструмент для одного пользователя, не предназначенный для распространения), но изменил фреймворк: он рекомендует FastMCP 3.x (пакет fastmcp на PyPI, автор jlowin) для Python-серверов, а не замороженный FastMCP 1.0, встроенный в SDK mcp. Этот репозиторий теперь отражает этот второй, направляемый проход.

Инструмент

check_grammar(text: str, language: str = "de-DE") -> str

Проверяет заданный текст с помощью публичного API LanguageTool и возвращает отформатированный список найденных проблем (сообщение, предлагаемые замены, окружающий контекст) или подтверждение, что проблемы не найдены.

Установка

Требуется Python 3.12+ и uv.

git clone <this-repo>
cd mcp-grammar-checker
uv sync

Автономный запуск

uv run python server.py

Сервер общается через stdio и ожидает запуска MCP-клиентом, а не интерактивного запуска.

Использование с Claude Code / Claude Desktop

Добавьте в ваш MCP-конфиг (например, .claude/settings.json или файл конфигурации Claude Desktop):

{
  "mcpServers": {
    "grammar-checker": {
      "command": "uv",
      "args": ["run", "--directory", "/absolute/path/to/mcp-grammar-checker", "python", "server.py"]
    }
  }
}

Перезапустите клиент, и инструмент check_grammar станет доступен.

Примечания

  • Использует публичный API LanguageTool (api.languagetool.org), который имеет ограничение по частоте запросов. Для более интенсивного использования LanguageTool можно развернуть самостоятельно.

  • Поддерживает любой язык, который поддерживает LanguageTool (например, en-US, de-DE, fr) через параметр language.

Available Tools

1 tool
check_grammarB

Check text for grammar, spelling, and style issues using LanguageTool.

NameRequiredDescriptionDefault
textYesThe text to check.
languageNoLanguage code, e.g. "de-DE", "en-US". Defaults to "de-DE".de-DE

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only names the check types and the backend; it does not disclose behavior such as whether the query text is transmitted to an external service (LanguageTool), whether there are length limits, how the result body is structured beyond the output schema, or what happens on an unsupported language. For an unannotated tool this is a meaningful gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single declarative sentence, front-loaded with the verb and object, that wastes no words. It names the three issue categories and the backend in a compact way. Properly sized for the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The output schema covers return values and the input schema fully documents parameters, so those are handled. But with no annotations, the description omits usage guidance, external-service disclosure, and any operational limits. Adequate for a simple two-parameter checker, yet with clear gaps around behavioral context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both 'text' and 'language' are already documented in the schema. The description adds the type-of-issues context (grammar, spelling, style) but does not add parameter-specific meaning beyond what the schema provides. Baseline 3 is appropriate given the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Check'), resource ('text'), and the range of issues covered (grammar, spelling, style), with a named backend ('LanguageTool'). It is clear what the tool does. With no sibling tools to differentiate against, it cannot distinguish itself further, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage — the agent uses this tool whenever text needs a language quality check — but it provides no explicit context about when to use it versus alternatives, nor any exclusions or prerequisites. No siblings exist, so the routing burden is low, but the guidance is still only implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev0.1.0
    • First observedcheck_grammar

TDQS

A3.7/5.0

Scored across 1 tool

Disambiguation5/5

With only a single tool, there is no possibility of ambiguity or misselection. The purpose is clearly singular and distinct.

Naming Consistency5/5

There is only one tool, so the naming is trivially consistent. The verb-noun pattern ('check_grammar') is clear and follows a predictable convention.

Tool Count3/5

A single tool feels thin for a server, though the scope is narrow (grammar checking). It is borderline per the calibration, likely sufficient for its stated purpose but minimal.

Completeness5/5

The tool covers grammar, spelling, and style checking, which appears to be the entire domain. There are no obvious missing operations for a grammar-checking service.

Maintenance

ActivityStale
ResponsivenessNo issues

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.
    28
    25
    Apache 2.0
  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server offering text analysis tools for writing improvement, including spellcheck, readability, keyword analysis, passive voice detection, and AI-generated content detection.
    10
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A professional MCP server for analyzing content against the official Microsoft Writing Style Guide, enabling style, grammar, terminology, and accessibility checks via AI tools like VS Code and GitHub Copilot.
    1
    -