Skip to content

Commit c658ccf

Browse files
authored
docs: improve documentation structure and add AI development setup (#53)
- Reorganize README to prioritize documentation link and simplify overview - Move detailed configuration and usage examples to external documentation - Add AI development environment setup instructions to CONTRIBUTING.md - Consolidate duplicate AI setup instructions across files
1 parent af825cd commit c658ccf

2 files changed

Lines changed: 23 additions & 96 deletions

File tree

CONTRIBUTING.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,3 +41,19 @@ feat!: change authentication API to support multiple providers
4141
## Pull Request Template
4242

4343
This project uses a pull request template to ensure consistency and completeness. Please follow the guidelines in [./.github/pull_request_template.md](./.github/pull_request_template.md) when creating pull requests.
44+
45+
## AI Development Environment Setup
46+
47+
You can link this file to your preferred AI development environment for better integration:
48+
49+
```bash
50+
# For Claude Code
51+
ln -s CONTRIBUTING.md CLAUDE.md
52+
53+
# For Gemini
54+
ln -s CONTRIBUTING.md GEMINI.md
55+
56+
# For GitHub Copilot
57+
mkdir -p .github
58+
ln -s CONTRIBUTING.md .github/copilot-instructions.md
59+
```

README.md

Lines changed: 7 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@
1111
- **Publish local MCP servers safely**: Supports all stdio, SSE, and HTTP transports. For stdio, traffic is converted to `/mcp`. For SSE/HTTP, it’s proxied as-is. Of course, with authentication.
1212
- **Verified across major MCP clients**: Claude, Claude Code, ChatGPT, GitHub Copilot, Cursor, etc. — the proxy smooths client-specific quirks for consistent auth.
1313

14+
---
15+
16+
📖 **For detailed usage, configuration, and examples, see the [Documentation](https://sigbit.github.io/mcp-auth-proxy/)**
17+
1418
## Quickstart
1519

1620
> Domain binding & 80/443 must be accessible from outside.
@@ -27,10 +31,10 @@ If you use stdio transport
2731
-- npx -y @modelcontextprotocol/server-filesystem ./
2832
```
2933

30-
That's it! Your HTTP endpoint is now available at `https://{your-domain}/mcp`.
31-
To proxy SSE or HTTP transport, specify a URL; to use the stdio transport, specify a command.
34+
That's it! Your HTTP endpoint is now available at `https://{your-domain}/mcp`.
3235

33-
(Listen on 80/443 and automatically set up certificates, but use the no-auto-tls option if not needed.)
36+
- stdio (when a command is specified): MCP endpoint is https://{your-domain}/mcp.
37+
- SSE/HTTP (when a URL is specified): MCP endpoint uses the backend’s original path (no conversion).
3438

3539
## Verified MCP Client
3640

@@ -46,99 +50,6 @@ To proxy SSE or HTTP transport, specify a URL; to use the stdio transport, speci
4650

4751
- \*1: https://platform.openai.com/docs/mcp
4852

49-
## 🚀 Usage
50-
51-
### Method 1: Download Binary
52-
53-
Download the latest binary from [releases](https://github.com/sigbit/mcp-auth-proxy/releases) and run with command line options:
54-
55-
```bash
56-
./mcp-auth-proxy \
57-
--external-url "https://{your-domain}" \
58-
--tls-accept-tos \
59-
--password "changeme" \
60-
--google-client-id "your-google-client-id" \
61-
--google-client-secret "your-google-client-secret" \
62-
--google-allowed-users "[email protected],[email protected]" \
63-
--github-client-id "your-github-client-id" \
64-
--github-client-secret "your-github-client-secret" \
65-
--github-allowed-users "username1,username2" \
66-
--oidc-configuration-url "https://your-oidc-provider.com/.well-known/openid-configuration" \
67-
--oidc-client-id "your-oidc-client-id" \
68-
--oidc-client-secret "your-oidc-client-secret" \
69-
--oidc-allowed-users "[email protected],[email protected]" \
70-
http://localhost:8080 # or execute command (for stdio transport)
71-
```
72-
73-
### Method 2: Docker
74-
75-
```bash
76-
docker run --rm --net=host \
77-
-e EXTERNAL_URL=https://{your-domain} \
78-
-e TLS_ACCEPT_TOS=1 \
79-
-e PASSWORD=changeme \
80-
-e GOOGLE_CLIENT_ID="your-google-client-id" \
81-
-e GOOGLE_CLIENT_SECRET="your-google-client-secret" \
82-
-e GOOGLE_ALLOWED_USERS="[email protected],[email protected]" \
83-
-e GITHUB_CLIENT_ID="your-github-client-id" \
84-
-e GITHUB_CLIENT_SECRET="your-github-client-secret" \
85-
-e GITHUB_ALLOWED_USERS="username1,username2" \
86-
-e OIDC_CONFIGURATION_URL="https://your-oidc-provider.com/.well-known/openid-configuration" \
87-
-e OIDC_CLIENT_ID="your-oidc-client-id" \
88-
-e OIDC_CLIENT_SECRET="your-oidc-client-secret" \
89-
-e OIDC_ALLOWED_USERS="[email protected],[email protected]" \
90-
-v ./data:/data \
91-
ghcr.io/sigbit/mcp-auth-proxy:latest \
92-
http://localhost:8080 # or execute command (for stdio transport)
93-
```
94-
95-
## 🔧 Configuration
96-
97-
### Provider Setup
98-
99-
#### Google OAuth Setup
100-
101-
1. Go to the [Google Cloud Console](https://console.cloud.google.com/)
102-
2. Create a new project or select an existing one
103-
3. Create OAuth consent screen
104-
4. Credentials → Create credentials → OAuth client ID (Web application)
105-
5. Add authorized redirect URI: `{EXTERNAL_URL}/.auth/google/callback`
106-
107-
#### GitHub OAuth Setup
108-
109-
1. Go to the [Register new OAuth App](https://github.com/settings/applications/new)
110-
2. Set Authorization callback URL: `{EXTERNAL_URL}/.auth/github/callback`
111-
112-
#### OIDC Provider Setup
113-
114-
1. Configure your OIDC provider (e.g., Keycloak, Auth0, Azure AD, etc.)
115-
2. Create a new client application
116-
3. Set redirect URI: `{EXTERNAL_URL}/.auth/oidc/callback`
117-
4. Note the configuration URL (usually issuer URL + /.well-known/openid-configuration), client ID, and client secret
118-
5. Configure the userinfo endpoint to return user identification field (default: email)
119-
12053
## Note
12154

12255
For a simpler approach to publish local MCP servers over OAuth, consider [MCP Warp](https://github.com/sigbit/mcp-warp), which provides an OAuth Proxy + ngrok-like service. We highly recommend considering this option as well.
123-
124-
## 🤝 Contributing
125-
126-
For developer guidelines, contribution instructions, and commit message conventions, please see [CONTRIBUTING.md](./CONTRIBUTING.md).
127-
128-
### AI Development Environment Setup
129-
130-
You can link CONTRIBUTING.md to your preferred AI development environment for better integration:
131-
132-
```bash
133-
# For Claude Code
134-
ln -s CONTRIBUTING.md CLAUDE.md
135-
136-
# For Gemini
137-
ln -s CONTRIBUTING.md GEMINI.md
138-
139-
# For GitHub Copilot
140-
mkdir -p .github
141-
ln -s CONTRIBUTING.md .github/copilot-instructions.md
142-
```
143-
144-
This allows your AI assistant to access the contribution guidelines regardless of which development environment you prefer to use.

0 commit comments

Comments
 (0)