Files

2.0 KiB

Spec: mcp-server

ADDED Requirements

Requirement: Arranque del servidor por defecto

Cuando el binario se ejecuta sin argumentos, el sistema SHALL iniciar el servidor MCP usando transporte stdio.

Scenario: Ejecución sin argumentos

  • WHEN el usuario ejecuta el binario sin ningún argumento
  • THEN el sistema arranca el servidor MCP en modo stdio y queda a la espera de mensajes del cliente

Requirement: Comando version

El sistema SHALL exponer el comando version que imprime la versión del binario.

Scenario: Consulta de versión

  • WHEN el usuario ejecuta el binario con el argumento version
  • THEN el sistema imprime por stdout la versión inyectada en tiempo de compilación mediante -ldflags

Requirement: Comando update

El sistema SHALL exponer el comando update que ejecuta el proceso de auto-actualización del binario.

Scenario: Ejecución de actualización

  • WHEN el usuario ejecuta el binario con el argumento update
  • THEN el sistema consulta la última release de Gitea y aplica la actualización si existe una versión superior

Requirement: Metadatos de build inyectados

El sistema SHALL definir variables globales (Version, GiteaURL, RepoOwner, RepoName) que MUST ser inyectables en tiempo de compilación mediante -ldflags -X.

Scenario: Compilación con ldflags

  • WHEN el binario se compila pasando valores para main.Version, main.GiteaURL, main.RepoOwner y main.RepoName vía -ldflags
  • THEN el comando version y la lógica de auto-update utilizan esos valores en tiempo de ejecución

Requirement: Registro de herramientas MCP

El servidor MCP SHALL registrar las herramientas outline_list_collections, outline_search, outline_get_document y outline_create_document y MUST exponerlas vía el protocolo MCP.

Scenario: Listado de herramientas desde un cliente MCP

  • WHEN un cliente MCP solicita la lista de herramientas disponibles
  • THEN el servidor responde incluyendo las cuatro herramientas de Outline con sus esquemas de entrada definidos