A side-by-side look at the AllMCPs Server and Public Browser MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose AllMCPs Server for aggregators work over a hosted endpoint; choose Public Browser for browser automation as a local process. You can also run both side by side in one mcpServers block.
ALLMCPS_MCP_URL.search_mcp_servers, get_mcp_install_config, get_mcp_alternatives.virtual_desk, view_page, click.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Aggregators | Browser Automation |
| Quality signal | 85/100 · Excellent | 64/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Remote HTTP/SSE | Local subprocess (stdio) |
| Auth | No auth required | Not declared |
| Pricing | Free | Not declared |
| Required env vars | ALLMCPS_MCP_URL | None listed |
| Verified owner | Verified | Community listing |
| GitHub stars | 4 | 19 |
| Directory activity | 65 views 20 installs 1 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 13 | 25 |
| Full listing | View AllMCPs Server | View Public Browser |
search_mcp_serversSearch the AllMCPs directory for Model Context Protocol (MCP) servers by keyword or category.get_mcp_install_configGet setup for one MCP server by ID: the config for every major client (Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, Cline, Zed, Codex, Gemini CLI, JetBrains, Roo Code, Continue, LM Studio) plus its documentation. Pass `client` for just one.get_mcp_alternativesList alternative MCP servers to a given server ID — same category, ranked by fit and evidence that they work.compare_mcp_serversCompare 2 to 4 MCP servers side by side: transport, install command, evidence they work, tool count and source, health, GitHub stars, last commit and quality score.recommend_mcp_stackRecommend a small stack of complementary MCP servers for a role or workflow (e.g. "fullstack web app", "data science", "devops on AWS"), drawn from a live directory search.list_mcp_categoriesList all categories available in the AllMCPs directory along with server counts.get_boost_pricingGet pricing and features for boosting / featuring an MCP server on AllMCPs.com.boost_mcp_serverInitiate a sponsorship / boost order for an MCP server by ID, returning a Stripe checkout session URL and x402 invoice.get_boost_statusCheck current boost status, verified badge level, and sponsorship expiration for an MCP server by ID.submit_mcp_serverProgrammatically submit a new MCP server repository to AllMCPs.com for indexing and review. Supports the same optional enrichment fields as the human submission form — fill in whichever you can confidently determine from the repository (README, package.json, code) to produce a fully flushed-out listing. Omit anything you are not confident about rather than guessing; all enrichment fields are optional and unrecognized enum values are simply dropped, not rejected.verify_mcp_claimVerify ownership and claim an MCP server listing by checking GitHub README badge, website badge, or DNS TXT record. Works two ways: (1) fully unattended — pass `agentToken` from confirm_mcp_agent (or set an `Authorization: Bearer <token>` header if your client supports it), no human sign-in needed; or (2) if called with neither, requires the caller to already have an active AllMCPs browser session. Unattended agents should use register_mcp_agent + confirm_mcp_agent first.register_mcp_agentStart unattended-agent registration: emails a 6-digit confirmation code to the given address. Follow up with confirm_mcp_agent to exchange the code for a bearer token, which unlocks verify_mcp_claim (and future privileged tools) without ever needing a human to sign in via browser.virtual_deskList all open tabs with IDs, URLs and state. Call it first in every session, after a reconnect, or when unsure; reuse a listed tab ID instead of opening duplicates. Cheap, call liberally.view_pageSee what is on the page: text plus stable element refs for click/type/fill_form. Default filter 'interactive' lists actionable elements; for paragraphs or table cells call view_page(ref, filter: 'all'). Collapsed containers show as [eXX role, N items] — expand with view_page(ref: 'eXX', filter: 'all').clickClick an element by ref, CSS selector, visible text, or viewport x/y (canvas, pixel-precise targets). Dispatches real CDP mouse events. A click that opens a new tab is reported in the response. The DOM diff (NEW/REMOVED/CHANGED) arrives with the next page action, or here with wait_for_diff: true.typeType text into an input identified by ref or CSS selector. For 2+ fields use fill_form; for special keys (Enter, Escape, Tab, arrows) or shortcuts (Ctrl+K) use press_key.fill_formFill a whole form in one call: text inputs, <select> (by value or visible label), checkboxes (boolean) and radio buttons. One round-trip; partial errors do not abort and each field reports its own status. On per-field errors call view_page and retry the failing fields.press_keyPress a key or shortcut (Enter, Escape, Tab, arrows, Ctrl+K). Optionally focus an element first via ref or selector.scrollScroll the page, a container, or an element into view. Reports the position and content growth (scrollHeight delta — detects lazy-loaded content) and handles settle timing. Use container_ref/container_selector plus direction to scroll inside a container.dragDrag a source onto a target: HTML5 drag-and-drop (draggable lists, SortableJS, React DnD) and mouse drags (sliders, canvas, resize handles). Scrolls the source into view; says when no page reaction was detected. Source: from_ref/from_selector or from_x+from_y; target: to_ref/to_selector or to_x+to_y.navigateNavigate the active tab to a URL, or action 'back' / 'reload' (all refs become stale after reload). Waits for settle. Overwrites the user's active tab — check virtual_desk first; the first call per session is redirected to virtual_desk.switch_tabOpen a new tab, switch to a tab by ID (from virtual_desk), or close one. Prefer 'open' over navigate when the user's active tab must stay untouched. Refs from the previous tab are invalid afterwards — call view_page before acting.tab_statusActive tab's cached URL, title, ready state and errors — a cheap mid-workflow sanity check ('did my click navigate?'). Not for tab discovery or page content.wait_forWait until a condition holds: element visible, page text present, URL match, network idle, or a JS expression true. Prefer condition 'text' over a JS expression for 'has the page said X yet'. assert: true checks once and fails instead of waiting.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"allmcps-server": {
"command": "npx",
"args": [
"-y",
"allmcps-server"
],
"env": {
"ALLMCPS_MCP_URL": "YOUR_ALLMCPS_MCP_URL_HERE"
}
}
}
}
{
"mcpServers": {
"public-browser": {
"command": "npx",
"args": [
"-y",
"public-browser@latest"
]
}
}
}