Instead of manually writing a system prompt, this tool mines your actual conversation history — your word patterns, recurring topics, and habits of thought — and distils them into a ~3k character profile that meaningfully changes how an AI responds to you. The pipeline runs entirely locally. It never sends your conversation data anywhere. 1. Stream conversations-.json using ijson — never loads the
Add this skill
npx mdskills install tencircles/chatgpt-to-claude-mcpMines ChatGPT history to generate personal context profiles with clear workflow and privacy-first design
Turn your ChatGPT export into a personal context profile for Claude and GitHub Copilot.
Instead of manually writing a system prompt, this tool mines your actual conversation history — your word patterns, recurring topics, and habits of thought — and distils them into a ~3k character profile that meaningfully changes how an AI responds to you.
The pipeline runs entirely locally. It never sends your conversation data anywhere.
conversations-*.json using ijson — never loads the full file into memory"my game", "my startup") to boost relevant context~/.config/profile.mdBanned phrases persist to {export_dir}/banned_phrases.json and signal phrases to {export_dir}/signal_phrases.json so they survive reruns.
~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"chatgpt-to-claude": {
"command": "uvx",
"args": ["chatgpt-to-claude-mcp"]
}
}
}
Then restart Claude Desktop and say:
"Build my profile from my ChatGPT export at ~/Downloads/chatgpt-export"
.vscode/mcp.json:
{
"servers": {
"chatgpt-to-claude": {
"type": "stdio",
"command": "uvx",
"args": ["chatgpt-to-claude-mcp"]
}
}
}
pip install chatgpt-to-claude-mcp
chatgpt-to-claude-mcp
process_export(export_dir, banned_phrases?, extra_signal_phrases?)Runs the full pipeline. Returns:
top_proper_nouns — flag irrelevant ones to bantop_phrases — top bigrams, also available for banningdefault_signal_phrases — built-in signal markersextra_signal_phrases — your persisted domain-specific additionssignal_lines / signal_chars — size of the dense signal for reviewsynthesis_prompt — prompt to use when synthesisingread_signal(export_dir, max_lines?)Read the dense signal file after approving the config. Signal is scored highest-first — truncating from the bottom loses the least. Returns the text and a frequency summary.
save_profile(profile_content, export_dir)Writes the synthesised profile to ~/.config/profile.md (with timestamped backup if content has changed) and saves a local copy in {export_dir}/extracted/profile.md.
Settings → Data Controls → Export Data. You'll get a zip with conversations-*.json files.
MIT
Install via CLI
npx mdskills install tencircles/chatgpt-to-claude-mcpChatGPT To Claude MCP is a free, open-source AI agent skill. Instead of manually writing a system prompt, this tool mines your actual conversation history — your word patterns, recurring topics, and habits of thought — and distils them into a ~3k character profile that meaningfully changes how an AI responds to you. The pipeline runs entirely locally. It never sends your conversation data anywhere. 1. Stream conversations-.json using ijson — never loads the
Install ChatGPT To Claude MCP with a single command:
npx mdskills install tencircles/chatgpt-to-claude-mcpThis downloads the skill files into your project and your AI agent picks them up automatically.
ChatGPT To Claude MCP works with Claude Code, Claude Desktop, Cursor, Vscode Copilot, Windsurf, Continue Dev, Gemini Cli, Amp, Roo Code, Goose. Skills use the open SKILL.md format which is compatible with any AI coding agent that reads markdown instructions.