deerdawn について
deerdawn は、MCP 対応エージェント向けのホステッド型 AI セッションメモリーサービスです。プロジェクトごとのタスク、決定事項、阻害要因を保存し、新しいセッションの開始時に要約を渡します。ローカル版は自動記録とリポジトリへのコンテキストファイル書き込みにも対応します。
主な機能
- 01セッション開始時にプロジェクト要約を提供
- 02プロジェクトごとのタスクと決定事項を管理
- 03プロジェクト横断のコンテキスト検索
- 04ローカルコンテキストファイルの取り込み
- 05パスとデバッグ知見の記録
- 06ローカル版でセッションを自動記録
活用シーン
- 01異なるツール間でプロジェクト作業を継続
- 02新しいセッションでタスクや阻害要因を把握
- 03CLAUDE.md や AGENTS.md からコンテキストを取り込み
- 04後続セッション向けにパスやデバッグ知見を保存
MCP 対応
ホステッド HTTP MCP サーバーとローカル stdio サーバーを提供し、対応クライアントにセッションメモリーとワークスペース知識のツールを公開します。ホステッド版は中核ツールを18個、ローカル版は35個提供します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://api.deerdawn.com/mcpclaude mcp add --transport http com-deerdawn-deerdawn https://api.deerdawn.com/mcp{"mcpServers":{"com-deerdawn-deerdawn":{"type":"http","url":"https://api.deerdawn.com/mcp"}}}Cursor で開く{"servers":{"com-deerdawn-deerdawn":{"type":"http","url":"https://api.deerdawn.com/mcp"}}}VS Code で開く{"mcpServers":{"com-deerdawn-deerdawn":{"type":"http","url":"https://api.deerdawn.com/mcp"}}}{"mcpServers":{"com-deerdawn-deerdawn":{"serverUrl":"https://api.deerdawn.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
DeerDawn MCP サーバー
セッションのたびに、何も知らない状態から始める必要はありません。新しい AI セッションは、プロジェクトの概要を把握した状態で始まります。
DeerDawn は、Claude Code、Claude.ai、Claude Desktop、ChatGPT、Cursor、Windsurf、VS Code、Zed、Codex、その他あらゆる MCP 対応エージェント向けの AI セッションメモリー、つまり AI のチーフ・オブ・スタッフです。どこでセッションを始めても、start_session がエージェントに概要を渡します。取り組んでいたこと、決定したこと、進行を妨げていることを共有するので、どのセッションも何も知らない状態から始まることはありません。
このリポジトリについて。 DeerDawn はホステッドサービスです。このリポジトリには、 公開インストールガイド、MCP レジストリに公開されている
server.jsonマニフェスト、 および公開済みの npm パッケージを起動する Dockerfile が含まれています。サーバー本体は npm から@deerdawn/mcp-serverとして提供されます。 ソースコードは公開されていません。こちらでの課題報告や質問を歓迎します。
クイックスタート — ホステッドサーバー(推奨、インストール不要)
ホステッド MCP エンドポイントに接続します。API キーは不要です。DeerDawn のツールが初めて呼び出されたときに、ブラウザーでサインインします。
Claude Code
claude mcp add -s user --transport http deerdawn https://api.deerdawn.com/api/v1/mcp
その他のすべてのツール — 次の URL を使って、リモート MCP サーバー(コネクターと呼ばれる場合もあります)を追加します。
https://api.deerdawn.com/api/v1/mcp
| ツール | 場所 |
|---|---|
| Claude.ai | 設定 → コネクター → カスタムコネクターを追加 |
| ChatGPT.com | 設定 → コネクター → MCP サーバーを追加(OAuth を選択) |
| Cursor | 設定 → MCP → サーバーを追加、または .cursor/mcp.json に "url" エントリを追加 |
| VS Code / Copilot | コマンドパレット → MCP: サーバーを追加 → HTTP → URL を貼り付け |
| Windsurf、Gemini、その他 | URL を使ってカスタムのリモート / HTTP MCP サーバーを追加 |
OAuth クライアントの各フィールドは空欄のままにしてください。「接続」をクリックする(またはツールを再起動する)と、DeerDawn のタブが開くのでサインインします。サインインを求められずにツールが接続された場合は、最初の DeerDawn ツール呼び出しでサインイン URL が返されます。その URL を開いて一度サインインしてから、呼び出しを再試行してください。セットアップは自動的に完了します。
次に、「DeerDawn セッションを開始して」と伝えます。
ホステッドサーバーでは、セッションメモリーの中核となる 18 個のツールを利用できます。リポジトリファイルへの書き込み、自動キャプチャフック、および全 35 個のツールを利用するには、以下のローカルインストールを使用してください。
ローカルインストール(stdio) — オプションのアップグレード
より深い統合が必要な場合は、npx -y @deerdawn/mcp-server@latest を使って、お使いのマシンでサーバーを実行します。
- リポジトリに
.deerdawn-context.md/.cursorrulesを書き込み、ツールを呼び出さなくてもコンテキストを読み込めるようにします。 - SessionStart / Stop フックをインストールし、コンテキストを自動的にキャプチャしてフラッシュします。
- 全 35 個のツールを利用できます(ホステッドサーバーでは中核となる 18 個を利用できます)。
サインイン方法は同じです。デフォルトではブラウザー OAuth を使い、API キーは必要ありません。認証情報のない状態で初めて実行すると、サーバーはデバイスフローによるサインインを開始します。URL は stderr に出力され、~/.deerdawn/pending-auth.json に保存されるほか、get_auth_status ツールからインバンドで返されます(stderr が表示されない GUI ホストでは、このツールを使用してください)。ブラウザーで承認すると、認証情報が ~/.deerdawn/credentials.json に保存され、以後のすべてのセッションで認証されます。
対話型でない認証を希望しますか(CI、ヘッドレス、SSH など)。app.deerdawn.com → Settings → API Keys でキーを作成し(dd_ で始まります)、設定の env ブロックで DEERDAWN_API_KEY を設定してください。以後、ブラウザーでのサインインは完全に省略されます。
Claude Code(CLI)
セットアップコマンドを実行します。サーバーの登録、サインイン、フックの設定が一度に完了します。
npx -y @deerdawn/mcp-server@latest setup
または、手動で登録します(すべてのプロジェクトで使えるように、ユーザースコープで登録してください)。
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
登録後、Claude Code を再起動してください。まだサインインしていない場合は、get_auth_status を呼び出すと、サインインを完了するためのブラウザー URL が返されます。
Claude Desktop
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
~/.cursor/mcp.json(macOS、Linux、Windows で同じパスです):
{
"mcpServers": {
"deerdawn": {
"command": "npx",
"args": ["-y", "@deerdawn/mcp-server@latest"],
"env": {
"DEERDAWN_API_URL": "https://api.deerdawn.com"
}
}
}
}
Windsurf
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"
}
}
}
}
VS Code(GitHub Copilot / Continue)
.vscode/settings.json またはユーザーの settings.json に追加します。
{
"mcp": {
"servers": {
"deerdawn": {
"command": "npx",
"args": ["-y", "@deerdawn/mcp-server@latest"],
"env": {
"DEERDAWN_API_URL": "https://api.deerdawn.com"
}
}
}
}
}
Continue の場合(~/.continue/config.json):
{
"mcpServers": [
{
"name": "deerdawn",
"command": "npx",
"args": ["-y", "@deerdawn/mcp-server@latest"],
"env": {
"DEERDAWN_API_URL": "https://api.deerdawn.com"
}
}
]
}
Zed
~/.config/zed/settings.json に追加します。
{
"context_servers": {
"deerdawn": {
"command": {
"path": "npx",
"args": ["-y", "@deerdawn/mcp-server@latest"],
"env": {
"DEERDAWN_API_URL": "https://api.deerdawn.com"
}
}
}
}
}
Codex(OpenAI)
~/.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"
これらの設定でブラウザーサインインを省略するには、env ブロックに "DEERDAWN_API_KEY": "dd_your_key_here" を追加します(Codex TOML の場合は、[mcp_servers.deerdawn.env] の下に DEERDAWN_API_KEY = "dd_your_key_here" を追加します)。
ホスト名に関する注意
一部の MCP ホストでは、ツール名にサーバーのプレフィックスが付いています(例:get_auth_status ではなく deerdawn-get_auth_status)。
ツール名が見つからない場合は、deerdawn- を付けた名前でもう一度試してください。
環境変数
すべて任意です。環境変数を設定しなくても、サーバーは起動し、ブラウザーサインインの手順を案内します。
| 変数 | 必須 | デフォルト | 説明 |
|---|---|---|---|
DEERDAWN_API_URL | いいえ | https://api.deerdawn.com | API のベース URL です。セルフホスト環境またはステージング環境の場合にのみ変更してください。 |
DEERDAWN_SURFACE_ID | いいえ | 自動検出 | このサーバーが実行されるツール(claude_code、cursor、codex)です。未設定の場合は MCP クライアントから検出されます。セッションの帰属先を固定するには、明示的に設定してください。 |
DEERDAWN_API_KEY | いいえ | — | 非対話型認証(CI/ヘッドレス環境)用の API キー(dd_...)です。デフォルトではブラウザー OAuth サインインが使用されます。app.deerdawn.com → Settings → API Keys で取得してください。 |
セッションメモリツール
ローカルサーバーは 35 個のツールを公開します(ホスト型リモートサーバーが公開するコアツールは 18 個です)。以下は、各セッションで使用するツールです。
start_session
すべてのセッションの開始時に呼び出してください。 現在のディレクトリに対応するアクティブなプロジェクトのコンテキストと、他のすべてのプロジェクトの簡潔な概要マップを返します。API 呼び出しは 1 回で、合計約 100~180 トークンです。list_context_map と get_context を個別に呼び出さないでください。このツールが両方の代わりになります。
update_context
コンテキストを更新します。次の場合は必ず呼び出してください:決定が下されたとき、現在のタスクが変わったとき、ブロッカーが見つかったとき、または意味のある進捗があったとき。セッションの最後まで待たないでください。更新は手軽にでき、次のセッションで読む概要を最新の状態に保てます。
project_id: "proj-abc123"
summary: "Switched auth from JWT to session tokens — JWT had XSS risk via localStorage. Now using Redis-backed sessions."
get_context
セクションを指定してプロジェクトのコンテキストを取得します。デフォルトでは [task, status](約 30 トークン)を返します。すべてを取得するには sections=["all"] を指定します。
project_id: "proj-abc123"
sections: ["task", "decisions", "blocking"]
import_local_context
現在のディレクトリにある CLAUDE.md、AGENTS.md、または .cursorrules からコンテキストをインポートします。最初は confirmed: true を指定せずに呼び出してください。インポート内容の無料プレビューが表示されます。その後、confirmed: true を指定してもう一度呼び出し、確定します。
complete_setup
不安定なホスト向けの 1 回で完了するセットアップ用フォールバックです。認証状態を確認し、対象サーフェスのローカルセットアップを適用します。また、ローカルファイルが見つかった場合は import_local_context のプレビューと確定を実行します。
例:
complete_setup
{
"surface": "cursor"
}
cleanup_context
引き継ぎ時または作業完了時にタスクの状態を整理します。アクティブなタスクを完了としてマークし、未完了タスクのコマンド履歴をクリアして、次のエージェントが整理された状態で作業を始められるようにします。
タスクが明らかに完了しており、未解決の質問がない場合は、追加の確認手順を挟まずに complete_task=true を指定して自動的に呼び出してください。
cleanup_context
{
"complete_task": true
}
search_context
すべてのプロジェクトを対象に検索します。例:「認証に関する決定事項」、「PostgreSQL を使用しているプロジェクト」、「請求関連の作業を妨げているもの」。
list_projects
ID と最終更新日時を含む、すべてのプロジェクトの一覧を表示します。プロジェクトのインデックスが明示的に必要な場合に使用してください。通常の起動時には、start_session を優先してください。
create_project
既存のプロジェクトエントリがない作業を始めるときに、新しいプロジェクトを作成します。
ワークスペース知識ツール
get_workspace_overview
セッション開始時には mode=startup を使用して、簡潔な概要を確認します。ユーザーが「今、何に取り組んでいますか?」と尋ねた場合や、より広い全体像を求めている場合は、mode=overview を使用します。
get_workspace_entities
型付きのワークスペース知識(決定事項、ツール、環境、機能)を詳しく調べます。types、query、status、または project_id で絞り込めます。
get_project_map
永続的なファイル単位のプロジェクトメモリを返します。ホットパス、エントリーポイント、名前付きのサーフェス、デバッグメモが含まれます。パスがすでに分かっている可能性がある場合は、リポジトリ全体を検索する前に使用してください。
find_known_paths
リポジトリ検索を使う前に、"auth modal" や "signup route" のようなクエリで、DeerDawn の永続的なパスメモリを検索します。
get_next_best_context
現在のツールと作業ディレクトリに基づいて、次に取得するコンテキストの候補を優先順位付きで取得します。
upsert_workspace_entities
複数のプロジェクトに適用されるツール、環境、アーキテクチャ上の決定事項、機能など、永続的なワークスペース知識を作成または更新します。
record_hot_paths
発見したファイルまたはフォルダーのパスを DeerDawn に記録し、今後のセッションで再発見することなく状況を把握できるようにします。
record_debug_finding
簡潔で永続的なデバッグ情報を保存します。特定のパスに関連付けることもできます。
仕組み
新しい AI セッションはプロジェクトについて何も知りません。ゼロから始めることになります。DeerDawn は代わりに概要を渡します。
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
概要はプロジェクトごとに保存されます。重要な決定事項にはフラグが付けられ、トークン予算にかかわらず常に最初に表示されます。セクションが省略された場合は、何が省略されたのか、取得する方法が正確に表示されます。
インストールの確認
設定を保存してエージェントを再起動したら、最初に start_session を呼び出します。
start_session
アクティブなプロジェクトのコンテキストが返された場合、DeerDawn はすでに接続されています。これで完了です。残りの手順はスキップしてください。(ローカルサーバーではなく、ホスト型リモート/claude.ai コネクターを介して接続した場合、これは通常の動作です。そのビルドには apply_setup と import_local_context はなく、不要です。コンテキストは自動的に読み込まれます。)
start_session から未認証であると報告された場合は、サインインを完了してコンテキストをシードします。
get_auth_status
import_local_context
import_local_context {"confirmed":true}
start_session
cleanup_context {"complete_task":true}
ホストがツール名に接頭辞を付ける場合は、代わりに deerdawn-get_auth_status と deerdawn-import_local_context を使用してください。
セットアップ中にホストが不安定な場合は、1 回の呼び出しで済む代替手段として complete_setup {"surface":"claude_code"} を実行してください。認証を確認し、サーフェスのセットアップを自動的に適用して、ローカルコンテキストを 1 回の呼び出しでインポートします。apply_setup は内部で呼び出されるため、手動で実行する必要はありません。
アクティブなプロジェクトのコンテキスト(または新しいワークスペースの場合はローカルコンテキストのインポートを促すメッセージ)が返されます。代わりにエラーが表示された場合は、次の手順を試してください。
get_auth_statusを呼び出し、返された URL からブラウザーでのサインインを完了します(代わりにDEERDAWN_API_KEYを設定した場合は、dd_で始まっていることを確認してください)- エージェントを完全に再起動します(再読み込みだけでは不十分です)
- MCP のログを確認します。
~/Library/Logs/Claude/mcp*.log(Claude Desktop)または同等の場所を確認してください
トラブルシューティング
DeerDawn のツールがエージェントに表示されない サーバー自体は環境変数がなくても起動するため、API キーが設定されていなくても起動は妨げられません。DeerDawn のツールが表示されない場合は、次の手順を行ってください。
- 設定を保存した後、エディターを完全に再起動します(再読み込みだけでは不十分です)
- MCP のログを確認します。
- Claude Desktop:
~/Library/Logs/Claude/mcp*.log - Cursor:View → Output → MCP
- Windsurf:Help → Toggle Developer Tools → Console
- VS Code:出力パネル → MCP
- Zed:Help → Toggle Dev Tools → Console
- Claude Desktop:
認証エラー/サインインしていない
get_auth_status を呼び出すと、ブラウザーでのサインイン用 URL が返されます。URL を開いて承認した後、ツール呼び出しを再試行してください。セットアップは自動的に完了します。DEERDAWN_API_KEY を設定する場合は、dd_ で始まる必要があります。
サインイン時にレート制限(HTTP 429)が報告される セットアップ中に短時間で何度か再起動すると発生します。再試行する前に1分ほどお待ちください。すぐにセットアップをやり直すと、引き続き制限に達します。
start_session でプロジェクトが返されない
import_local_context を呼び出します(最初は confirmed: true を指定せずに)。現在のディレクトリにある CLAUDE.md または AGENTS.md からコンテキストを取り込みます。
応答が遅い
初回のインポート時には抽出パイプラインが実行されます。以降の start_session 呼び出しは高速です(コンテキスト検索がキャッシュされ、変更がない限り LLM 呼び出しはありません)。
開発
npm install
npm run build # compile TypeScript
npm run dev # watch mode
npm test # run tests
npm run lint
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。