Skip to main content

Convert your ChatGPT export into a personal context profile for Claude and GitHub Copilot

Project description

chatgpt-to-claude-mcp

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.

How it works

The pipeline runs entirely locally. It never sends your conversation data anywhere.

  1. Stream conversations-*.json using ijson — never loads the full file into memory
  2. Extract user-only messages (assistant responses are just mirrors of your input)
  3. Score lines by a weighted blend of word frequency relevance (60%) and Shannon entropy (40%), with context window expansion (±0–3 surrounding lines)
  4. Surface the top proper nouns from your history — names, projects, companies — and ask which to exclude as noise (old employers, irrelevant contacts, etc.)
  5. Re-run with updated banned phrases for a cleaner signal
  6. Synthesise a profile via the LLM from the dense signal text
  7. Install globally at ~/.config/profile.md with symlinks for Claude (~/.claude/CLAUDE.md) and Copilot (~/.copilot/copilot-instructions.md)

Banned phrases are persisted to {export_dir}/banned_phrases.json so they survive reruns.

Requirements

  • Python 3.11+
  • uv (recommended) or pip

Add to Claude Desktop

~/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"

Add to GitHub Copilot (VS Code)

.vscode/mcp.json:

{
  "servers": {
    "chatgpt-to-claude": {
      "type": "stdio",
      "command": "uvx",
      "args": ["chatgpt-to-claude-mcp"]
    }
  }
}

Install via pip

pip install chatgpt-to-claude-mcp
chatgpt-to-claude-mcp

Tools

process_export(export_dir, banned_phrases?)

Runs the full pipeline. Returns:

  • top_proper_nouns — review these with the user, flag irrelevant ones
  • dense_signal — scored excerpts for profile synthesis
  • synthesis_prompt — prompt to use when synthesising the profile

save_profile(profile_content, export_dir)

Writes the synthesised profile and installs symlinks.

Getting your ChatGPT export

Settings → Data Controls → Export Data. You'll get a zip with conversations-*.json files.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chatgpt_to_claude_mcp-0.1.0.tar.gz (11.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chatgpt_to_claude_mcp-0.1.0-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file chatgpt_to_claude_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: chatgpt_to_claude_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 11.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for chatgpt_to_claude_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3cbd2b3a06c5f458f67351a82cbb3669312d2eaa73e758d21952597758b18a43
MD5 ac71c9c990b54a6432053a8bb095246d
BLAKE2b-256 220a50ca6873f418280d6728dc5ed9e9751ad1d665c57d636977c2c1223e2d0c

See more details on using hashes here.

Provenance

The following attestation bundles were made for chatgpt_to_claude_mcp-0.1.0.tar.gz:

Publisher: publish.yml on tencircles/chatgpt-to-claude-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file chatgpt_to_claude_mcp-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for chatgpt_to_claude_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 55a4f203c96e7357d0777ab946f5d57d81a912215b0cb7c91eb5376f9c316cde
MD5 d239fbe8e13a50e6fa3ab6cb772742d9
BLAKE2b-256 1bfb532f8727886d42b8da41c6912fea6fe1f0c710dd00fc900a92ba70a0ef41

See more details on using hashes here.

Provenance

The following attestation bundles were made for chatgpt_to_claude_mcp-0.1.0-py3-none-any.whl:

Publisher: publish.yml on tencircles/chatgpt-to-claude-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page