# agentprofile — agent notes Canonical agent file for this repo. Any harness that reads `AGENTS.md` (Codex, Cursor, Copilot, Gemini CLI, Zed, Cline, Windsurf, …) gets it directly. agentprofile is your agent's identity, everywhere: one profile — skills, credentials, memory — synced to every agent tool through **one remote MCP URL**. ## Shape - `apps/worker` — the Cloudflare Worker: a **remote MCP server** (Streamable HTTP) backed by one Durable Object per profile (SQLite for memory, R2 for skill bundles), plus the landing page (`/`) and live dashboard (`/app`). - `packages/cli` — the `agentprofile` CLI: instant-profile onboarding, client auto-config, `doctor`, `skill add`. - `server.json` — the MCP registry manifest (remote `streamable-http` at `https://agentprofile.everyai-com.workers.dev/mcp`). ## Connect (any MCP client) One URL, two auth paths — OAuth discovery, or a bearer token from `npx @magicteams_ai/agentprofile`: ``` https://agentprofile.everyai-com.workers.dev/mcp ``` Per-harness snippets (Claude Code, Cursor, Codex CLI, VS Code) live in the README under "Connect (any MCP client)". The CLI auto-detects installed MCP clients and writes their config — add new clients there, not by hand. ## Commands ```bash npm install npm run typecheck # npm --workspaces --if-present run typecheck npm run dev # apps/worker npm run deploy # apps/worker ``` ## Invariants - The MCP surface is the product contract — `get_context`, `list_skills`, `get_skill`, and the memory/skill tools. Keep it stable; clients cache it. - Only the SHA-256 hash of a profile token is stored. Never log or commit a raw token. - `server.json` must match the deployed `/mcp` origin — update it whenever the Worker host changes.