Development
Requirements
Section titled “Requirements”- Python 3.14+ with uv
- Docker - required for integration tests (testcontainers)
- Supabase CLI -
brew install supabase/tap/supabase - Google Cloud OAuth client configured with localhost redirect URIs (see Google Cloud prerequisites)
- Clone your fork and install dependencies:
git clone https://github.com/<your-username>/protocol.gitcd protocol/serveruv sync- Copy
.env.exampleto.envand fill in your values:
cp .env.example .env- Link and push database migrations (if not done already):
supabase loginsupabase link --project-ref <project-ref>supabase db pushVSCode: Open the project, press F5 (or Run → Start Debugging). The launch config (.vscode/launch.json) loads .env automatically and starts the server with the debugger attached.
Terminal:
cd serveruv run main.pyThe server starts at http://localhost:8000.
Test authorization
Section titled “Test authorization”- Run MCP Inspector locally:
npx @modelcontextprotocol/inspector- Set the connection URL to
http://localhost:8000/mcp - Authenticate using "OAuth Authentication" - "Quick OAuth Flow"
- Click Connect
- Use Inspector to query Resources, Tools, Prompts, etc.