mcp-auth

Example of a FastMCP server behind a authentication proxy server

GitHubスター

1

ユーザー評価

未評価

フォーク

0

イシュー

0

閲覧数

2

お気に入り

0

README
MCP Auth Example

This project demonstrates a FastMCP server with both authenticated and unauthenticated endpoints. Bearer token authentication is enforced at the Nginx proxy layer. Envoy acts as a reverse proxy, forwarding requests to the MCP server and integrating with Open Policy Agent (OPA) for fine-grained authorization decisions. The repository includes example clients and a Docker setup for running all components together.

Features
  • FastMCP server with and without authentication
  • Example Python clients for both endpoints
  • Docker Compose setup with Nginx, Envoy, and OPA integration
Project Structure
.
├── Dockerfile              # Dockerfile for MCP server
├── README.md
├── client.py               # Example client for both endpoints
├── docker-compose.yml      # Docker Compose setup (Nginx, Envoy, OPA, MCP)
├── proxy
│   ├── envoy               # Envoy config
│   │   ├── Dockerfile
│   │   ├── entrypoint.sh
│   │   └── envoy.yaml
│   ├── nginx.conf          # Nginx config for Bearer auth
│   └── policy.rego         # OPA policy for Envoy
├── pyproject.toml          # Python project config
├── server.py               # Unauthenticated MCP server (port 8000)
└── uv.lock
Quick Start
1. Install Dependencies

Install Python dependencies (requires uv):

uv sync
2. Build and Start Services

Build and start all services using Docker Compose:

docker compose up --build -d
3. Test the Clients
Unauthenticated
uv run client.py
Authenticated

Edit client.py to use the authenticated endpoint and provide a valid token.

How It Works
  • server.py: Runs a FastMCP server on port 8000 (no auth).
  • client.py: Example client for both endpoints, supports custom authentication.
  • proxy/: Contains Nginx and Envoy configs for authentication and policy enforcement.
Requirements
  • fastmcp
  • Docker & Docker Compose
  • uv (for Python dependency management)
作者情報
Cheng Kuan Yong Jason

Just a guy doing some code

9

フォロワー

37

リポジトリ

16

Gist

8

貢献数

トップ貢献者

スレッド