Unbrowse for Playgama (unofficial)
playgama.com as MCP tools: Search playgama.com.
What it can do
- Playgama Com Get Search: Search playgama.com with its own search (published OpenSearch description) and read the results page as title, text and links. One first-party HTTP request, no browser. Inputs
- Playgama Com Read Page: Read any page on playgama.com — a path such as /news/2026/some-story, or a full playgama.com URL — and get its title, readable text and links. One first-party HTTP request, no
- Unbrowse.Run: Start a durable Unbrowse run by capability id or natural-language task. For a learned capability, pass `input` keyed by the inputs unbrowse.discover lists (e.g. {origin, destination, dat
What data it sees
Do you need an account
No: the server works without sign-in
playgama.com as MCP tools: Search playgama.com. Compiled by Unbrowse from the site's own requests; verified results, no browser. Not affiliated with playgama.com.
How to connect
How to connect Unbrowse for Playgama (unofficial) to Claude
The server address to paste into Claude settings:
https://playgama--unbrowse.run.tools
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect Unbrowse for Playgama (unofficial) to ChatGPT
The server address to paste into ChatGPT settings:
https://playgama--unbrowse.run.tools
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect Unbrowse for Playgama (unofficial) to Cursor
The server address to paste into Cursor settings:
https://playgama--unbrowse.run.tools
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (20)
Raw names from tools/list. Only developers need these.
| playgama_com__get_search | Search playgama.com with its own search (published OpenSearch description) and read the results page as title, text and links. One first-party HTTP request, no browser. Inputs: query. Returns the page's title, readable text and links. Read-only on playgama.com. |
| playgama_com__read_page | Read any page on playgama.com — a path such as /news/2026/some-story, or a full playgama.com URL — and get its title, readable text and links. One first-party HTTP request, no browser. Follow a returned link by passing its href back as the path. Inputs: path e.g. "/". Returns the page's title, readable text and links. Read-only on playgama.com. |
| unbrowse.run | Start a durable Unbrowse run by capability id or natural-language task. For a learned capability, pass `input` keyed by the inputs unbrowse.discover lists (e.g. {origin, destination, date, passenger}); anything missing is asked for on the same run. Fails with no_capability when nothing fits. result.next.tool is unbrowse.index (POST /api/v1/index). unbrowse.browse.open is only for a session whose tool list includes it. It is not a REST route, and the CLI does not open a browser. |
| unbrowse.inspect | Inspect a run: status, requirements, verified result, known effects, routing explanation. |
| unbrowse.resume | Answer the run's open requirements and continue the same run. Simplest: {runId, answers: {<affectedAction>: value}} — e.g. {"origin": "CDG"} or, for a choice, {"selected_offer": <an option's value>}. Answer several at once. |
| unbrowse.cancel | Cancel a run. Returns a receipt of dispatched, uncertain and unstarted effects. |
| unbrowse.browse.open | Open a cloud browser (patchright) on a URL when no capability fits yet. Recording is on from the first navigation, so doing the task here fulfils it now and teaches Unbrowse the site. Returns a snapshot of interactive elements with @refs. |
| unbrowse.browse.snapshot | Current page text and interactive elements with @refs. Refs change after every action; always act on the latest snapshot. |
| unbrowse.browse.act | click | fill | select | check | press | wait on a @ref, or autofill. For fill, pass `name` as the business field (origin, date, email…) so the learned API gets readable inputs. For logins never ask the user for a password: `autofill` fills the page's login form (username or email, password, 2FA code) from the user's Unbrowse password manager, or fill one @ref with `vault: "username" | "email" | "password" | "totp"`. The values go straight into the page and never pass through you. If no login is saved for the site, the error carries a link: give it to the user, wait with unbrowse.credentials.status, then repeat the action. |
| unbrowse.credentials.list | The user's saved logins (Unbrowse password manager): site, label, masked username/email hints and which fields are saved. Never values — logins are filled into pages with unbrowse.browse.act (autofill, or vault on a field) and used by learned capabilities automatically. |
| unbrowse.credentials.request | Ask the user to save a login you need, without seeing it: returns a one-time link to give them. They open it, sign in to Unbrowse and save the username/email, password and optional 2FA seed. Then call unbrowse.credentials.status. |
| unbrowse.credentials.status | Whether the user has saved the login for a request (pending, fulfilled, declined, expired). Waits up to `waitSeconds` (default 20, max 50) for it to change. |
| unbrowse.browse.finish | End the session. Returns the page the task ended on and compiles every recorded session for this site into a learned.* capability you can call with unbrowse.run next time — no browser. |
| unbrowse.browse.close | End a browser session. It is still indexed (passive learning) unless discard is true. |
| unbrowse.scrape | Read one page as clean markdown (main content only by default — no navigation, cookie banners or footers), with its links and metadata (title, description, canonical, language, status). Plain HTTP when the server's HTML has the content; otherwise Unbrowse's cloud browser renders it, signed in when a session is kept for the site. Use it to read a page you have a URL for; use unbrowse.run for a task on a site. One verified call. |
| unbrowse.map | List a site's URLs: the sitemaps its robots.txt names (or /sitemap.xml, following one level of sitemap indexes), then the links on the given page. Same-site only. Filter with search. Use it to find the right page before scraping it. One verified call. |
| unbrowse.sites | What Unbrowse knows about each website this workspace has touched, before you act: access (public, or only behind a sign-in), the kept signed-in session (active, expired, logged_out or none — and when), the last sign-in, whether a login is saved, the tools already learned there and public tools, and any bot check that blocked it. Check it first: an active session means no sign-in is needed; a learned tool means no browsing is needed. Pass a site for one, or nothing for all. |
| unbrowse.index | Index a website on purpose: Unbrowse's own agent opens the site in a cloud browser, performs its core read-only capabilities (search, listings, item pages, filters…), compiles each into a tool and proves it with a browserless replay. Runs in the background (minutes); returns a jobId for unbrowse.index.status. The tools land in your tool list (and, when shared, in the public registry). Use it before a user needs a site, so their first call is instant. Never signs in or changes anything on the site. |
| unbrowse.index.status | An index job's progress: queued, running, done or failed, the steps taken and every tool indexed (inputs, whether it runs without a browser, verified, public id). Waits up to `waitSeconds` (default 20, max 50) for it to finish. Without a jobId, lists your recent jobs. |
| unbrowse.discover | Search the caller's private space (connected public and passworded sites as flat primitives) and the public registry (second priority, connect-on-the-fly). Each capability carries `hints.health` (healthy, degraded, untested, failing, ...) from its recent runs. Public tools that are failing are left out unless the query names their site; `withheld.count` says how many, and for those sites unbrowse.browse.open learns a fresh route. |