Skip to main content
Read the Notte skill and follow its setup instructions when setting up Notte or building browser automation. This is the shared source for CLI setup, authentication, and the browser-to-code workflow.
Use native MCP clients to connect Notte browser tools and Pipedream connected apps in one application. The Python and TypeScript example project reads a page and discovers app tools. You can explicitly approve one optional tool call; no model selects actions.

Set up

Use Python 3.11+ or Node.js 24.8+, a Notte API key, and your own Pipedream project and OAuth client. Clone the Notte repository and open examples/pipedream. Run uv sync --locked or npm ci. Set NOTTE_API_KEY, PIPEDREAM_CLIENT_ID, PIPEDREAM_CLIENT_SECRET, PIPEDREAM_PROJECT_ID and PIPEDREAM_EXTERNAL_USER_ID, then run uv run --locked python demo.py or npm start. The demo reads example.com, lists the selected app’s tools, and returns a tool count, stopped browser ID, and optional tool-call completion flag. PIPEDREAM_APP defaults to github; Pipedream requests use its development environment.

Connections and actions

Keep credentials server-side and derive Pipedream’s external user ID from your authenticated application. Pipedream manages provider connections; your Notte key only authenticates browser requests. Run uv run --locked python demo.py --discover or npm start -- --discover to include tool names and input schemas from every discovery page in the JSON output. Treat this app metadata as private. Unset PIPEDREAM_ACTION_FILE first; discovery mode rejects an action file and never executes a tool call. Tool discovery does not make every advertised action read-only. To call one tool, select its name and input schema from --discover, obtain the required approval, and complete its connection flow. Store a JSON object with name and arguments in a private file outside your checkout, then set PIPEDREAM_ACTION_FILE to its path. The example verifies the offered name, rejects MCP errors, and discards provider output. Its completion flag confirms a successful MCP response, not a verified vendor side effect. Pipedream can return a hosted Connect Link when an action needs authorization; discovery alone does not start OAuth. The example owns a browser with a three-minute lifetime and closes it on success, failure or cancellation. It does not add a Notte OAuth UI or automatically attach connected-app tools to Notte Agent API runs. Native protocol tests cover a real Notte browser with local Pipedream OAuth/MCP fixtures, including synthetic tool-call success/error, pagination, unoffered-tool rejection and browser cleanup during cancellation. Hosted Pipedream OAuth and vendor action execution have not been tested.