Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Description from the maker (original English)
AI session memory: the brief your AI reads before every session so no session starts cold.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
DEERDAWN_API_URLYou need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://api.deerdawn.com/mcpOpen Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"deerdawn": {
"command": "npx",
"args": [
"-y",
"@deerdawn/mcp-server"
],
"env": {
"DEERDAWN_API_URL": "your-value"
}
}
}
}Run this in your terminal
claude mcp add --transport http deerdawn https://api.deerdawn.com/mcpclaude mcp add deerdawn --env DEERDAWN_API_URL=your-value -- npx -y @deerdawn/mcp-serverFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"deerdawn": {
"url": "https://api.deerdawn.com/mcp"
}
}
}Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"deerdawn": {
"command": "npx",
"args": [
"-y",
"@deerdawn/mcp-server"
],
"env": {
"DEERDAWN_API_URL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"deerdawn": {
"type": "http",
"url": "https://api.deerdawn.com/mcp"
}
}
}Paste into .vscode/mcp.json in your project
{
"servers": {
"deerdawn": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@deerdawn/mcp-server"
],
"env": {
"DEERDAWN_API_URL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://api.deerdawn.com/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
DEERDAWN_API_URL envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
We have not read this server’s tool list yet; we check endpoints in rotation.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified against the domain deerdawn.com (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Not checked yet; we check endpoints in rotation
Not checked yet; we check endpoints in rotation
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (1.0.53) reached the registry 2 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Context7, Codebase Memory, Exa
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Never start cold. Every new AI session opens already briefed on your project.
DeerDawn is AI session memory — your AI's chief of staff — for Claude Code, Claude.ai, Claude Desktop, ChatGPT, Cursor, Windsurf, VS Code, Zed, Codex, and any other MCP-compatible agent. Start a session anywhere and start_session hands the agent the brief: what you were working on, what was decided, and what's blocking — so no session starts cold.
About this repository. DeerDawn is a hosted service. This repo holds the
public install guide, the
server.jsonmanifest published to the MCP registry,
and a Dockerfile that launches the published npm package. The server itself
ships from npm as
@deerdawn/mcp-server;
its source is not open. Issues and questions are welcome here.
Connect to the hosted MCP endpoint. No API key needed — you sign in with your browser the first time a DeerDawn tool is called.
Claude Code
claude mcp add -s user --transport http deerdawn https://api.deerdawn.com/api/v1/mcp
Every other tool — add a remote MCP server (sometimes called a connector) with this URL:
https://api.deerdawn.com/api/v1/mcp
| Tool | Where |
|---|---|
| Claude.ai | Settings → Connectors → Add custom connector |
| ChatGPT.com | Settings → Connectors → Add MCP server (choose OAuth) |
| Cursor | Settings → MCP → Add server, or add a "url" entry in .cursor/mcp.json |
| VS Code / Copilot | Command palette → MCP: Add Server → HTTP → paste the URL |
| Windsurf, Gemini, others | Add a custom remote / HTTP MCP server with the URL |
Leave any OAuth client fields blank. Click Connect (or restart the tool) and sign in when the DeerDawn tab opens. If your tool connects without prompting for sign-in, the first DeerDawn tool call returns the sign-in URL — open it, sign in once, and retry the call; setup completes automatically.
Then say: "Start a DeerDawn session."
The hosted server exposes 18 core session-memory tools. For repo-file writes, automatic capture hooks, and the full 35-tool set, use the local install below.
Run the server on your machine via npx -y @deerdawn/mcp-server@latest when you want deeper integration:
.deerdawn-context.md / .cursorrules into your repo so context loads with no tool call.Sign-in works the same way — browser OAuth by default, no API key required. On first run without credentials, the server starts a device-flow sign-in: the URL is printed to stderr, saved to ~/.deerdawn/pending-auth.json, and returned in-band by the get_auth_status tool (use that in GUI hosts where stderr isn't visible). After you approve in the browser, credentials are saved to ~/.deerdawn/credentials.json and every future session is authenticated.
Prefer non-interactive auth (CI, headless, SSH)? Create a key at app.deerdawn.com → Settings → API Keys (it starts with dd_) and set DEERDAWN_API_KEY in the config's env block — browser sign-in is then skipped entirely.
Run the setup command — it registers the server, signs you in, and configures hooks in one step:
npx -y @deerdawn/mcp-server@latest setup
Or register manually (user scope so it works across all projects):
claude mcp add -s user deerdawn -e DEERDAWN_API_URL=https://api.deerdawn.com -e DEERDAWN_SURFACE_ID=claude_code -- npx -y @deerdawn/mcp-server@latest
Restart Claude Code after registering. If you haven't signed in yet, call get_auth_status — it returns the browser URL to complete sign-in.
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": { "deerdawn": { "command": "npx", "args": ["-y", "@deerdawn/mcp-server@latest"], "env": { "DEERDAWN_API_URL": "https://api.deerdawn.com" } } } }
~/.cursor/mcp.json (same path on macOS, Linux, and Windows):
{
"mcpServers": { "deerdawn": { "command": "npx", "args": ["-y", "@deerdawn/mcp-server@latest"], "env": { "DEERDAWN_API_URL": "https://api.deerdawn.com" } } } }
macOS: ~/.codeium/windsurf/mcp_config.json Windows: %APPDATA%\Codeium\windsurf\mcp_config.json
{
"mcpServers": { "deerdawn": { "command": "npx", "args": ["-y", "@deerdawn/mcp-server@latest"], "env": { "DEERDAWN_API_URL": "https://api.deerdawn.com" } } } }
Add to .vscode/settings.json or user settings.json:
{
"mcp": { "servers": { "deerdawn": { "command": "npx", "args": ["-y", "@deerdawn/mcp-server@latest"], "env": { "DEERDAWN_API_URL": "https://api.deerdawn.com" } } } } }
For Continue (~/.continue/config.json):
{
"mcpServers": [ { "name": "deerdawn", "command": "npx", "args": ["-y", "@deerdawn/mcp-server@latest"], "env": { "DEERDAWN_API_URL": "https://api.deerdawn.com" } } ] }
Add to ~/.config/zed/settings.json:
{
"context_servers": { "deerdawn": { "command": { "path": "npx", "args": ["-y", "@deerdawn/mcp-server@latest"], "env": { "DEERDAWN_API_URL": "https://api.deerdawn.com" } } } } }
Add to ~/.codex/config.toml:
[mcp_servers.deerdawn]
command = "npx" args = ["-y", "@deerdawn/mcp-server@latest"] startup_timeout_sec = 120
[mcp_servers.deerdawn.env] DEERDAWN_API_URL = "https://api.deerdawn.com"
To skip browser sign-in in any of these configs, add "DEERDAWN_API_KEY": "dd_your_key_here" to the env block (Codex TOML: DEERDAWN_API_KEY = "dd_your_key_here" under [mcp_servers.deerdawn.env]).
Some MCP hosts expose tools with a server prefix (for example deerdawn-get_auth_status) instead of bare names (get_auth_status). If a tool name is not found, retry with the deerdawn- prefixed variant.
All optional. With no env vars at all, the server starts and walks you through browser sign-in.
| Variable | Required | Default | Description |
|---|---|---|---|
DEERDAWN_API_URL | No | https://api.deerdawn.com | API base URL. Only change for self-hosted or staging. |
DEERDAWN_SURFACE_ID | No | auto-detected | Which tool this server runs in (claude_code, cursor, codex). Detected from the MCP client when unset; set it explicitly to pin session attribution. |
DEERDAWN_API_KEY | No | — | API key (dd_...) for non-interactive auth (CI/headless). Default is browser OAuth sign-in. Get one at app.deerdawn.com → Settings → API Keys. |
The local server exposes 35 tools (the hosted remote exposes 18 core ones). These are the ones to reach for in every session.
start_sessionCall this at the start of every session. Returns the active project context for the current directory plus a compact map of all other projects — one API call, ~100–180 tokens total. Do not call list_context_map + get_context separately; this replaces both.
update_contextPush a context update. Call this whenever: a decision is made, the current task changes, a blocker is found, or meaningful progress happens. Don't wait until the end of the session — updates are cheap and keep the brief every new session reads current.
project_id: "proj-abc123"
summary: "Switched auth from JWT to session tokens — JWT had XSS risk via localStorage. Now using Redis-backed sessions."
get_contextGet project context by section. Defaults to [task, status] (~30 tokens). Pass sections=["all"] for everything.
project_id: "proj-abc123"
sections: ["task", "decisions", "blocking"]
import_local_contextImport context from CLAUDE.md, AGENTS.md, or .cursorrules in the current directory. Call without `confirmed: true` first — it shows a free preview of what would be imported. Then call again with confirmed: true to commit.
complete_setupOne-call setup fallback for brittle hosts: checks auth status, applies local setup for a surface, and runs import_local_context preview + confirmation if local files are found.
Example:
complete_setup
{ "surface": "cursor" }
cleanup_contextClean up task state at handoff or finish time. Use this to mark the active task complete and clear open-task command history so the next agent sees clean state.
When the task is clearly done and there are no unresolved questions, call this automatically with complete_task=true (no extra confirmation loop).
cleanup_context
{ "complete_task": true }
search_contextSearch across all projects. Examples: "decisions about authentication", "projects using PostgreSQL", "what's blocking the billing work".
list_projectsList all projects with IDs and last-updated timestamps. Use this when you explicitly need a project index. For normal startup, prefer start_session.
create_projectCreate a new project when starting something that has no existing project entry.
get_workspace_overviewUse mode=startup at the start of a session for a compact orientation brief. Use mode=overview when the user asks "what am I working on?" or wants a broader picture.
get_workspace_entitiesDrill into typed workspace knowledge: decisions, tools, environments, capabilities. Filter by types, query, status, or project_id.
get_project_mapReturn durable file-level project memory: hot paths, entrypoints, named surfaces, and debugging notes. Use this before repo-wide search when the path may already be known.
find_known_pathsSearch DeerDawn’s durable path memory for queries like "auth modal" or "signup route" before using repo search.
get_next_best_contextGet ranked suggestions for what context to fetch next, given the current tool and working directory.
upsert_workspace_entitiesCreate or update durable workspace knowledge — tools, environments, architectural decisions, or capabilities that apply across multiple projects.
record_hot_pathsWrite discovered file or folder paths back into DeerDawn so future sessions can orient without re-discovering them.
record_debug_findingStore concise durable debugging findings, optionally tied to specific paths.
A fresh AI session knows nothing about your project — it would start cold. DeerDawn hands it the brief instead.
You work in Claude Code, Cursor, or ChatGPT
→ DeerDawn captures the session (via MCP, browser extension, or desktop app) → Extraction pipeline distills what changed (task, decisions, blockers, stack) into the brief → The brief is stored per-project in your workspace and kept current → Next session would start cold — instead start_session hands it the brief in one call → Every new session opens already briefed, never from a blank slate
The brief is stored per-project. Critical decisions are flagged and always surface first, regardless of token budget. If sections are trimmed, you'll see exactly what was dropped and how to retrieve it.
After saving your config and restarting the agent, call start_session first:
start_session
If it returns your active project context, Deer
Only the beginning is shown; read the rest in the repo