Memxus MCP Server
One memory. Every AI. Nothing to install. Memxus works across Claude, ChatGPT, Cursor and Slack — and any app your team uses that needs to remember (Notion, Linear/Jira, Gmail, Salesforce/HubSpot, Intercom, Zendesk, Google Drive, Confluence, GitHub). No extension, no local setup, no repeated context. Save once. Remember everywhere.
Documentation
AI Memory Remote MCP Server
OAuth 2.1 + PKCE remote MCP server for Claude Connectors. Streamable HTTP transport; proxies memory tools to Supabase.
Environment
Copy .env.example to .env and set:
MCP_PUBLIC_URL— public URL of this server (no trailing slash)DASHBOARD_URL— Dash-AIMemory URL for login redirectSUPABASE_URL,SUPABASE_SERVICE_ROLE_KEYOAUTH_CLIENT_ID,ALLOWED_REDIRECT_URIS,CORS_ORIGINS- Optional:
OPENAI_API_KEYfor vector search
Run supabase/migration.sql after the dashboard migration.
Scripts
npm install
npm run dev # tsx watch
npm run build # tsc → dist/
npm start # node dist/index.js
npm run lint
npm run typecheck
Railway deploy
Guía completa: STEP_BY_STEP.md §6.
- Variables en Railway → Settings → Variables (no subir
.env). MCP_PUBLIC_URL= URL pública del servicio (Networking), sin/mcp.- Health check:
/health(railway.toml). - Node 20 on Railway: Supabase Realtime needs the
wspackage (configured insrc/lib/supabase.ts). Optional:RAILPACK_NODE_VERSION=22for native WebSocket.
npx skills add railwayapp/railway-skills --skill deploy
npx skills add railwayapp/railway-skills --skill environment
OAuth flow
- Client reads
/.well-known/oauth-authorization-server GET /oauth/authorize→ pending ticket → redirect to dashboard/api/oauth/mcp/authorize- User signs in (Google); dashboard sets
user_id+code_hashon ticket POST /oauth/tokenwith PKCE → issuesaimem_*bearer token (stored inapi_keys)POST /mcpwithAuthorization: Bearer aimem_...
POST /oauth/register implements Dynamic Client Registration (returns 201 with client_id).
Releases
- Add entries under
## [Unreleased]in CHANGELOG.md. - Bump
versioninpackage.json, server.json, andsrc/mcp/server.tswhen needed. - Move the changelog section to
## [X.Y.Z] - YYYY-MM-DD, commit, tag, and push:
git tag -a vX.Y.Z -m "Memxus MCP vX.Y.Z"
git push origin vX.Y.Z
Pushing a v* tag runs .github/workflows/release.yml (quality gate + GitHub Release with server.json attached).
Production endpoint: https://mcp.memxus.com/mcp — see REVIEWER.md for OAuth and Bearer setup.
Deferred
npm publish, MCP Registry submit, Connectors Directory listing, refresh tokens, multi-client OAuth UX.