"MCP (3/4), проблемы и решения Есть ли проблемы? Ооо, дааа, но почти все их можно связать с тем, что технология недавно появилась, но уже произошел взрывной рост её популярности. 🔴 Начнем с Cursor 1️⃣ Вообще я хотел эту серию постов начать с того, что, ""__ура, в Cursor 0.46 завезли поддержку Resources!__"" :) Однако, зайдя в настройки Cursor перед тем, как начать писать, я обнаружил, что все ресурсы пропали из подключенных MCP, и вернуть их не получилось. ""__Что за газлайтинг__"", подумал я, и полез на форум - и да, они их выпилили в 0.46.9 под каким-то странным предлогом (мол, ресурсы создавали больше проблем, чем пользы): https://forum.cursor.com/t/mcp-resources-not-working-in-0-46-9/59960/5. Жить, конечно, и без ресурсов можно, с одними инструментами, но не так весело. Обещают вернуть в будущих версиях и сделать возможным их упоминать в окне чата, что в целом правильно и согласуется с концепцией ресурсов как выбираемых пользователем сущностей для передачи их модели. А пока что, как вариант, можно откатиться от текущей 0.46.11 на 0.46.8, есть вот такой неофициальный репозиторий со ссылками на старые билды Cursor: https://github.com/oslook/cursor-ai-downloads 2️⃣ Назойливая бага в том же Cursor - он запускает stdio-сервера в Windows как консольные приложения, не скрывая их консольные окна. Так что вместе со стартом своего нового окна Cursor открывает еще несколько консольных окон по количеству подключенных MCP-серверов. Открыли 3 окна Cursor и у вас 5 подключенных MCP-серверов? - получите в нагрузку ещё 15 окон :) Для решения этой проблемы, да и в целом для сбора всех локальных MCP-серверов в одном месте, оказалось удобным использовать Supergateway + stdio->sse + docker, как описано в конце предыдущего поста. 3️⃣ И ещё - в Cursor есть поддержка проект-специфичных настроек MCP-серверов (.cursor/mcp.json), как аналог claude_desktop_config.json, но она игнорит секцию переменных окружения, и может терять переданные в stdio параметры, причём как-то избирательно, я так и не нашел четкой зависимости :) Использовать с осторожностью, короче. 🔴 Нет официального каталога серверов, и каких-то проверок новых серверов тоже никто не делает. Есть надежда на то, что коммьюнити само постепенно отфильтрует мусор, но пока что надо быть аккуратным. Реально, во многих случаях может оказаться самому быстрее написать сервер, чем брать чей-то сомнительного качества - благо, сделать свой несложно. Но сами Anthropic в кулуарах обещаются сделать официальный MCP-registry, так что ждём: https://x.com/opentools_/status/1893696402477453819 🔴 Локально устанавливать сервера - боль, нет какого-то общего формата описания того, откуда сервер должен скачиваться, как ставиться и как запускаться, поэтому кто во что горазд: docker / npx / node / uv / uvx / python / pipx / бинарники. Да, есть формат списка подключенных MCP-серверов, который используется в Claude Desktop: claude_desktop_config.json (https://modelcontextprotocol.io/quickstart/user#2-add-the-filesystem-mcp-server), и его пытаются копировать другие клиенты, но тоже кто в лес, кто по дрова, т.к. формат не стандартизирован. Это ж до смешного доходит - Cline ставит MCP-сервера, скармливая LLM-ке README из репозитория устанавливаемого MCP-сервера, чтобы модель сама разобралась, как его поставить и сконфигурировать в проекте :) Есть проект https://smithery.ai/, к которому можно присмотреться - по крайней мере, они работают над унификацией конфигурации серверов. Но мне не нравится их подход в том, что они стараются сервера хостить у себя - возникают вопросы с безопасностью. 🔴 Из мелких частностей - npx на Windows подменяет stdio запускаемого пакета, а нет родного stdio - нет и передачи команд между сервером и клиентом. Если все-таки хочется использовать npx, то, чтобы работало, можно так запускать: ```cmd /c npx -y @modelcontextprotocol/server-postgres ...``` Несмотря на мелкие и не очень баги, MCP всё равно весьма полезен как стандарт, и, надеюсь, другие LLM-вендоры тоже начнут его поддерживать, в т.ч. тюня свои модели на работу с ним. #ai #mcp"