Statewave

Servidor MCP para Statewave, um runtime de memória open-source para agentes de IA. Fornece memória persistente, recuperação de contexto e compilação de memória através do Model Context Protocol.

Documentação

@statewavedev/mcp-server

Servidor MCP Statewave — expõe a memória do Statewave para clientes compatíveis com MCP (assistentes de codificação, frameworks de agentes, extensões de IDE).

Parte do ecossistema Statewave Connectors. Independente de fornecedor por design — sem suposições de IDE, provedor de modelo ou dependência hospedada.

O que há aqui

  • STATEWAVE_MCP_TOOLS — a superfície canônica de ferramentas (5 ferramentas, entrada JSON Schema)
  • StatewaveClient — cliente HTTP leve para a API v1 do Statewave (auth, tenant, erros tipados)
  • dispatchTool — despachante com validação de entrada que mapeia uma chamada de ferramenta para um método StatewaveClient
  • startMcpServer — transporte mínimo stdio JSON-RPC 2.0, além de um modo --list-tools

Ferramentas

FerramentaPropósito
statewave_ingest_episodeIngerir um único episódio normalizado (deduplicado em idempotency_key).
statewave_search_memoriesPesquisar memórias compiladas por consulta de texto livre dentro de um assunto.
statewave_get_contextRecuperar contexto compacto e classificado para um assunto — a ferramenta padrão para usar dentro de um prompt.
statewave_get_timelineEpisódios cronológicos para um assunto; filtráveis por kinds, since, until.
statewave_compile_subjectAcionar a compilação de um assunto para que episódios recém-ingestados se tornem recuperáveis.

Uso

# As a CLI subcommand (via @statewavedev/connectors-cli)
statewave-connectors mcp start --list-tools     # print the JSON Schema surface and exit
statewave-connectors mcp start                  # stdio JSON-RPC 2.0 server (requires STATEWAVE_URL)

# Or programmatically inside an existing MCP runtime
import { StatewaveClient, dispatchTool } from "@statewavedev/mcp-server";
const client = new StatewaveClient({ url: process.env.STATEWAVE_URL!, apiKey: process.env.STATEWAVE_API_KEY });
const { result } = await dispatchTool(client, "statewave_get_context", {
  subject: "repo:owner/name",
  query: "repo conventions and recent changes",
});

Status

v0.1.0 versão prévia — transporte mínimo stdio incluído. Veja RELEASE_NOTES.md.