A real Safari-engine (WebKit) browser for agents on macOS: sessions, extraction, bot checks.
Runs on your machine from its package; the steps are below.
Not assessed yet.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Distributed as an MCP bundle (`https://github.com/oskar-szulc/periscope/releases/download/v0.2.5/periscope-0.2.5.mcpb`) — download it and import the bundle in your MCP client.
A command-line browser for AI agents on macOS. It runs Safari's engine (WebKit), so websites see a normal Safari, and it keeps sessions open between commands.
periscope navigate https://books.toscrape.com/ --session demo
periscope text --session demo # the page as markdown
periscope extract --session demo # the page's records as JSON
periscope click "text:Next" --session demo
brew install oskar-szulc/tap/periscope
periscope install-skill # adds the agent skill to this project
Without Homebrew: curl -fsSL https://raw.githubusercontent.com/oskar-szulc/periscope/main/install.sh | sh
To build from source instead (Xcode 26): swift build -c release, then copy
.build/release/periscope onto your PATH.
periscope-<version>.mcpb from the latest release and open it/plugin marketplace add oskar-szulc/periscope, then /plugin install periscope@periscopenpx skills add oskar-szulc/periscopeio.github.oskar-szulc/periscope; the command is periscope mcp, e.g. claude mcp add periscope -- periscope mcp, or in a JSON config: {"mcpServers": {"periscope": {"command": "periscope", "args": ["mcp"]}}}periscope docs prints the full reference| Command | Returns | Use it to |
|---|---|---|
text | The page's main content as markdown, links included | Read an article or a post |
state | URL, title, headings, the start of the content, and every clickable element with a selector and a number (@3) | Decide what to click or fill next |
extract | JSON: the page's repeated items (cards, results, table rows), its structured data, and the next-page link | Scrape a list of jobs, products or results |
links | Every link on the page as an absolute URL (--match to filter) | Collect URLs to visit next |
screenshot | A PNG of the page as displayed | See the layout, or check visual content |
click, fill, type, select, scroll, mouse, targeting CSS or what a person sees (text:Next, label:Email)login and show let you take over the windowFull reference: PERISCOPE.md.
MIT. Contributions: see CONTRIBUTING.md.