periscope
A real Safari-engine (WebKit) browser for agents on macOS: sessions, extraction, bot checks.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
https://github.com/oskar-szulc/periscope/releases/download/v0.2.5/periscope-0.2.5.mcpbDocumentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
periscope
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
Install
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.
For agents
- Claude Desktop: download
periscope-<version>.mcpbfrom the latest release and open it - Claude Code:
/plugin marketplace add oskar-szulc/periscope, then/plugin install periscope@periscope - Codex, Cursor and others:
npx skills add oskar-szulc/periscope - MCP clients: listed in the MCP Registry as
io.github.oskar-szulc/periscope; the command isperiscope mcp, e.g.claude mcp add periscope -- periscope mcp, or in a JSON config:{"mcpServers": {"periscope": {"command": "periscope", "args": ["mcp"]}}} - Any agent with a shell:
periscope docsprints the full reference
Reading a page
| 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 |
What else you can do
- Act:
click,fill,type,select,scroll,mouse, targeting CSS or what a person sees (text:Next,label:Email) - Stay logged in: named sessions persist;
loginandshowlet you take over the window - Know when you're blocked: CAPTCHA and bot-check pages exit with code 5
Full reference: PERISCOPE.md. Why and how it was built: Building periscope.
Requirements
- macOS 26 or newer, in a logged-in desktop session with the display on
- Not inside a shell sandbox (periscope exits with a message if it is)
License
MIT. Contributions: see CONTRIBUTING.md. Made by Oskar Szulc.
Frequently asked questions
What is periscope?
A real Safari-engine (WebKit) browser for agents on macOS: sessions, extraction, bot checks.
How do I install periscope?
Follow the installation steps in its documentation, shown on this page and in its repository.
Does periscope need an API key?
Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.
Is periscope open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains periscope?
It is published by oskar-szulc. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.