esa MCP Server

oficial

Servidor oficial del Protocolo de Contexto de Modelo (MCP) para esa.io - versión de transporte STDIO.

¿Qué puedes hacer con Esa MCP?

  • Lista tus equipos de esa y estadísticas del equipo — Usa esa_get_teams y esa_get_team_stats para ver a qué equipos puedes acceder y sus métricas de actividad.
  • Busca y recupera publicaciones de esa — Encuentra publicaciones con esa_search_posts, luego obtén el contenido completo y los metadatos con esa_get_post.
  • Crea, actualiza o añade contenido a publicaciones — Redacta nuevas publicaciones mediante esa_create_post, modifica las existentes con esa_update_post, o agrega contenido sin recuperar el cuerpo actual usando esa_append_post / esa_prepend_post.
  • Gestiona los estados del flujo de trabajo de las publicaciones — Archiva publicaciones con esa_archive_post, márcalas como enviadas mediante esa_ship_post, o duplícalas entre equipos usando esa_duplicate_post.
  • Trabaja con comentarios — Lista, crea, actualiza o elimina comentarios en publicaciones usando esa_get_post_comments, esa_create_comment, esa_update_comment y esa_delete_comment.
  • Explora categorías y etiquetas — Examina las estructuras de categorías del equipo con esa_get_all_category_paths y esa_get_categories, o revisa todas las etiquetas mediante esa_get_team_tags.

Documentación

esa MCP Server

License: MIT

日本語 | English

Servidor oficial del Protocolo de Contexto de Modelo (MCP) para esa.io - versión de transporte STDIO.

Descripción general

Este servidor MCP proporciona una integración perfecta entre asistentes de IA y esa.io, una plataforma colaborativa de documentación. Permite a los asistentes de IA leer, crear, actualizar y gestionar documentos de esa directamente a través del Protocolo de Contexto de Modelo.

Herramientas disponibles

Gestión de equipos

  • esa_get_teams - Obtener los equipos de esa accesibles para el usuario
  • esa_get_team_stats - Obtener estadísticas del equipo (miembros, publicaciones, comentarios, estrellas, vigilantes, usuarios activos)
  • esa_get_team_tags - Obtener todas las etiquetas usadas en las publicaciones del equipo con su conteo
  • esa_get_team_members - Obtener los miembros del equipo con roles e información de perfil

Gestión de publicaciones

  • esa_search_posts - Buscar publicaciones en esa.io
  • esa_get_post - Obtener una publicación específica por número de publicación (incluye backlinks_count y body_md_stats con el conteo de caracteres y líneas del cuerpo)
  • esa_get_post_backlinks - Listar publicaciones que hacen referencia a una publicación específica con paginación
  • esa_create_post - Crear una nueva publicación con etiquetas, categoría y estado WIP
  • esa_update_post - Actualizar una publicación existente (título, contenido, etiquetas, categoría, estado WIP)
  • esa_append_post - Añadir contenido al final del cuerpo de una publicación (no es necesario obtener el cuerpo actual; se guarda como una nueva revisión)
  • esa_prepend_post - Anteponer contenido al inicio del cuerpo de una publicación (no es necesario obtener el cuerpo actual; se guarda como una nueva revisión)

Acciones sobre publicaciones

  • esa_archive_post - Archivar una publicación moviéndola a la categoría Archived/
  • esa_ship_post - Enviar una publicación (marcar como completada estableciendo wip a false)
  • esa_duplicate_post - Duplicar una publicación (crear una nueva publicación WIP con el mismo título y cuerpo; también se admite la duplicación entre equipos)

Gestión de comentarios

  • esa_get_comment - Obtener un comentario específico por ID
  • esa_create_comment - Crear un nuevo comentario en una publicación
  • esa_update_comment - Actualizar un comentario existente
  • esa_delete_comment - Eliminar un comentario
  • esa_get_post_comments - Obtener comentarios de una publicación específica con paginación
  • esa_get_team_comments - Obtener comentarios del equipo con paginación

Gestión de categorías

  • esa_get_categories - Obtener categorías y subcategorías para una ruta específica
  • esa_get_top_categories - Obtener todas las categorías de nivel superior de un equipo
  • esa_get_all_category_paths - Obtener todas las rutas de categorías en un equipo (con conteo de publicaciones, admite filtrado)
    • Perfecto para entender la estructura de categorías, planificación de la organización y limpieza
    • Ejemplos de filtro: prefix: "dev" para relacionado con desarrollo, match: "api" para categorías relacionadas con API

Archivos adjuntos

  • esa_get_attachment - Recuperar un archivo adjunto de publicaciones y comentarios de esa
    • Devuelve datos codificados en base64 para imágenes compatibles (JPEG, PNG, GIF, WebP) de menos de 30 MB
    • Devuelve URL firmadas (válidas por 5 minutos) para otros tipos de archivo, imágenes más grandes o cuando se especifica forceSignedUrl

Ayuda y documentación

  • esa_get_search_options_help - Obtener documentación de la sintaxis de búsqueda de esa
  • esa_get_markdown_syntax_help - Obtener documentación de la sintaxis Markdown de esa
  • esa_search_help - Buscar en la documentación de esa características y terminología

Recursos disponibles

  • esa_recent_posts - Obtener publicaciones recientemente actualizadas del equipo de esa
    • Plantilla: esa://teams/{teamName}/posts/recent
    • Devuelve: Lista JSON de publicaciones recientemente actualizadas

Prompts disponibles

  • esa_summarize_post - Resumir el contenido de una publicación de esa
    • Entrada: Nombre del equipo y número de publicación
    • Salida: Resumen estructurado del contenido de la publicación

Configuración del cliente MCP

Añadir al archivo de configuración del cliente MCP:

Variables de entorno requeridas

  • ESA_ACCESS_TOKEN: Token de acceso
    • Ámbitos requeridos: read write o admin:comment read:post write:post read:category read:tag read:attachment read:team read:member
    • Se recomienda PAT v2.
  • LANG: Idioma para la interfaz de usuario

Ejemplo para Claude Desktop

Añadir a claude_desktop_config.json:

Opción 1: Docker (Recomendado)

{
  "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"
      }
    }
  }
}

Opción 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"
      }
    }
  }
}

Nota: Reemplace /path/to/your/node con la salida del comando which node.

Registro

Este paquete incluye registry.json en la raíz del paquete, exponiendo las herramientas, recursos y prompts registrados. Puede consumirse programáticamente sin iniciar el servidor:

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

Esquema:

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

El archivo es regenerado por npm run build:registry y una verificación de CI asegura que se mantenga sincronizado con el conjunto registrado.

Enlaces

Soporte


Hecho con ❤️ por el equipo de esa