Border
Server Details
Debug CORS: send the real preflight, get Chrome's exact error and the headers that fix it.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 2 tools
The two tools share nearly the same name and the same output shape, and their trigger domains overlap (a POST to a public API can legitimately go to either), so an agent could hesitate. The descriptions do resolve this well by hard-coding the split: live fetch for reachable GET/HEAD, pasted headers for localhost/private servers and for POST/PUT/PATCH/DELETE responses. Distinct enough in practice, but the boundary is explained rather than obvious from the names.
Both tools follow the same border_<verb>_<object> snake_case pattern with a shared server prefix and a single consistent verb ('check'), differing only by the '_headers' qualifier that reflects the actual distinction in behavior. No mixed conventions or stray naming styles.
Two tools is thin in absolute terms, but for a single-purpose CORS diagnostic server they map cleanly onto the two real input modes (fetch it yourself vs. paste what you have) and neither is redundant. A third capability (e.g. emitting framework-specific server config) would round it out, but nothing present is padding.
The surface covers the core lifecycle of a CORS diagnosis: detect the failure, identify the failing step, name the fixing headers, and provide reproduction commands, for both remote and unreachable servers. Remaining gaps are real but workaroundable: response verification for non-idempotent methods always requires a manual curl paste, and verdicts for local/private servers are only as good as the headers supplied.
Available Tools
2 toolsborder_check_corsCheck whether a browser would allow a cross-origin API call (CORS)ARead-onlyIdempotentInspect
Use when the user hits a CORS error ("blocked by CORS policy", "No 'Access-Control-Allow-Origin' header", "preflight", "Failed to fetch" from a frontend) or is about to call a public API from browser code (React, Next.js, Vue, a browser extension page) and asks whether it will work (signals: "CORS", "works in Postman but not in the browser", "preflight 401/404", "Access-Control-Allow-Headers", "withCredentials", "credentials include"). Sends the browser's own preflight (OPTIONS with Origin, Access-Control-Request-Method and -Headers) to the live API and, for GET and HEAD, the request itself with the Origin header, then applies the Fetch standard CORS rules as Chrome implements them. Returns verdict (allowed, blocked, preflight_passed, incomplete, same_origin, unreachable), the exact Chrome console error, which step fails (preflight or response) and why, whether a preflight is needed and why, the CORS headers the server sent, warnings (missing Vary: Origin, a server that echoes any origin with credentials, unreadable response headers, Authorization covered only by *), the exact response headers that fix it, and curl commands to reproduce. Example: {"url":"https://api.example.com/v1/items","origin":"http://localhost:3000","method":"POST","headers":["Content-Type: application/json","Authorization"],"credentials":true}. Limits: public http/https APIs on ports 80 and 443 only (localhost, private and staging servers go through border_check_cors_headers with pasted curl output); never sends POST, PUT, PATCH or DELETE (those get the preflight checked only) and never sends header values for Authorization or keys; a server can answer differently to a real browser session.
Inputs: url (required), origin (required), method, headers, +2 more.
border_check_cors_headersCheck pasted preflight and response headers against the CORS rulesARead-onlyIdempotentInspect
Use when a CORS problem involves a server Border cannot reach (localhost, a dev or staging server, a private network, a custom port) or a POST, PUT, PATCH or DELETE whose real response needs checking, and the raw response headers are available from curl -i or the browser DevTools Network tab (signals: "here is the OPTIONS response", "my local API returns these headers", "CORS works on localhost but not in production", "preflight response is"). Parses the pasted OPTIONS response and/or the actual response (status line plus headers; curl -i, curl -v, curl -iL with redirects, and DevTools copies are all read) and applies the Fetch standard CORS rules as Chrome implements them, for the given page origin, method, request headers and credentials mode. Returns the same result as border_check_cors: verdict, the exact Chrome console error, the failing step and reason, warnings, the response headers that fix it, and the curl commands to capture any missing response. Nothing is fetched. Example: {"url":"http://localhost:8000/api/login","origin":"http://localhost:5173","method":"POST","headers":["Content-Type: application/json"],"credentials":true,"preflight_response":"HTTP/1.1 200 OK\nAccess-Control-Allow-Origin: *\nAccess-Control-Allow-Headers: content-type"}. Limits: the verdict is only as complete as the pasted headers; a preflighted request needs both pastes for a full answer.
Inputs: url (required), origin (required), method, headers, +4 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Checks HTTP response headers you paste: 7 security checks with copy-paste fixes. No fetching.
Live browser debugging for AI assistants — DOM, console, network via MCP.
Diagnose x402 seller endpoints: what is wrong with your 402 challenge, and how to fix it.
Test an email before it goes out: a disposable address, 41 checks with RFC citations, a fix plan.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceZero-dependency, RAM-only HTTP diagnostic proxy and MCP server in pure Go. It intercepts traffic in RAM and replaces secrets with salted SHA-256 correlation tags so AI agents can debug auth flows without credentials entering LLM contexts or touching disk.MIT
- AlicenseAqualityBmaintenanceLocal MCP server and Chrome extension for debugging in your signed-in Chrome. Monitors network and console activity across tabs, sweeps routes for errors, generates bug reports and PR evidence bundles, and queries saved results with SQL.10261MIT

Feedthroughofficial
AlicenseAqualityBmaintenanceDebug bridge inside your web app: an agent reads the DOM, console and network. Any browser.164MIT- AlicenseAqualityDmaintenanceMCP server for Chrome extension testing. Access chrome.storage, Service Workers, declarativeNetRequest, and more directly from AI coding agents like Claude Code.239 npm1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.