DrissionPage MCP — Claude Code MCP server: browser control for agents
A local MCP server with 69 typed browser tools: coordinate clicks, drag operations and DOM access for your coding agent.
claude mcp add drissionpage-mcp -- uvx drissionpage-mcpWhat DrissionPage MCP does
The server wraps the DrissionPage library and hands the client a set of atomic browser tools. The model picks the action; the MCP runs exactly that operation — a click, a drag, a page-state read. Reach for DOM targets when selectors are dependable. Canvas widgets, maps, charts and editors need coordinates instead, plus the natural profile: a fixed 24-step eased path with 8–14 ms intervals that lands on the exact target. Nothing is randomised. Same start, target and profile always give the same path.
The direct profile emits a single precise move. Pointer position carries over, so a later call can start where the previous one ended. Should execution fail after the press, the button is still released. Outputs are typed and report the coordinates, button, step count and delay.
Python 3.10+ and uvx must be present — the install line fails without them. Every tool loads by default; there is no opt-in full mode. Site-specific flows, challenge handling and login sequences stay in the client or an optional Skill, not in the server.
What it helps with
- click a control on a canvas that has no CSS selector
- drag an object through ordered waypoints in a visual editor
- read page state after the agent acts
- click coordinates spotted by a multimodal model
- reproduce the same pointer path across runs
Example prompts for the agent
- Open the page, take a screenshot, then click the sign-in button
- Drag the map slider from 300,200 to 500,400
- Click 442,369 with the
naturalprofile and show me the result
How to install DrissionPage MCP
Platform CLI
claude mcp add drissionpage-mcp -- uvx drissionpage-mcpuvx runs the command named after the package; if the README names another one, use uvx --from drissionpage-mcp <command>
Platform CLI
codex mcp add drissionpage-mcp -- uvx drissionpage-mcpuvx runs the command named after the package; if the README names another one, use uvx --from drissionpage-mcp <command>
Config file
{
"mcpServers": {
"drissionpage-mcp": {
"command": "uvx",
"args": [
"drissionpage-mcp"
]
}
}
}uvx runs the command named after the package; if the README names another one, use uvx --from drissionpage-mcp <command>
Config file
{
"servers": {
"drissionpage-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"drissionpage-mcp"
]
}
}
}uvx runs the command named after the package; if the README names another one, use uvx --from drissionpage-mcp <command>
Platform CLI
gemini mcp add drissionpage-mcp uvx drissionpage-mcpuvx runs the command named after the package; if the README names another one, use uvx --from drissionpage-mcp <command>
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about DrissionPage MCP
How do I install DrissionPage MCP in Claude Code?
Run claude mcp add drissionpage-mcp -- uvx drissionpage-mcp. You need uvx and Python 3.10+ on the machine.
What does DrissionPage MCP do?
It exposes typed browser tools built on DrissionPage: DOM and coordinate clicks, drag operations, and page observation for your agent.
How is the natural profile different from direct?
direct sends one exact move; natural follows a deterministic 24-step path with 8–14 ms intervals. Both are reproducible — no jitter, no overshoot.