Aletheia

Claude Desktop and the aletheia MCP server

Claude Desktop speaks MCP over stdio. Aletheia's server is bin/mcp.mjs; one JSON entry under mcpServers is all it needs. No hook and no rules file exist for Claude Desktop, so this page is setup only.

Config file location

OSPathSource
macOS~/Library/Application Support/Claude/claude_desktop_config.jsonMCP quickstart, fetched 2026-10-26
Windows%APPDATA%\Claude\claude_desktop_config.jsonMCP quickstart, fetched 2026-10-26
Linux~/.config/Claude/claude_desktop_config.jsonUNVERIFIED: the file exists on this machine, but the MCP quickstart does not name a Linux path

Source: https://modelcontextprotocol.io/quickstart/user (fetched 2026-10-26).

The entry

Use an absolute Bun path and an absolute path to bin/mcp.mjs:

{
  "mcpServers": {
    "aletheia": {
      "command": "/absolute/path/to/bun",
      "args": ["/absolute/path/to/aletheia-mem/bin/mcp.mjs"],
      "env": {}
    }
  }
}

aletheia is the server name. The store path comes from ALETHEIA_HUB_DB; set it in env if the default <data dir>/hub.db is not what you want.

Merge, never replace

The config file already holds Claude Desktop preferences and other MCP servers. Aletheia only adds or removes mcpServers.aletheia; everything else is kept byte-for-byte apart from JSON formatting. Running the merge twice is a no-op, and a changed file gets a .aletheia-bak-<timestamp> copy first. An unparsable file is refused.

What was and was not tested

Restart

Quit Claude Desktop completely and reopen it. The server appears under the hammer/tools icon. If it does not, run the command from the entry by hand and read its stderr.