OpenSEO
Keyword research, site audits, rank tracking and AI visibility for your AI agent.
Graph-backed session memory for LLMs: checkpoint, resume, file analysis, token-savings stats.
使っているAIアプリを選んで、設定をコピーしてください。
チェック 3/3 合格 · あなたのパソコンで動きます · ✓ コマンド確認済み 2026年11月14日
まず:どの AI を使っていますか?
使っているアプリを選ぶと、下に手順が表示されます。
Claude につなげますが、先に準備が必要です
Tokenmizer のキーが必要です(提供元のサイトで作成) · 先にパソコンへ Python (uv) を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません
このメッセージを Claude のチャットに貼り付けます。AI がパソコンを確認し、変更するファイルを伝え、毎回あなたの了承を待ちます。
このパソコンの Claude に MCP server Tokenmizer を入れてください。順番に:1) uv --version で uv があるか確認。なければ https://docs.astral.sh/uv/getting-started/installation/ から入れるよう私に伝え、自分では入れない。2) この設定だけを使う(PopNx MCP の確認済み):{ "mcpServers": { "tokenmizer": { "command": "uvx", "args": [ "tokenmizer" ], "env": { "TOKENMIZER_API_KEY": "your-value" } } } } 3) 変更するファイルのフルパスか実行するコマンドを伝えて、私の了承を待つ。4) TOKENMIZER_API_KEY は "your-value" のままにして、本当の値は私がファイルかアプリの入力欄に自分で貼るよう伝える。チャットにキーを書かせない。5) 了承した内容を実行し、Tokenmizer のツールが本当に表示されるか確認する。このメッセージにあなたのキーは含まれません。キーが必要な場合は、AI がファイルやアプリの入力欄にご自身で貼るよう案内します。
もう入っていますか?先に確認 · ターミナルを開き、このコマンドを入力して Enter
uv --versionMac:⌘ + Space を押し、Terminal と入力して Enter
Windows:スタートメニューを開き、Windows PowerShell と入力して「開く」
まだ入っていない場合: uv にはクリック式のインストーラーがありません。uv 公式ページからお使いの OS(macOS か Windows)用の 1 行コマンドをコピーしてターミナルに貼り付けます · Python を別に入れる必要はなく、必要なときに uv が自動で取得します
入れ終わったらターミナルを閉じて開き直し、同じコマンドをもう一度実行します。バージョン番号が出れば完了です: uv --version
一度入れれば、uv を使うすべてのツールで使えます
提供元のサイトで登録し、次の手順で使う API キーを作ります。料金や無料プランは提供元のサイトで確認してください。
キーの取り方は下の提供元 README にあります
SettingsDeveloperEdit Config
{
"mcpServers": {
"tokenmizer": {
"command": "uvx",
"args": [
"tokenmizer"
],
"env": {
"TOKENMIZER_API_KEY": "your-value"
}
}
}
}キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください
Tokenmizer を使って、私に何ができるか教えて、1 つやってみせて✓ Claude が Tokenmizer を使っていると言うか、回答に Tokenmizer のツール名が出れば接続成功です
上のコマンドはこれらがなくても動きます。変えたいときだけ作者の説明に沿って追加してください。
TOKENMIZER_URL Base URL of the running TokenMizer proxy (default http://localhost:8000)説明は英語の原文のままです。
メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
ChatGPT はまだ Tokenmizer につなげません
Tokenmizer はパソコンに入れて使うものですが、ChatGPT は Web 上で動くサーバーにしかつなげません
A · Tokenmizer につなげるアプリを使う
Claude Code につなげますが、先に準備が必要です
Tokenmizer のキーが必要です(提供元のサイトで作成) · 先にパソコンへ Python (uv) を入れてください(1 回だけ)
このメッセージを Claude Code のチャットに貼り付けます。AI がパソコンを確認し、変更するファイルを伝え、毎回あなたの了承を待ちます。
このパソコンの Claude Code に MCP server Tokenmizer を入れてください。順番に:1) uv --version で uv があるか確認。なければ https://docs.astral.sh/uv/getting-started/installation/ から入れるよう私に伝え、自分では入れない。2) この設定だけを使う(PopNx MCP の確認済み):claude mcp add --scope user tokenmizer --env TOKENMIZER_API_KEY=your-value -- uvx tokenmizer 3) 変更するファイルのフルパスか実行するコマンドを伝えて、私の了承を待つ。4) TOKENMIZER_API_KEY は "your-value" のままにして、本当の値は私がファイルかアプリの入力欄に自分で貼るよう伝える。チャットにキーを書かせない。5) 了承した内容を実行し、Tokenmizer のツールが本当に表示されるか確認する。このメッセージにあなたのキーは含まれません。キーが必要な場合は、AI がファイルやアプリの入力欄にご自身で貼るよう案内します。
もう入っていますか?先に確認 · ターミナルを開き、このコマンドを入力して Enter
uv --versionMac:⌘ + Space を押し、Terminal と入力して Enter
Windows:スタートメニューを開き、Windows PowerShell と入力して「開く」
まだ入っていない場合: uv にはクリック式のインストーラーがありません。uv 公式ページからお使いの OS(macOS か Windows)用の 1 行コマンドをコピーしてターミナルに貼り付けます · Python を別に入れる必要はなく、必要なときに uv が自動で取得します
入れ終わったらターミナルを閉じて開き直し、同じコマンドをもう一度実行します。バージョン番号が出れば完了です: uv --version
一度入れれば、uv を使うすべてのツールで使えます
提供元のサイトで登録し、次の手順で使う API キーを作ります。料金や無料プランは提供元のサイトで確認してください。
キーの取り方は下の提供元 README にあります
Mac:Command+スペースで Terminal と入力 · Windows:PowerShell を開く
claude mcp add --scope user tokenmizer --env TOKENMIZER_API_KEY=your-value -- uvx tokenmizerEnter の前に「your-value」を自分のキーに書き換えてください
キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください
Tokenmizer が一覧にあり、接続済みと表示されれば OK です
Tokenmizer を使って、私に何ができるか教えて、1 つやってみせて✓ Claude Code が Tokenmizer を使っていると言うか、回答に Tokenmizer のツール名が出れば接続成功です
上のコマンドはこれらがなくても動きます。変えたいときだけ作者の説明に沿って追加してください。
TOKENMIZER_URL Base URL of the running TokenMizer proxy (default http://localhost:8000)説明は英語の原文のままです。
メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
Cursor につなげますが、先に準備が必要です
Tokenmizer のキーが必要です(提供元のサイトで作成) · 先にパソコンへ Python (uv) を入れてください(1 回だけ)
このメッセージを Cursor のチャットに貼り付けます。AI がパソコンを確認し、変更するファイルを伝え、毎回あなたの了承を待ちます。
このパソコンの Cursor に MCP server Tokenmizer を入れてください。順番に:1) uv --version で uv があるか確認。なければ https://docs.astral.sh/uv/getting-started/installation/ から入れるよう私に伝え、自分では入れない。2) この設定だけを使う(PopNx MCP の確認済み):{ "mcpServers": { "tokenmizer": { "command": "uvx", "args": [ "tokenmizer" ], "env": { "TOKENMIZER_API_KEY": "your-value" } } } } 3) 変更するファイルのフルパスか実行するコマンドを伝えて、私の了承を待つ。4) TOKENMIZER_API_KEY は "your-value" のままにして、本当の値は私がファイルかアプリの入力欄に自分で貼るよう伝える。チャットにキーを書かせない。5) 了承した内容を実行し、Tokenmizer のツールが本当に表示されるか確認する。このメッセージにあなたのキーは含まれません。キーが必要な場合は、AI がファイルやアプリの入力欄にご自身で貼るよう案内します。
もう入っていますか?先に確認 · ターミナルを開き、このコマンドを入力して Enter
uv --versionMac:⌘ + Space を押し、Terminal と入力して Enter
Windows:スタートメニューを開き、Windows PowerShell と入力して「開く」
まだ入っていない場合: uv にはクリック式のインストーラーがありません。uv 公式ページからお使いの OS(macOS か Windows)用の 1 行コマンドをコピーしてターミナルに貼り付けます · Python を別に入れる必要はなく、必要なときに uv が自動で取得します
入れ終わったらターミナルを閉じて開き直し、同じコマンドをもう一度実行します。バージョン番号が出れば完了です: uv --version
一度入れれば、uv を使うすべてのツールで使えます
提供元のサイトで登録し、次の手順で使う API キーを作ります。料金や無料プランは提供元のサイトで確認してください。
キーの取り方は下の提供元 README にあります
Tokenmizer の設定で TOKENMIZER_API_KEY が空です。自分のキーを入れて保存します
キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください
Tokenmizer を使って、私に何ができるか教えて、1 つやってみせて✓ Cursor が Tokenmizer を使っていると言うか、回答に Tokenmizer のツール名が出れば接続成功です
上のコマンドはこれらがなくても動きます。変えたいときだけ作者の説明に沿って追加してください。
TOKENMIZER_URL Base URL of the running TokenMizer proxy (default http://localhost:8000)説明は英語の原文のままです。
メニュー名は 2026年11月11日 に Cursor のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
VS Code につなげますが、先に準備が必要です
Tokenmizer のキーが必要です(提供元のサイトで作成) · 先にパソコンへ Python (uv) を入れてください(1 回だけ)
このメッセージを VS Code のチャットに貼り付けます。AI がパソコンを確認し、変更するファイルを伝え、毎回あなたの了承を待ちます。
このパソコンの VS Code に MCP server Tokenmizer を入れてください。順番に:1) uv --version で uv があるか確認。なければ https://docs.astral.sh/uv/getting-started/installation/ から入れるよう私に伝え、自分では入れない。2) この設定だけを使う(PopNx MCP の確認済み):{ "servers": { "tokenmizer": { "type": "stdio", "command": "uvx", "args": [ "tokenmizer" ], "env": { "TOKENMIZER_API_KEY": "your-value" } } } } 3) 変更するファイルのフルパスか実行するコマンドを伝えて、私の了承を待つ。4) TOKENMIZER_API_KEY は "your-value" のままにして、本当の値は私がファイルかアプリの入力欄に自分で貼るよう伝える。チャットにキーを書かせない。5) 了承した内容を実行し、Tokenmizer のツールが本当に表示されるか確認する。このメッセージにあなたのキーは含まれません。キーが必要な場合は、AI がファイルやアプリの入力欄にご自身で貼るよう案内します。
もう入っていますか?先に確認 · ターミナルを開き、このコマンドを入力して Enter
uv --versionMac:⌘ + Space を押し、Terminal と入力して Enter
Windows:スタートメニューを開き、Windows PowerShell と入力して「開く」
まだ入っていない場合: uv にはクリック式のインストーラーがありません。uv 公式ページからお使いの OS(macOS か Windows)用の 1 行コマンドをコピーしてターミナルに貼り付けます · Python を別に入れる必要はなく、必要なときに uv が自動で取得します
入れ終わったらターミナルを閉じて開き直し、同じコマンドをもう一度実行します。バージョン番号が出れば完了です: uv --version
一度入れれば、uv を使うすべてのツールで使えます
提供元のサイトで登録し、次の手順で使う API キーを作ります。料金や無料プランは提供元のサイトで確認してください。
キーの取り方は下の提供元 README にあります
Tokenmizer の設定で TOKENMIZER_API_KEY が空です。自分のキーを入れて保存します
キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください
Tokenmizer を使って、私に何ができるか教えて、1 つやってみせて✓ VS Code が Tokenmizer を使っていると言うか、回答に Tokenmizer のツール名が出れば接続成功です
上のコマンドはこれらがなくても動きます。変えたいときだけ作者の説明に沿って追加してください。
TOKENMIZER_URL Base URL of the running TokenMizer proxy (default http://localhost:8000)説明は英語の原文のままです。
メニュー名は 2026年11月11日 に VS Code のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
Claude Code
claude mcp add --scope user tokenmizer --env TOKENMIZER_API_KEY=your-value -- uvx tokenmizerClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"tokenmizer": {
"command": "uvx",
"args": [
"tokenmizer"
],
"env": {
"TOKENMIZER_API_KEY": "your-value"
}
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"tokenmizer": {
"command": "uvx",
"args": [
"tokenmizer"
],
"env": {
"TOKENMIZER_API_KEY": "your-value"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"tokenmizer": {
"type": "stdio",
"command": "uvx",
"args": [
"tokenmizer"
],
"env": {
"TOKENMIZER_API_KEY": "your-value"
}
}
}
}TOKENMIZER_URL envTOKENMIZER_API_KEY 秘密 必須 env説明は自動翻訳です。変数名は原文のままです。迷ったら原文を確認してください。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
このサーバーのつなぎ方と、各アプリの公式ドキュメントに基づきます。2026年11月10日に確認。
パソコン上で動かせるアプリ
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月15日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント Shweta-Mishra-ai で確認済みです
コードの最終更新:昨日
MITを使用
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
OSV.dev に tokenmizer@0.3.1 の登録はありません
このバージョンのパッケージ本体のみ確認。すべての依存関係ではありません · 確認日 2026年11月15日
質問、コツの共有、使えないことの報告ができます。「役に立った」の多い順です。
まだレビューはありません
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック3項目のうち3項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:TOKENMIZER_API_KEY
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は昨日、最新バージョン(0.3.1)がレジストリに届いたのは4 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
同じカテゴリには:OpenSEO, Exa, Mockserver, Microsoft Learn MCP, Docs
同じカテゴリでほかの作者のもの。コマンドは確認済み。公式を先に、次にスター順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Keyword research, site audits, rank tracking and AI visibility for your AI agent.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Mock, record/replay, verify and chaos-test any HTTP, REST, gRPC or LLM dependency over MCP.
Official Microsoft Learn MCP Server – real-time, trusted docs & code samples for AI and LLMs.
Search and read Empryo's documentation. Read-only, no auth, no local access.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
TokenMizer
Your AI forgets why. TokenMizer remembers.
An OpenAI-compatible proxy that builds a knowledge graph of your session — decisions, files, errors, goals — and replays it when the
context window runs out. Not a summary: a queryable graph that knows "we switched from MongoDB to PostgreSQL, and here is why."
One line to adopt · works with Claude, GPT, Gemini, Grok, DeepSeek, Mistral, Cohere, Ollama · MIT
Quick start · See it · Claude Code & MCP · Benchmarks · Architecture · Roadmap
Real run: 25-node graph, checkpoint ckpt_21a0959c3ddf , 233-token resume. Regenerate with python scripts/gen_demo_gif.py .
Every AI session has a context limit. When you hit it, the model forgets every decision and every rationale built over hours of work, and you spend the first ten minutes of the next session re-explaining the project.
Summarising the history does not fix this. A summary tells you *what* was decided; it loses *why*, and it loses what was rejected — so the model happily re-proposes the thing you moved off three sessions ago.
pip install "tokenmizer[anthropic,cache]"
export TOKENMIZER_ANTHROPIC_API_KEY=sk-ant-... tokenmizer serve
Then change one line in your client:
from openai import OpenAI
client = OpenAI( api_key="your-key", base_url="http://localhost:8000/v1", # only this changes )
resp = client.chat.completions.create( model="claude-sonnet-4-6", messages=[{"role": "user", "content": "Continue where we left off"}], extra_body={"session_id": "my-project"}, # optional, enables memory )
Everything else is unchanged: same request shape, same response shape, plus a tokenmizer block reporting what was saved. Open http://localhost:8000 and the session is already there.
Windows, Ollama, Docker, and the full step-by-step
Windows (PowerShell)
$env:TOKENMIZER_ANTHROPIC_API_KEY = "sk-ant-..." # this session
setx TOKENMIZER_ANTHROPIC_API_KEY "sk-ant-..." # persistent
No API key? Ollama runs locally and free:
ollama pull llama3
pip install tokenmizer
provider: ollama in tokenmizer.yaml
Docker
docker compose up -d
Full installation notes, every provider's environment variable, and the configuration reference are in docs/configuration.md and docs/deployment.md.
Nothing here is a mockup. Every screenshot and the demo below are the shipped UI rendering a session from the labelled corpus in benchmarks/eval/corpus.
Radial → select a node → force → filter a type → timeline → light. Regenerate with python scripts/gen_graph_demo.py .
Select a node and you get its type, status, community, importance, confidence, when it was first seen and every relation it carries — the provenance behind a fact, not just the fact. Filter a type or a community and the counts move with it. Three layouts, a light theme and a PNG export are one click each.
It is one self-contained HTML file with no external requests, so it opens offline, works from a file:// URL, and can be sent to someone who has never installed TokenMizer.
Your sessions, the live resume block each one would inject right now, and its graph — not an example of one. The health pill reads /health, which reports degraded with the counters behind it when a write has failed, rather than saying ok whatever happened.
Each node type gets its own arc of the circle, named on the ring, and relations are drawn as chords bowed through the middle — so the shape of the session is readable before you read a single label, and which type a node is comes from *where it sits*, not from telling two hues apart. The palette is checked with a validator, not by eye: every adjacent pair clears the colour-blind separation floor, and the four types that carry no meaning of their own share one neutral grey.
The panel beside it counts what the session knows and what is missing — open issues, decisions changed, history gaps, unconnected nodes — then lists the detected communities, the hotspots everything hangs off, and which kinds of node point at which. Filter by type or community, search, click a node for the supersession chain behind it.
Timeline mode puts each node type in its own lane, ordered by when the fact entered the session, with supersessions drawn as arcs. When a whole transcript was checkpointed in one call every node shares a timestamp, so the axis says so and falls back to the order the session stated things rather than inventing dates.
TokenMizer is a local proxy between your app and any LLM. Every request passes through a pipeline that builds a live knowledge graph, compresses inputs, caches responses, and checkpoints before the context runs out.
flowchart LR
App["Your app OpenAI-compatible client "] subgraph TM["TokenMizer :8000"] direction TB L0[" L0 File intelligence"] L1[" L1 Prompt compression"] L2[" L2 Terse-output injection"] L4[" L4 Graph memory extract to window to inject "] L3[" L3 Semantic cache"] L5[" L5 Provider prompt cache"] L0 --> L1 --> L2 --> L4 --> L3 --> L5 end LLM["Claude · GPT · Gemini Grok · DeepSeek · Ollama"] DB[("SQLite graph · checkpoints · ownership ")]
App -->|"POST /v1/chat/completions"| TM TM --> LLM LLM -.->|response| TM TM -.->|"response + savings"| App L4 <-->|"per-row, locked"| DB
The graph is not a summary. It is typed nodes and edges — decisions, tasks, files, errors, goals — with a lifecycle, so a decision that gets replaced is marked superseded rather than deleted, and the transition records what triggered it. The resume block is a filtered projection of it: active decisions, open work, unresolved errors, in a few hundred tokens.
Edges carry the relations a session actually has. A task that fixed a bug FIXES the error node and closes it. An open error BLOCKS the task about it. A decision DEPENDS_ON the package it named. That is what the communities above are detected from, and what /why walks.
To Architecture — the request sequence, the data model, and the decision lifecycle.
Goal: FastAPI authentication service with JWT and PostgreSQL
Working on: refresh token rotation in api/auth.py | rate limiting using slowapi Done: Implemented POST /api/auth/login | Fixed the 422 in LoginRequest | User model in api/models.py Decided: Use JWT and PostgreSQL | bcrypt for password hashing | Redis for refresh token storage Changes: 'Use moment.js' -> 'Use date-fns' - tree-shakeable, saves 230KB Files: api/auth.py, api/models.py, config.py, tests/test_auth.py Continue from: Add rate limiting to auth endpoints
A few hundred tokens in place of the whole conversation. The Changes: line is the part a summary loses — and GET /api/graph/{session_id}/why?q=date-fns replays the full chain with the trigger, the reason and the evidence for each hop.
A session graph remembers what you decided *about this project*. It does not remember that you want short answers — that is true of you, not of the repository, and it has to survive starting a session somewhere else.
preferences:
enabled: true # off by default; read the note before turning it on
With it on, a turn like "I prefer TypeScript, and keep answers brief" is remembered per principal and injected as a few lines of system prompt. /api/preferences (GET) shows exactly what was remembered and the exact text it injects; the same path with DELETE and ?key=... forgets one, without a key forgets all of them.
**Off by default on