Мой текущий план развития выглядит примерно так… он всё ещё требует доработки, но помогает представить, как я вижу эту задачу.
V0 - MCP-сервер
-
Предоставить администратору возможность выбрать набор инструментов (как пользовательских, так и встроенных) и опубликовать их на определённом эндпоинте: /discourse-ai/mcp/NAME.
-
Использовать аутентификацию по Bearer-токену, в частности, API-ключ пользователя.
-
Ключ может быть ограничен доступом к конкретному MCP-сервису.
Цель этапа
- Инструменты Discourse (например, поиск по инстансу, чтение тем и т. д.) могут использоваться в Cursor и настольном приложении Claude.
V1 - MCP-клиент
-
Предоставить администратору возможность подключаться к MCP-сервису, что добавляет список инструментов в доступный набор, который затем могут использовать персонажи (AI-агенты).
-
Использовать аутентификацию по Bearer-токену.
Цель этапа
- Сервисы с https://mcp.so могут использоваться инстансом Discourse.
V2 - MCP-клиент для каждого пользователя
- При общении с ботом привилегированные пользователи могут нажать «Добавить MCP» и подключить MCP к текущему диалогу.
- Использовать аутентификацию по Bearer-токену.
Цель этапа
- Конечные пользователи смогут добавлять контекст от выбранного MCP-сервиса к текущему диалогу с ИИ.
V3 - Внедрение OAuth 2 для аутентификации
Это более сложный механизм аутентификации, особенно в части регистрации.
Цель этапа
- Расширенная поддержка.
V4 - Внедрение механизма «моста» для доступа к локальным ресурсам
- Реализовать gem или настольное приложение, которое позволяет получать доступ к локальным ресурсам через MCP в Discourse, используя транспорт stdio.
Цель этапа
- Вы сможете общаться с ботом Discourse в личных сообщениях и получать доступ к локальным файлам для дополнительного контекста.