2.0 KiB
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.RepoOwnerymain.RepoNamevía-ldflags - THEN el comando
versiony 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