Local MCP over logged-in ChatGPT/Claude/Grok tabs (export + ask, no vendor API keys)

English isn’t my first language — sorry for any awkward phrasing.

I first built a Chrome extension for myself: dump the current ChatGPT / Claude / Grok / DeepSeek / Qwen / Perplexity / Copilot chat to MD/JSON/HTML/PDF locally. Official exports are useless when you only need one thread, and copy-paste gets old when you’re comparing answers or iterating on prompts.

Then I had a pile of those chats and thought: if an agent in Cursor can already ask me to pull the ones I care about, why am I still writing one-off browser automation scripts? MCP is just faster for that.

So the same bridge grew into a local MCP server on loopback. Extension talks to it over WebSocket; the agent can list/export chats in the tabs I’m already logged into — and if it can export, it might as well create a chat and send the next test prompt too. No vendor API keys. Not a cloud product. No telemetry.

### Setup in Cursor

1. Install / start chat-export-server on loopback port 8765.

2. Load the companion Chrome extension and connect the bridge.

3. Add to .cursor/mcp.json — Streamable HTTP URL on 127.0.0.1:8765/mcp with Bearer cem_…

Repo (server + links to the extension): GitHub - svergio/chat-export-server: Local MCP server for Chat Export — list/export/create/delete and chat_ask on ChatGPT, Grok, X Grok, Claude, Copilot, Qwen, DeepSeek, Perplexity via your Chrome on 127.0.0.1 (no cloud API keys). · GitHub

Anyone else wrapping existing web UIs in MCP instead of rewriting everything against APIs?