esa MCP Server

официальный

Официальный сервер протокола контекста модели (MCP) для esa.io — версия с транспортом STDIO.

Что можно делать с Esa MCP?

  • Список ваших команд esa и их статистика — Используйте esa_get_teams и esa_get_team_stats, чтобы увидеть, к каким командам у вас есть доступ, и их показатели активности.
  • Поиск и получение постов esa — Найдите посты с помощью esa_search_posts, затем получите полное содержимое и метаданные с помощью esa_get_post.
  • Создание, обновление или добавление к постам — Создавайте новые посты через esa_create_post, изменяйте существующие с помощью esa_update_post или добавляйте содержимое без загрузки текущего тела с помощью esa_append_post / esa_prepend_post.
  • Управление состояниями рабочего процесса постов — Архивируйте посты с помощью esa_archive_post, отмечайте их как отправленные через esa_ship_post или дублируйте их между командами с помощью esa_duplicate_post.
  • Работа с комментариями — Просматривайте, создавайте, обновляйте или удаляйте комментарии к постам с помощью esa_get_post_comments, esa_create_comment, esa_update_comment и esa_delete_comment.
  • Просмотр категорий и тегов — Изучайте структуру категорий команды с помощью esa_get_all_category_paths и esa_get_categories или просматривайте все теги через esa_get_team_tags.

Документация

esa MCP Server

License: MIT

日本語 | English

Официальный сервер Model Context Protocol (MCP) для esa.io — версия с транспортом STDIO.

Обзор

Этот MCP-сервер обеспечивает бесшовную интеграцию между AI-ассистентами и esa.io — платформой для совместной работы с документацией. Он позволяет AI-ассистентам читать, создавать, обновлять и управлять документами esa напрямую через Model Context Protocol.

Доступные инструменты

Управление командой

  • esa_get_teams — Получить доступные пользователю команды esa
  • esa_get_team_stats — Получить статистику команды (участники, посты, комментарии, звёзды, отслеживания, активные пользователи)
  • esa_get_team_tags — Получить все теги, используемые в постах команды, с количеством
  • esa_get_team_members — Получить участников команды с ролями и информацией профиля

Управление постами

  • esa_search_posts — Поиск постов в esa.io
  • esa_get_post — Получить конкретный пост по номеру (включает backlinks_count и body_md_stats с количеством символов и строк тела)
  • esa_get_post_backlinks — Список постов, ссылающихся на конкретный пост, с пагинацией
  • esa_create_post — Создать новый пост с тегами, категорией и статусом WIP
  • esa_update_post — Обновить существующий пост (заголовок, содержимое, теги, категория, статус WIP)
  • esa_append_post — Добавить содержимое в конец тела поста (не нужно получать текущее тело; сохраняется как новая ревизия)
  • esa_prepend_post — Добавить содержимое в начало тела поста (не нужно получать текущее тело; сохраняется как новая ревизия)

Действия с постами

  • esa_archive_post — Архивировать пост, переместив в категорию Archived/
  • esa_ship_post — Опубликовать пост (пометить как завершённый, установив wip в false)
  • esa_duplicate_post — Дублировать пост (создать новый WIP-пост с тем же заголовком и телом; также поддерживается дублирование между командами)

Управление комментариями

  • esa_get_comment — Получить конкретный комментарий по ID
  • esa_create_comment — Создать новый комментарий к посту
  • esa_update_comment — Обновить существующий комментарий
  • esa_delete_comment — Удалить комментарий
  • esa_get_post_comments — Получить комментарии к конкретному посту с пагинацией
  • esa_get_team_comments — Получить комментарии команды с пагинацией

Управление категориями

  • esa_get_categories — Получить категории и подкатегории для конкретного пути
  • esa_get_top_categories — Получить все категории верхнего уровня для команды
  • esa_get_all_category_paths — Получить все пути категорий в команде (с количеством постов, поддерживает фильтрацию)
    • Идеально для понимания структуры категорий, планирования организации и очистки
    • Примеры фильтров: prefix: "dev" для связанных с разработкой, match: "api" для категорий, связанных с API

Вложения

  • esa_get_attachment — Получить файл вложения из постов и комментариев esa
    • Возвращает данные в кодировке base64 для поддерживаемых изображений (JPEG, PNG, GIF, WebP) размером до 30 МБ
    • Возвращает подписанные URL (действительны 5 минут) для файлов других типов, больших изображений или при указании forceSignedUrl

Помощь и документация

  • esa_get_search_options_help — Получить документацию по синтаксису поиска esa
  • esa_get_markdown_syntax_help — Получить документацию по синтаксису Markdown esa
  • esa_search_help — Поиск в документации esa по функциям и терминологии

Доступные ресурсы

  • esa_recent_posts — Получить недавно обновлённые посты из команды esa
    • Шаблон: esa://teams/{teamName}/posts/recent
    • Возвращает: JSON-список недавно обновлённых постов

Доступные промпты

  • esa_summarize_post — Суммировать содержимое поста esa
    • Ввод: Имя команды и номер поста
    • Вывод: Структурированная сводка содержимого поста

Конфигурация MCP-клиента

Добавьте в файл конфигурации вашего MCP-клиента:

Обязательные переменные окружения

  • ESA_ACCESS_TOKEN: Токен доступа
    • Требуемые области: read write или admin:comment read:post write:post read:category read:tag read:attachment read:team read:member
    • Рекомендуется PAT v2.
  • LANG: Язык интерфейса

Пример для Claude Desktop

Добавьте в claude_desktop_config.json:

Вариант 1: Docker (рекомендуется)

{
  "mcpServers": {
    "esa": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "ESA_ACCESS_TOKEN",
        "-e",
        "LANG",
        "ghcr.io/esaio/esa-mcp-server"
      ],
      "env": {
        "ESA_ACCESS_TOKEN": "your_personal_access_token",
        "LANG": "en"
      }
    }
  }
}

Вариант 2: npx

{
  "mcpServers": {
    "esa": {
      "command": "/Users/your-username/.nodenv/shims/npx",
      "args": ["@esaio/esa-mcp-server"],
      "env": {
        "ESA_ACCESS_TOKEN": "your_personal_access_token",
        "LANG": "en"
      }
    }
  }
}

Примечание: Замените /path/to/your/node на вывод команды which node.

Реестр

Этот пакет поставляет registry.json в корне пакета, предоставляя зарегистрированные инструменты, ресурсы и промпты. Его можно использовать программно без запуска сервера:

import registry from "@esaio/esa-mcp-server/registry.json" with { type: "json" };

Схема:

{
  "tools": [{ "name": "esa_get_teams" }, "..."],
  "resources": [
    { "name": "esa_recent_posts", "uriTemplate": "esa://teams/{teamName}/posts/recent" }
  ],
  "prompts": [{ "name": "esa_summarize_post" }]
}

Файл перегенерируется командой npm run build:registry, и проверка CI следит за тем, чтобы он оставался синхронизированным с зарегистрированным набором.

Ссылки

Поддержка


Сделано с ❤️ командой esa