shared-url-mcp
Reads shared AI conversation links from Google Gemini, rendering the page if needed to retrieve the transcript, and converts it to Markdown with metadata.
shared-url-mcp
An MCP server with one job: read a shared AI conversation link and write the whole thing to Markdown.
It exists because ordinary web-fetch tools fail on these links, and they each fail for a different reason:
Share link | What a normal fetch gets | What this does instead |
| a 4 KB Cloudflare challenge shell with no conversation in it | reads |
| 500 KB of HTML with the messages buried in an index-deduplicated string table | reads |
| an Angular shell containing zero conversation text | renders the page and waits for the transcript to arrive |
| HTTP 202 with an empty body, from AWS WAF bot protection | retries in a real browser window, which the challenge lets through |
Works with any MCP-capable agent CLI: Claude Code, Codex, OpenCode, Cursor, Cline, Windsurf, Zed, and anything else that speaks MCP over stdio. Runs on Windows, macOS and Linux.
Install
git clone https://github.com/AbdoKnbGit/shared_url_mcp.git
cd shared_url_mcp
npm run setupThat is the whole install. npm run setup installs dependencies, builds, sorts
out a browser, and registers the server with every agent CLI it finds:
3. Wiring agent CLIs
✓ Claude Code: registered (all projects)
✓ Codex: registered in ~/.codex/config.toml
✓ OpenCode: registered in ~/.config/opencode/opencode.json
✓ Cursor: registered in ~/.cursor/mcp.json
· Windsurf: not installed, skippedRestart your CLI afterwards, since MCP servers are loaded at startup. Then paste a link:
read this:
https://chatgpt.com/share/<id>
Preview without changing anything:
npm run setup -- --listBrowsers are handled for you
Most links never need one. For the pages that do, the server drives an installed Chrome or Edge if you have either, and downloads Chromium by itself the first time it needs to otherwise. There is nothing to install by hand.
Updating
npm run updateThat pulls, reinstalls, and rebuilds in place. Every client you wired points at
the same dist/index.js, so they all pick up the new version the next time they
start. No reconfiguration, and no need to re-run setup.
Re-run npm run setup only when you want to wire a CLI you installed later.
Tools
Two, deliberately.
read_shared_link
Fetches the link, saves the full conversation, and hands the agent a skeleton rather than the transcript: the title, the message count, and an outline of every turn with its line number.
# Predict Admission Status
16 messages from Gemini, model 3.1 Pro, 43,138 characters.
## Outline
1. line 24 User please construct the full text from these images
2. line 31 Assistant Here is the complete text reconstructed from the...
3. line 142 User here's the continuationSo the agent knows what the conversation is and where everything sits, then
reads only what a question actually needs: those exact lines, a search for one
term, or the whole file. Nothing is truncated. The complete session is in
conversation.md; the skeleton just lets the agent read it on demand instead of
swallowing it whole.
inspect_shared_link
Read-only check: which provider, where the link redirects, whether it is still reachable, and whether a browser is needed. Use it to diagnose a link that failed instead of retrying a full extraction.
Output
shared-url/
└── gemini-predict-admission-status/
├── conversation.md
└── metadata.jsonconversation.md holds YAML front matter and the full transcript, one ##
section per message, with reasoning in collapsed blocks and code in fenced
blocks. metadata.json holds the same facts in structured form plus an outline
mapping every message to its line number.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/AbdoKnbGit/shared_url_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server