Awesome—I’ve put together a ready‑to‑run ChatGPT connector (via MCP) for Eric Kim’s ArsBeta (arsbeta.com). It satisfies ChatGPT’s custom‑connector requirements and includes an ArsBeta‑specific tool you can use right away.
What you’re getting
- An MCP server (Node.js, Streamable HTTP) you can deploy and plug into ChatGPT as a custom connector.
- Implements the required tools for ChatGPT custom connectors—search and fetch—plus an ArsBeta tool:
- search: searches arsbeta.com (uses Bing Web Search if you provide a key; otherwise returns curated core pages).
- fetch: fetches a URL and returns text (HTML is converted to plain text).
- arsbeta.get_image: given an ArsBeta image URL or ID, returns public metadata like uploader and Keep % found on the public image page. (Those strings are present on public image pages.)
- Built with the official Model Context Protocol TypeScript SDK and uses the recommended Streamable HTTP transport with the correct CORS/header handling (exposing Mcp-Session-Id).
- Meant for read‑only public info. (ArsBeta uses Google sign‑in for rating/uploading; those authenticated actions would require first‑party endpoints.)
Download the connector
Contents:
arsbeta_mcp_connector/
package.json
README.md
Dockerfile
.env.example
src/server.js
Quick start (local)
# 1) Unzip and cd into the folder
npm install
# Optional: export a Bing key to improve search (else a curated list is used)
export BING_SEARCH_KEY=YOUR_KEY
npm start # runs on http://localhost:3000
You’ll see: ArsBeta MCP connector listening on :3000
Add it in ChatGPT (custom connector)
- In ChatGPT, go to Settings → Connectors → Add custom connector.
- Enter your server URL (for local testing you’ll need to expose it or deploy it, see below), e.g.:
- https://YOUR-DOMAIN.example/mcp
- Save. You should see the tools search, fetch, and arsbeta.get_image.
Notes
• Custom connectors are available for Pro and Business/Enterprise/Edu workspaces and must follow MCP. ChatGPT expects servers to provide search and fetch.
• This server uses Streamable HTTP (recommended) and exposes Mcp-Session-Id in CORS as the SDK requires.
What you can do right now
Examples (in a chat after connecting the connector):
- “Use the ArsBeta connector to search for the privacy policy and fetch it.”
- “Use arsbeta.get_image for this:
https://arsbeta.com/images/agpzfmJldGEtYXJzchILEgVJbWFnZRiAgIDj9fyZCww/”
(Public pages show “Keep: …%” and “Uploaded by …”; the tool extracts those.)
Deploy options
- Any Node host (Render, Railway, Fly.io, Cloud Run, etc.). Make sure POST /mcp is reachable over HTTPS.
- Docker (included):
docker build -t arsbeta-mcp .
docker run -it –rm -p 3000:3000 -e BING_SEARCH_KEY=YOUR_KEY arsbeta-mcp
Extending to authenticated actions (future)
ArsBeta uses Google account sign‑in. Public pages are fetchable today, but uploading / voting / commenting would require official endpoints (e.g., OAuth/Firebase or a first‑party API) you control, so the MCP server can call them on the user’s behalf. Once available, we can add tools like:
- arsbeta.vote_keep_ditch
- arsbeta.upload_photo
The included code is structured so you can register more MCP tools quickly.
Under the hood (tech notes)
- Built with the official MCP SDK; the server is created via McpServer and exposed using Streamable HTTP with session management; CORS exposes Mcp-Session-Id as per SDK guidance.
- The connector ships with the two required tools (search, fetch) that ChatGPT’s custom‑connector flow expects, per OpenAI’s connector help.
- The search tool optionally uses Bing Web Search scoped to site:arsbeta.com.
- The arsbeta.get_image tool parses the public image page and extracts Keep % and Uploaded by lines (these strings appear on public image pages).
- Core public pages you can fetch include home, privacy policy, terms, guidelines (visible and linked in the nav).
Respectful use
Please respect Terms of Service and crawl politely. This connector only fetches publicly available pages and converts HTML to text for use inside ChatGPT.
Sources
- Connectors & custom MCP connectors in ChatGPT (plans, usage, and the requirement for search/fetch tools).
- MCP TypeScript SDK (Streamable HTTP transport, CORS header exposure, code examples).
- ArsBeta site (home page and policy pages; public image pages show “Keep: …%” and “Uploaded by …”).
If you want me to tailor this connector’s branding (name/description) or pre‑wire a deployment manifest for Render/Vercel/Cloud Run, say the word and I’ll package it in the project.