# MCP Auth Python SDK

[![GitHub branch check runs](https://img.shields.io/github/check-runs/mcp-auth/python/master)](https://github.com/mcp-auth/python/actions?query=branch%3Amaster)
[![codecov](https://codecov.io/gh/mcp-auth/python/graph/badge.svg?token=JXZ4C50SCV)](https://codecov.io/gh/mcp-auth/python)
[![Stable Version](https://img.shields.io/pypi/v/mcpauth?label=stable)][PyPI Releases]
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/mcpauth)][PyPI]
[![PyPI - License](https://img.shields.io/pypi/l/mcpauth)](https://github.com/mcp-auth/python/blob/master/LICENSE)

[Website]: https://mcp-auth.dev/
[PyPI]: https://pypi.org/project/mcpauth/
[PyPI Releases]: https://pypi.org/project/mcpauth/#history

The MCP specification [requires OAuth 2.1 and other RFCs](https://modelcontextprotocol.io/specification/2025-03-26/basic/authorization) to be implemented for authorization. MCP Auth aims to connect your MCP server to **any** compatible OAuth 2 or OpenID Connect provider, without spending hours on lengthy implementations.

## Get started

### Is my provider supported?

Check out the [MCP-compatible providers](https://mcp-auth.dev/docs/providers-list) to see which providers are supported. It also includes a tool for real-time checking of provider compatibility.

### Installation

```bash
pip install mcpauth
```

Or use your package manager of choice, such as `poetry` or `uv`.

See [the documentation](https://mcp-auth.dev/docs/get-started) for the full guide.

## Join the discussion

Join the [MCP Auth org discussion](https://github.com/orgs/mcp-auth/discussions) to ask questions or share your feedback.
