--- title: Referência das ferramentas MCP --- # Referência das ferramentas MCP O Koharu expõe ferramentas MCP em: ```text http://127.0.0.1:/mcp ``` O servidor MCP usa o transporte HTTP streamable do `rmcp 1.5` e opera sobre o mesmo estado de projeto, cena e pipeline que a GUI e a API HTTP. ## O que o servidor MCP expõe hoje A implementação atual expõe deliberadamente uma superfície pequena e de baixo nível, centrada no ciclo de vida do projeto, na camada de histórico e nos jobs de pipeline. Edições granulares passam por `koharu.apply` com um payload `Op`, em vez de ferramentas dedicadas por campo. Se você precisa de inspeção mais rica (thumbnails de página, camadas de imagem, listas de fontes, snapshots de cena), use a [API HTTP](http-api.md) diretamente. As duas rodam lado a lado na mesma porta e compartilham um único estado in-process. ## Ferramentas | Ferramenta | Finalidade | Parâmetros | | ----------------------- | ------------------------------------------------------- | -------------------------------------------------------------------------------- | | `koharu.apply` | aplica um `Op` à cena ativa | `op` — valor `Op` com tag JSON | | `koharu.undo` | reverte a op mais recente | nenhum | | `koharu.redo` | reaplica a op mais recente desfeita | nenhum | | `koharu.open_project` | abre ou cria um diretório de projeto Koharu | `path`, `createName` opcional | | `koharu.close_project` | fecha o projeto ativo | nenhum | | `koharu.start_pipeline` | inicia uma execução de pipeline; retorna um `jobId` | `steps[]`, `pages[]` opcional, `targetLanguage`, `systemPrompt`, `defaultFont` | ### `koharu.apply` Aplica uma única mutação à cena, passando pela camada de histórico. O valor de `op` é o mesmo enum `Op` com tag JSON que a API HTTP aceita em `POST /history/apply` — variantes comuns incluem `AddPage`, `RemovePage`, `AddNode`, `UpdateNode`, `RemoveNode` e `Batch`. Retorna `{ epoch }` — o novo epoch da cena após a op ser aplicada. ### `koharu.undo` / `koharu.redo` Andam um passo na pilha de histórico em qualquer direção. Ambas retornam `{ epoch }`, onde `epoch` é `null` num limite da pilha (nada mais para desfazer ou refazer). ### `koharu.open_project` Abre um diretório de projeto existente ou cria um no caminho informado. Passe `createName` para criar um novo projeto sob o caminho; omita para abrir o que já estiver lá. Retorna `{ name, path }` para a sessão agora ativa. ### `koharu.close_project` Fecha a sessão atual. Chamadas seguintes que exigem um projeto retornam um erro `invalid request` até que outro projeto seja aberto. ### `koharu.start_pipeline` Dispara uma execução de pipeline em background. `steps` é uma lista ordenada de ids de engines registradas no `Registry` do pipeline (validados contra `GET /api/v1/engines`). Omita `pages` para rodar em todas as páginas do projeto; passe uma lista de `PageId`s para limitar a execução a um subconjunto. Retorna `{ jobId }` imediatamente. O progresso e a conclusão são publicados no stream HTTP `/events` como `JobStarted`, `JobProgress`, `JobWarning` e `JobFinished`. O próprio transporte MCP não faz streaming do progresso do job — para isso, você acompanha o SSE. ## Fluxo de agente sugerido A maioria das sessões de agente segue mais ou menos isto: 1. `koharu.open_project` — aponta para um diretório de projeto gerenciado 2. lê `GET /api/v1/scene.json` via HTTP para inspecionar a cena 3. seja: - aplique edições pontuais via `koharu.apply` com payloads `Op` explícitos, ou - rode um pipeline ponta a ponta via `koharu.start_pipeline` e acompanhe `GET /api/v1/events` 4. exporte via `POST /api/v1/projects/current/export` por HTTP 5. `koharu.close_project` `koharu.undo` e `koharu.redo` são úteis quando uma op se mostra errada e você quer voltar atrás em vez de calcular o inverso na mão. ## Páginas relacionadas - [Configurar clientes MCP](../how-to/configure-mcp-clients.md) - [Executar modos GUI, Headless e MCP](../how-to/run-gui-headless-and-mcp.md) - [Referência da API HTTP](http-api.md)