Chronica

Chronica

Persistent memory MCP server for Claude Desktop. Gives Claude structured memory across sessions with time-aware context, auto-save, and a Streamlit curation UI.

Category
访问服务器

README

Chronica 🗝️

A persistent memory layer for Claude Desktop via MCP
Claude Desktopに長期記憶を与えるMCPサーバー

"AI conversations forget everything when the session ends.
Chronica remembers — so Claude can pick up right where you left off."


What is Chronica?

Chronica is a Model Context Protocol (MCP) server that gives Claude Desktop persistent, structured memory across sessions.

When you start a new conversation, Claude automatically calls chronica.compose_opening — and greets you with awareness of:

  • ✅ The current time (PC local timezone, auto-detected)
  • ✅ How long it's been since your last conversation
  • ✅ What you were talking about last time

No more "I don't have context from previous sessions." Chronica solves this at the architecture level.


Chronicaとは?

Chronicaは、Claude Desktopに会話をまたいだ記憶を持たせるためのMCPサーバーです。

AIとの会話は、セッションが終わるとすべてリセットされます。
Chronicaを導入すると、Claudeが次回の会話開始時に自動で記憶を読み込み、自然に続きから話せるようになります。


Features / 機能

Tool Description
compose_opening 会話開始時に時刻・経過時間・前回トピックをコンテキスト生成
save_entry 会話内容をClaudeが自動保存(メモ・決定・タスクなど5種)
search タグ・種別・スレッドで記憶を検索
timeline 期間指定でタイムラインを取得
summarize 日次・週次・決定事項のサマリー生成
get_last_seen 最後に会話した時刻を取得
create_thread スレッド(会話トピック)を作成
list_threads スレッド一覧を取得
get_thread_info スレッドの詳細情報を取得

Curation UI(キュレーション画面)

Streamlit製の管理UIで、蓄積した記憶を整理できます。

  • 📋 記憶の一覧表示(種別・タグでフィルタ)
  • 🗑️ 不要な記憶の削除(編集不可・削除のみ)
  • 📊 トークン使用量の可視化(TOP 10・使用率)

Architecture / アーキテクチャ

Claude Desktop (Sonnet)
        │ MCP Protocol (STDIO)
        ▼
Chronica MCP Server (Python)
  └── src/chronica/
        ├── tools.py       # 9 MCP tools
        ├── opening.py     # Context generation
        ├── summarize.py   # Summary generation
        ├── store.py       # SQLite persistence
        └── timeparse.py   # Relative time parsing
        │ SQLite
        ▼
data/chronica.sqlite3

Design philosophy: Chronica is the single source of truth for time and memory structure. Claude acts purely as the interface — preventing hallucination by trusting only Chronica's structured output.


Requirements / 必要な環境


Installation / インストール

クイックセットアップ(推奨)

プロジェクトルートで以下を実行すると、仮想環境・依存パッケージ・Claude Desktop設定を一括で行います。

# Windows (PowerShell)
.\setup.ps1

# Windows (cmd)
setup.bat
# macOS / Linux
chmod +x setup.sh
./setup.sh

完了後、Claude Desktop / Claude Code を再起動してください。

Claude Code を使っている場合
セットアップ後、Chronica フォルダを開いて会話を開始すると、.mcp.json により Chronica が自動で読み込まれます。初回は MCP サーバーの利用許可を求められる場合があります。

「MCPサーバーは追加されていません」と表示される場合
claude.ai からダウンロードした MSIX 版は、別の設定パスを使用します。.\setup.ps1 を再実行すると、両方のパスに設定が書き込まれます。


手動セットアップ

1. Clone the repository

git clone https://github.com/Nic9dev/Chronica.git
cd Chronica

2. Create virtual environment / 仮想環境を作成

python -m venv .venv

# Windows
.venv\Scripts\activate

# macOS
source .venv/bin/activate

3. Install dependencies / 依存パッケージをインストール

pip install -r requirements.txt

4. Configure Claude Desktop / Claude Desktopに設定を追加

Claude Desktopの設定ファイル(claude_desktop_config.json)に以下を追加してください。

設定ファイルの場所 / Config file location:

  • Windows (MSIX版 / claude.aiからDL): %LOCALAPPDATA%\Packages\Claude_*\LocalCache\Roaming\Claude\claude_desktop_config.json
  • Windows (従来版 / exeインストール): %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

.\setup.ps1 を実行すると、MSIX版・従来版を自動検出して適切なパスに設定を書き込みます。

{
  "mcpServers": {
    "chronica": {
      "command": "C:/path/to/Chronica/.venv/Scripts/python.exe",
      "args": ["C:/path/to/Chronica/run_server.py"],
      "env": {
        "PYTHONPATH": "C:/path/to/Chronica/src"
      }
    }
  }
}

⚠️ C:/path/to/Chronica の部分はご自身の実際のパスに書き換えてください。
⚠️ Windowsでは / を使ってください(\ は不可)。

5. Restart Claude Desktop / Claude Desktopを再起動

設定後、Claude Desktopを再起動してください。
新しい会話を開始し、Claudeが自動で記憶を読み込むことを確認できます。


Usage / 使い方

初回起動後

新しい会話を始めると、Claudeが自動で chronica_compose_opening を呼び出し、コンテキストを読み込みます。特別な操作は不要です。

コネクタのオン/オフ(会話ごとに切り替え可能)

チャットの「+」ボタンまたは「/」でメニューを開き、「コネクタ」から Chronica をオン/オフできます。

コネクタ 記憶の保存 記憶の呼び出し 時間認識
ON 自動で行う 自動で行う あり
OFF 行わない 行わない なし
  • ON: 記憶の保存・呼び出し・時間認識が自動で行われます。
  • OFF: その会話では Chronica のツールは利用されません。記憶を使わない一時的な相談などに。

日常の使い方

  • 記憶の保存: 通常通り会話するだけ。Claudeが自動で重要な情報を保存します。
  • 記憶の検索: 「先週決めたことを教えて」など自然に聞くだけでOK。
  • キュレーションUI: 記憶が溜まってきたら、以下で整理できます。
# Windows (PowerShell)
.\run_curation.ps1

# Windows (cmd)
run_curation.bat

# または
python -m streamlit run app_curation.py

Roadmap

Phase 2(近日予定)

  • [ ] 重複記憶の自動検出(TF-IDF + コサイン類似度)
  • [ ] バッチ削除機能(複数選択)
  • [ ] 全文検索
  • [ ] エクスポート機能(JSON / CSV)

Phase 3(将来)

  • [ ] クラウド同期(Supabase + E2EE)
  • [ ] 複数デバイス対応

Phase 4(将来)

  • [ ] SaaS化・マルチテナント対応

License

MIT License — see LICENSE for details.


Author / 作者

Nic9 (にく9)
プログラミング未経験からAIと共に独学で複数のシステムを構築。
Chronicaは「AIと長く付き合い続けるための、個人的な基盤」として生まれました。


Contributing

Issues and PRs are welcome!
バグ報告・機能要望は Issues からどうぞ。

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选