goodturn-mcp
Remote MCP servers for 25 free, read-only everyday helpers by Good Turn Studio: money, health, jobs, travel, shopping, halal checks, football and scripture reading. One Cloudflare Worker turns each product's public OpenAPI spec into an MCP server, so any assistant that speaks MCP (Claude, ChatGPT, Alexa+, Cursor, VS Code and others) can use them.
- One server per product:
https://goodturn-mcp.pages.dev/<slug>/mcp - All products in one:
https://goodturn-mcp.pages.dev/all/mcp(tool names start with the product slug) - Streamable HTTP, stateless JSON, MCP 2025-11-25 (and 2025-06-18, 2025-03-26), no sign-in
- Every tool is read-only, with a title and annotations (
readOnlyHint: true,destructiveHint: false,idempotentHint: true) - Nothing about the user is stored. Privacy: https://goodturn-mcp.pages.dev/privacy
Products
How it works
build.pyreads each product's liveopenapi.jsonand writesproducts.js: one tool per GET operation, named from itsoperationId, with inputs from its parameters. Descriptions are tidied into plain tool descriptions.worker.mjsis the MCP server:initialize,tools/listandtools/call, which calls the product's own API and returns its answer. Answers with asayfield carry a ready-made summary.servers.jsonlists every server for the official MCP Registry (asio.github.GoodTurnStudio/<slug>). The Publish to the MCP Registry workflow logs in with GitHub OIDC and runspublish.py;publish.ps1does the same from Windows.
Build and test
npm install
npm run build # python3 build.py, then bundle to deploy/_worker.js
npm test # every product through the worker, against the live APIs
npm run test:live # every tool through the deployed servers with the MCP SDK client
Deploy deploy/ as a Cloudflare Pages project in advanced mode (_worker.js).
Licence
MIT for this code. Each product's API, data and answers belong to that product and are served under its own terms, linked from its page at https://goodturn-mcp.pages.dev/<slug>.