PassportMCP logo

PassportMCP

by JoshMayerr

PassportMCP lets you build MCP servers for any website with automatic browser auth syncing. It wraps FastMCP and automatically adds necessary auth headers and cookies from the browser to outbound requests.

View on GitHub

Last updated: N/A

What is PassportMCP?

PassportMCP is a tool that allows you to create MCP (Machine Control Protocol) servers for any website, automating tasks by leveraging your browser's authentication state. It also provides a lightweight HTTP client called BrowserPassport for simpler authenticated requests.

How to use PassportMCP?

  1. Install the package using pip install ppmcp. 2. Set up native messaging with ppmcp setup. 3. Enable request monitoring in the Chrome extension. 4. Create MCP tools using the PassportMCP class and the @mcp.tool() decorator. Alternatively, use the BrowserPassport client for direct authenticated requests.

Key features of PassportMCP

  • Automatic browser auth syncing

  • Normal MCP tool creation

  • Works with any website

  • Always uses latest auth state

  • Handles cookies and headers

  • All credentials stay on your machine

Use cases of PassportMCP

  • Building custom APIs for websites without official APIs

  • Automating tasks on websites that require authentication

  • Circumventing rate limits on existing APIs by using browser-based authentication

  • Accessing data from websites that don't offer developer APIs

FAQ from PassportMCP

Does PassportMCP store my credentials in the cloud?

No, all credentials remain on your local machine.

Which browsers are supported?

Currently, PassportMCP primarily supports Chrome through a Chrome extension. Firefox and Safari extensions are planned for the future.

What is the difference between PassportMCP and BrowserPassport?

PassportMCP is for creating full MCP servers with multiple tools, while BrowserPassport is a lightweight HTTP client for making individual authenticated requests.

How does PassportMCP handle security?

PassportMCP ensures security by keeping credentials local, limiting access to authorized domains, and preventing LLMs from accessing your credentials.

What languages are supported for SDK development?

Currently, Python is supported. A TypeScript SDK is planned for the future.