MarsNMe — Claude Code MCP server: what it does, how to install
A persistent memory gateway linking AI agents to Supabase and Jina embeddings. Preserves context across conversations.
claude mcp add --env MCP_PROFILE=<MCP_PROFILE> --env SUPABASE_BASE_URL=<SUPABASE_BASE_URL> --env SUPABASE_SERVICE_ROLE_KEY=<SUPABASE_SERVICE_ROLE_KEY> --env JINA_API_KEY=<JINA_API_KEY> --env PORT=<PORT> --transport stdio marsnme-supabase -- npx -y @marsnme/mcp-gatewayWhat MarsNMe does
The @marsnme/mcp-gateway package runs an HTTP-based MCP server providing memory tools at POST /mcp alongside a GET /health status route. It enables assistants to persist dialogue context across sessions instead of losing state after a reset.
Setup depends on Node.js version 20 or higher, an active Supabase database with schema migrations, and a Jina API key for vector lookups. Agents are partitioned by the MCP_PROFILE environment variable. Built-in profile identifiers like coco or toto default to ports 18790 and 18791, while custom profiles resolve to ports between 20000 and 29999.
Migrations require a role capable of running DDL, specifically supabase_admin. Without that role and a valid Jina key, vector search across stored agent interactions will fail.
What it helps with
- persist user context and memories across separate chat sessions
- search past interactions using Jina vector embeddings
- connect assistant memory storage to a Supabase Postgres database
- partition conversation history between distinct agent profile IDs
Example prompts for the agent
- Save our decision about switching to Supabase into my persistent memory profile
- Query past agent memories for mentions of the deployment safety gate
- Check the memory gateway health status using the
/healthendpoint
How to install MarsNMe
Platform CLI
claude mcp add --env MCP_PROFILE=<MCP_PROFILE> --env SUPABASE_BASE_URL=<SUPABASE_BASE_URL> --env SUPABASE_SERVICE_ROLE_KEY=<SUPABASE_SERVICE_ROLE_KEY> --env JINA_API_KEY=<JINA_API_KEY> --env PORT=<PORT> --transport stdio marsnme-supabase -- npx -y @marsnme/mcp-gatewayReplace <…> with your own values
Platform CLI
codex mcp add marsnme-supabase --env MCP_PROFILE=<MCP_PROFILE> --env SUPABASE_BASE_URL=<SUPABASE_BASE_URL> --env SUPABASE_SERVICE_ROLE_KEY=<SUPABASE_SERVICE_ROLE_KEY> --env JINA_API_KEY=<JINA_API_KEY> --env PORT=<PORT> -- npx -y @marsnme/mcp-gatewayReplace <…> with your own values
Config file
{
"mcpServers": {
"marsnme-supabase": {
"command": "npx",
"args": [
"-y",
"@marsnme/mcp-gateway"
],
"env": {
"MCP_PROFILE": "<MCP_PROFILE>",
"SUPABASE_BASE_URL": "<SUPABASE_BASE_URL>",
"SUPABASE_SERVICE_ROLE_KEY": "<SUPABASE_SERVICE_ROLE_KEY>",
"JINA_API_KEY": "<JINA_API_KEY>",
"PORT": "<PORT>"
}
}
}
}Replace <…> with your own values
Config file
{
"servers": {
"marsnme-supabase": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@marsnme/mcp-gateway"
],
"env": {
"MCP_PROFILE": "<MCP_PROFILE>",
"SUPABASE_BASE_URL": "<SUPABASE_BASE_URL>",
"SUPABASE_SERVICE_ROLE_KEY": "<SUPABASE_SERVICE_ROLE_KEY>",
"JINA_API_KEY": "<JINA_API_KEY>",
"PORT": "<PORT>"
}
}
}
}Replace <…> with your own values
Platform CLI
gemini mcp add -e MCP_PROFILE=<MCP_PROFILE> -e SUPABASE_BASE_URL=<SUPABASE_BASE_URL> -e SUPABASE_SERVICE_ROLE_KEY=<SUPABASE_SERVICE_ROLE_KEY> -e JINA_API_KEY=<JINA_API_KEY> -e PORT=<PORT> marsnme-supabase npx -y @marsnme/mcp-gatewayReplace <…> with your own values
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about MarsNMe
How to install MarsNMe in Claude Code?
Run `claude mcp add marsnme -e MCP_PROFILE=<MCP_PROFILE> -e SUPABASE_BASE_URL=<SUPABASE_BASE_URL> -e SUPABASE_SERVICE_ROLE_KEY=<SUPABASE_SERVICE_ROLE_KEY> -e JINA_API_KEY=<JINA_API_KEY> -- npx -y @marsnme/mcp-gateway` with your profile identifier and API credentials.
What does MarsNMe do?
It provides an MCP gateway that stores agent conversational history in Supabase and runs semantic searches using Jina embeddings.
What database role is required for MarsNMe schema migrations?
Migrations need a DDL-capable role, recommended as supabase_admin on Supabase rather than the default postgres role.