astrolabe-mcp
OfficialClick on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@astrolabe-mcpGenerate MCP tools from my authenticated session on app.example.com"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
astrolabe
astrolabe maps the private API behind a website you're authorized to test — the GraphQL and REST calls a page makes once you're logged in — and turns what it observes into a typed, versioned contract instead of a one-off scrape. Point it at a domain with a browser session, and it gives you back an executable inventory of every operation it saw, with proof of what actually worked.
Alpha safety boundary: default generation and execution expose only operations classified as queries from trusted evidence. Persisted/unknown operations are inventory-only; recipes are executable code and require explicit trust acknowledgement. Historical example artifacts are documentation, not fresh executable contracts.
What it does
A capture host drives a real, logged-in browser session against the target site (via a Playwright-style browser automation layer, proxied through Burp with a Cloudflare-challenge fallback), records every GraphQL/REST/WebSocket call it makes, and hands the traffic to a local analysis pipeline:
capture — record real traffic from a real session (GraphQL, REST, WebSocket/socket.io), shape-only by default (no payload values persisted)
analyze — turn a capture into a human-readable map (
map.md) and a machine-readable endpoint inventory (endpoints.json)contract — build a durable, versioned, typed contract of every operation observed, merged across runs so completeness and drift are tracked over time, with optional active re-verification
mcp-gen — generate a typed MCP toolpack from a capture, so an agent can call the site's own API directly instead of scraping HTML
scan — a deterministic, evidence-grounded source scan (sitemap, DOM, service worker, bundle/chunk-manifest mining) that scaffolds a per-site recipe from what it actually found, not from guesses
replay — browserless, TLS-fingerprint-matched, high-frequency re-execution of a single operation, for monitoring or parameter enumeration without a browser per request
Related MCP server: Hydra ACI
Bring your own cookies
astrolabe never reads or decrypts your browser's cookie store. Authentication
is entirely bring-your-own: export your session as a Playwright-format cookie
JSON file and pass it with --cookies-file. There is no --browser/
--profile flag and no code path that touches Chrome/Chromium/Vivaldi/Edge/
Brave's local cookie database. If you need cookies from a browser, export them
yourself (e.g. with a Playwright storage_state() dump or a cookie-export
extension) before running astrolabe.
Install
uv sync --extra dev
uv run playwright install chromiumRequires Python 3.11+. Plain Playwright is a core
dependency, so astrolabe map --local example.com works clone-and-go on any
machine right after the two commands above — no separate capture host and no
stealth engine required. The capture tier can also run against a remote
"capture host" (--host, or bare astrolabe map when the profile resolves to
one) through the same browser layer; the analysis/contract/mcp-gen/replay
tiers are pure Python and run anywhere.
Browser backend
astrolabe drives the browser through a small pluggable layer
(astrolabe/browser.py) with two backends:
playwright (default, always available) — plain Chromium via Playwright. This is what makes the local demo clone-and-go.
cloakbrowser (optional) — a stealth, Cloudflare-hardened Playwright-compatible driver for bot-protected targets. Install it with:
pip install astrolabe[stealth]
Selection is automatic: ASTROLABE_BROWSER=auto (the default) uses
cloakbrowser when it's installed, otherwise falls back to plain Playwright.
Set ASTROLABE_BROWSER=playwright or ASTROLABE_BROWSER=cloakbrowser to pin
one explicitly; pinning to cloakbrowser without the extra installed fails
fast with an install hint rather than silently falling back.
Usage
astrolabe preflight # health + egress-safety check
astrolabe scan https://example.com/catalog \
[--operator-seed https://example.com/search] \
[--max-total-requests 100 --max-static-resources 25] \
[--account-risk sensitive --delay-ms 750] \
[--working-hours-utc 9-17] \
[--authorized-path /catalog --prohibited-path /account]
# -> scan.json + scan.md + an evidence-grounded recipe scaffold
astrolabe map example.com \
--cookies-file cookies.json \ # bring-your-own Playwright cookie export
--recipe surfaces/example.com.recipe.py \ # per-site interactions (optional)
[--schema] # recover GraphQL schema if introspection is off + suggestions leak
[--openapi] # first-party REST OpenAPI (host-side; HAR never leaves the host)
[--no-auth] # anonymous target (skip cookies entirely)
[--seeds URL,URL] [--crawl N] [--out DIR]
# -> contract.md (contract of record) + map.md + endpoints.json
astrolabe contract <capture-dir> \ # versioned typed inventory + observation/proof history
[--merge prior/contract.json] # union across runs (completeness) + drift
[--execute --cookies-file cookies.json --domain example.com] # actively re-verify
# -> contract.json (contract of record) + contract.md (coverage scorecard)
astrolabe mcp-gen <capture-dir> \ # generate a typed MCP toolpack from a capture
--overrides surfaces # use curated minimal queries where available
# -> toolpack.json: typed tools only for safely classified, runtime-compatible ops.
# Serve with `astrolabe-mcp` (FastMCP; env: ASTROLABE_TOOLPACK/COOKIES/AUTH).
astrolabe replay example.com --op op.json \ # browserless, TLS-matched, high-frequency replay
--cookies-file cookies.json --auth-file auth.map.json \ # both bring-your-own
[--vary 'dotpath=a,b,c'] [--repeat N] [--interval S]astrolabe scan fuses sitemap, DOM/navigation, service-worker, operator-seed,
bundle, chunk manifest, dynamic-import, and source-map evidence without
flattening provenance or confidence. It never invents an executable operation
from a static candidate — it hands you evidence to review, not a guess.
Status
Alpha. This is the reusable core of a larger internal tool, extracted and
made target-neutral for public reference; the remote orchestration pieces
(SSH to a capture host, Burp/CF-challenge-fallback wiring) assume you already
have that infrastructure or run everything with --local.
License
MIT — see LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to call web APIs extracted from HAR files, turning browser traffic into MCP tools.181MIT
- FlicenseBqualityCmaintenanceCompiles any website into typed, callable tools for AI agents, enabling discovery and invocation of live web APIs and UI actions without custom MCP servers.81
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to interact with any website through MCP, providing structured knowledge graph contexts, generated actions, and readiness scoring.
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to interact with websites by capturing browser traffic and exposing them as named MCP tools, requiring no public API.Apache 2.0
Related MCP Connectors
Search, document and execute authenticated API calls across 700+ apps via one MCP server
Screenshot, diff, audit and sitemap-capture any web page — 5 MCP tools for AI agents.
290+ quality-scored API capabilities for AI agents across 27 countries via MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/revoydotdev/astrolabe'
If you have feedback or need assistance with the MCP directory API, please join our Discord server