Skip to content

Не получается подключить mcp на macos #29

Description

@Segate-ekb

Что проверил
.mcp.json валиден — синтаксис правильный, command: "oneunit", args: ["mcp"].
Бинарник находится — oneunit есть в PATH (~/.local/share/ovm/current/bin/oneunit, версия 0.4.0), команда mcp существует.
Handshake ломается — вот корень проблемы. Отправляю серверу стандартный initialize, а он в ответ на stdout пишет:

"Соответствие"
вместо валидного JSON-RPC-ответа вида {"jsonrpc":"2.0","id":1,"result":{...}}.
Результат одинаковый и для протокола 2024-11-05, и для 2025-06-18 — значит это не рассогласование версий, а баг сервера.

Почему это рвёт подключение
MCP по stdio требует, чтобы на stdout шли только валидные JSON-RPC сообщения, разделённые переводом строки. oneunit mcp в v0.4.0 на первый же initialize отдаёт голую JSON-строку "Соответствие" — Claude Code не может распарсить это как ответ на рукопожатие, поэтому сервер помечается как failed и не подключается. Никакие правки .mcp.json это не починят.

Что делать
Это баг на стороне oneunit (или mcp в 0.4.0 ещё не полноценный stdio-сервер). Стоит завести issue / проверить, нет ли более свежей версии oneunit с рабочим MCP.
Быстрый способ подтвердить самому:

printf '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"t","version":"1"}}}\n' | oneunit mcp
Пока в ответ приходит "Соответствие", а не JSON-RPC с полем result — сервер работать в Claude Code не будет.
Хочешь — могу глянуть, есть ли у oneunit другой транспорт (например HTTP/SSE) или флаги для mcp, которые дают корректный вывод?

Мой железный болван, говорит, что мсп не работает как запланировано (

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions