# Muse Code

Conecte o Muse Code, o agente de programação para terminal da Meta, ao XMemo por meio de OAuth com uma única entrada mcpServers em ~/.config/muse/settings.json.

- Canonical: https://docs.xmemo.dev/pt-br/docs/mcp/muse-code
- Locale: pt-BR
- Content-Locale: pt-BR
- Canonical-Content-Digest: c631844310ded8cc16c2cad894551ed2d09965b65311a9761a503f7d931352f8
- Edition-Digest: 58c6ae1ca110d70b4407d193160095165e9305a5faab2fcf9cdebb07730d3dd9
- Source-Revision: sha256:e4bb1025634b1d0521ab71134877bf1e2b23afe54bf4b03acb52c414a035e7f5

## Pré-requisito

Use uma instalação do Muse Code que leia servidores MCP de ~/.config/muse/settings.json. O Muse Code se conecta ao XMemo como cliente OAuth, portanto o arquivo de configuração não contém nenhum token.

- Endpoint: https://xmemo.dev/mcp.
- Modo de autenticação: OAuth (PKCE no navegador) com registro dinâmico de cliente.
- Arquivo de configuração: ~/.config/muse/settings.json. Ele deve conter "schema_version": 1.
- Escopos concedidos: memory:read, memory:write, knowledge:read e knowledge:write.
- Configuração automatizada: xmemo setup muse-code chegará em breve com a próxima versão do XMemo CLI. Até lá, use a configuração manual abaixo.

## Adicionar o XMemo ao settings.json

Edite ~/.config/muse/settings.json em um terminal fora do Muse; o sandbox do Muse rejeita edições neste arquivo feitas dentro de uma sessão do Muse. Adicione uma entrada xmemo sob a chave camelCase de nível superior mcpServers. Nenhum token ou cabeçalho Authorization deve ficar neste arquivo.

```json
{"schema_version": 1, "mcpServers": {"xmemo": {"type": "streamable-http", "url": "https://xmemo.dev/mcp", "mode": "optional"}}}
```

## Manter somente mcpServers

A documentação web pública do Muse ainda mostra uma chave snake_case mcp_servers, que está desatualizada. Se o settings.json contiver mcpServers e mcp_servers, o Muse descartará todos os servidores MCP. Renomeie um bloco mcp_servers existente para mcpServers e mescle suas entradas nele, para que o arquivo mantenha somente mcpServers.

## Entrar com OAuth

Execute o comando de login para o servidor xmemo e aprove o acesso no navegador. Em uma máquina sem interface de navegador, adicione --headless.

```bash
muse mcp login xmemo
# Without a browser UI:
muse mcp login xmemo --headless
```

## Reiniciar o cliente

Reinicie o Muse após entrar para que ele carregue o servidor xmemo com a nova concessão OAuth.

## Verificar as ferramentas do XMemo

Peça ao Muse para listar as ferramentas do XMemo sem chamar nenhuma delas.

```bash
muse exec "List the names of the tools you have from the xmemo MCP server. Do not call any tools."
```

## Testar com uma chamada real de recall

Faça a primeira chamada MCP somente para leitura. Esta é uma invocação real de recall, não um placeholder de verificação de integridade, e não grava memória.

```text
recall({ query: "connection check", limit: 1 })
```

## Resposta esperada (formato literal)

Uma chamada bem-sucedida retorna o formato de texto ranqueado público abaixo; a referência e o conteúdo são valores reais do espaço de memória autorizado.

```text
### XMemo Memory Results:
1. Reference: <opaque-memory-id> | Location: <location>
   > <memory content>
```

## XMemo Skill

O Muse verifica ~/.agents/skills, ~/.claude/skills e ~/.codex/skills, portanto uma XMemo Skill já instalada para o Claude Code ou o Codex funciona no Muse sem alterações.

## Erros comuns

O Muse Code se conecta por meio de OAuth; a maioria dos erros vem da chave de configuração, da etapa de login ou do sandbox.

- Nenhuma ferramenta xmemo é listada: o settings.json contém mcpServers e mcp_servers, então o Muse descartou todos os servidores MCP. Mantenha somente mcpServers.
- invalid_grant: a autorização é inválida, expirou ou já foi usada, ou a conexão selecionada não é mais válida. Execute muse mcp login xmemo novamente e reinicie o Muse.
- 403 insufficient_scope: os escopos aprovados não cobrem a chamada. Entre novamente e aprove os escopos de memory e knowledge.
- Edições no settings.json são rejeitadas: a alteração foi feita dentro de uma sessão do Muse. Edite o arquivo em um terminal externo.

## Muse Code

OAuth client: add xmemo under mcpServers in ~/.config/muse/settings.json, then run muse mcp login xmemo and restart Muse. No token goes in the config. Keep only mcpServers: if mcp_servers is also present, Muse drops every MCP server.

```
{"schema_version": 1, "mcpServers": {"xmemo": {"type": "streamable-http", "url": "https://xmemo.dev/mcp", "mode": "optional"}}}
```
