coach-memory
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@coach-memorysearch my coaching notes about leadership skills"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Personal Coach
A personal career-coach memory service. It ingests daily/weekly/quarterly coaching logs and notes, embeds them into Postgres (pgvector) for hybrid semantic + keyword search, and exposes that memory to Claude clients over an MCP server behind BetterAuth (OAuth + API keys). It also serves a small Next.js dashboard (timeline, search, notes capture, analytics) for browsing the same data directly.
Prerequisites
Node.js 22+
Docker (for the local Postgres/pgvector instance)
Related MCP server: mcp-server-claude
Local setup
Start Postgres:
docker compose up -dCopy/create
.env.localwith the required env vars (see below).Apply the schema (coach tables + better-auth tables):
npm run migrateCreate a login user and a sync API key:
ALLOW_SIGNUP=true npm run create-user -- <email> <password> npm run create-api-key -- sync-cli
Environment variables
Variable | Used by | Purpose |
| app, migrate, scripts | Postgres connection string |
| app | Embeddings for ingest/search |
| app | BetterAuth session/token signing secret |
| app | Public base URL BetterAuth issues callbacks against |
| sync CLI | Base URL of the Personal Coach server to sync against |
| sync CLI | API key (from |
Scripts
npm test # run the test suite (vitest, against .env.test)
npm run build # production build (next build)
npm run sync # push local docs, pull notes mirror, watermark progressCLI
A standalone personal-coach CLI is available for ingest and read access
(search, notes, context, person history, sync status) without the MCP/OAuth
flow — useful for scripts, cron jobs, or terminal use. It authenticates with
the same COACH_SYNC_API_KEY the sync script uses.
npm link # one-time, from this repo
personal-coach ingest # push career-coach/state/, pull new notes
personal-coach ingest path/to/file.json # push just one file
personal-coach search "cash management" --topK=5
personal-coach notes list --type=idea
personal-coach notes add "some thought" --type=thought --tags=a,b
personal-coach context week 2026-06-15
personal-coach person "Tom" --since=2026-01-01
personal-coach statusAdd --json to any read command for machine-readable output.
Production deploy
Coolify (recommended — one resource, no manual proxy/DB wiring)
docker-compose.coolify.yml deploys the app and its pgvector database together as a
single "Docker Compose" resource:
In Coolify: New Resource → Docker Compose, point it at this repo, and set the Compose file path to
docker-compose.coolify.yml.Set two environment variables in the Coolify UI:
OPENAI_API_KEYandBETTER_AUTH_SECRET(openssl rand -hex 32). Everything else — the DB credentials, the app's public domain and TLS cert — is generated and wired automatically via Coolify'sSERVICE_FQDN/SERVICE_URLmagic variables.Deploy. The schema applies itself on every container boot (see
scripts/docker-entrypoint.mjs), so there's no separate migrate step.One-time bootstrap: temporarily expose the
dbservice's port (or use an SSH tunnel to the Coolify host), then from your local checkout run against thatDATABASE_URL:ALLOW_SIGNUP=true npm run create-user -- <email> <password> npm run create-api-key -- sync-cliConnect a Claude client to
https://<the-domain-coolify-assigned>/mcp.
Any other container host
The plain Dockerfile at the repo root also builds a standalone image on its own —
point it at any pgvector/pgvector Postgres instance, set the environment variables
above, and front it with your own TLS/reverse-proxy setup (e.g. a Cloudflare
Tunnel). The image still self-migrates on boot, so no separate npm run migrate
step is needed; only the one-time user/API-key bootstrap above applies.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/gianniskotsas/personal-coach'
If you have feedback or need assistance with the MCP directory API, please join our Discord server