@@ -110,46 +110,143 @@ images or source packages.
110110### Remote MCP server
111111
112112On the ** MCP Servers** page, click ** Add an MCP server** , then choose ** Add a
113- remote MCP server** in the drop-down menu. Or if this is your first MCP server,
114- on the introductory screen.
113+ remote MCP server** in the drop-down menu.
115114
116115On the configuration form, enter:
117116
1181171 . A unique ** name** for the MCP server. [ Required]
119-
120- 2 . The server ** url** of the MCP server. [ Required]
121-
122- 3 . The ** transport protocol** that the MCP server uses. [ Required] ToolHive
123- supports server-sent events (SSE), and Streamable HTTP (default value) for
118+ 2 . The ** URL** of the remote MCP server. [ Required]
119+ 3 . The ** transport protocol** that the MCP server uses. [ Required] \
120+ ToolHive supports server-sent events (SSE) and Streamable HTTP (default) for
124121 real-time communication. The protocol must match what the MCP server
125122 supports.
126-
127- 4 . The authorization method (default ** None** , simple transparent forwarding).
128- ToolHive supports OAuth2/OIDC, and dynamic client registration.
129-
130- Selecting ** OAuth2** authentication method:
131- - The ** authorize URL** where users are redirected to authenticate and
132- authorize your MCP. [ Required]
133- - The ** token URL** where your application exchanges the authorization code
134- for access tokens. [ Required]
135- - The ** client ID** for your application registered with the OAuth provider.
136- [ Required]
137- - The ** client secret** key that proves your application's identity.
123+ 4 . ** Authorization method** : Choose how ToolHive should authenticate with the
124+ remote server.\
125+ The default is ** None** , when no client credentials are provided, ToolHive
126+ can automatically register an OAuth client with the authorization server:
127+ - Discover OAuth/OIDC endpoints
128+ - Register a new OAuth client
129+ - Obtain and manage client credentials
130+ - Handle token lifecycle automatically
131+
132+ ToolHive also supports OAuth2 and OIDC authentication with dynamic client
133+ registration.
134+
135+ ** OAuth2 authentication options:**
136+ - ** Authorize URL** : The URL where users are redirected to authenticate and
137+ authorize access to the MCP server. [ Required]
138+ - ** Token URL** : The URL where your application exchanges the authorization
139+ code for access tokens. [ Required]
140+ - ** Client ID** : Your application's identifier registered with the OAuth
141+ provider. [ Required]
142+ - ** Client secret** : The secret key that proves your application's identity.
138143 [ Optional]
139- - The ** scopes ** list of permissions your app is requesting. [ Optional]
144+ - ** Scopes ** : List of permissions your application is requesting. [ Optional]
140145
141- Selecting ** OIDC** authentication method:
142- - The base ** issuer URL** of the OIDC provider. [ Required]
143- - The ** client ID** for your application registered with the OIDC provider.
144- [ Required]
145- - The ** client secret** key that proves your application's identity.
146+ ** OIDC authentication options: **
147+ - ** Issuer URL** : The base URL of the OIDC provider. [ Required]
148+ - ** Client ID** : Your application's identifier registered with the OIDC
149+ provider. [ Required]
150+ - ** Client secret** : The secret key that proves your application's identity.
146151 [ Optional]
147- - The ** PKCE** Proof Key for Code Exchange (RFC 7636), automatically enables
148- PKCE flow without client_secret . [ Optional]
152+ - ** PKCE** : Enable Proof Key for Code Exchange (RFC 7636) for enhanced
153+ security without requiring a client secret . [ Optional]
149154
1501555 . The ** callback port** for the authentication redirect. [ Required]
151156
152- Click ** Install server** to run the MCP server.
157+ Click ** Install server** to connect to the remote MCP server.
158+
159+ #### Configuration and authentication examples
160+
161+ ##### Remote MCP server with no client credentials
162+
163+ This example shows how to connect to a remote MCP server using automatic OAuth
164+ client registration, where ToolHive handles all the authentication setup for
165+ you.
166+
167+ 1 . On the ** MCP Servers** page, click ** Add an MCP server** .
168+ 2 . Select ** Add a remote MCP server** from the drop-down menu.
169+ 3 . Fill in the configuration form:
170+ - ** Server name** : ` notion-mcp-server `
171+ - ** URL** : ` https://mcp.notion.com/mcp `
172+ - ** Transport protocol** : Select ** Streamable HTTP**
173+ - ** Authorization method** : Select ** None**
174+ - ** Callback port** : ` 45673 ` (or any available port on your system)
175+ 4 . Click ** Install server** to start the automatic registration flow.
176+ 5 . ToolHive automatically discovers the OAuth endpoints, registers a new client,
177+ and handles the authentication process.
178+ 6 . Your browser opens for authentication, and after successful authorization,
179+ the remote MCP server appears in your server list with a "Running" status.
180+
181+ This is the simplest way to connect to a remote MCP server that supports
182+ automatic client registration, as it requires minimal configuration from you.
183+
184+ ##### Remote MCP server with OAuth2 authentication
185+
186+ This example shows how to connect to a remote MCP server that requires OAuth2
187+ authentication, such as a GitHub MCP server.
188+
189+ 1 . On the ** MCP Servers** page, click ** Add an MCP server** .
190+ 2 . Select ** Add a remote MCP server** from the drop-down menu.
191+ 3 . Fill in the configuration form:
192+ - ** Server name** : ` github-remote-oauth `
193+ - ** URL** : ` https://api.githubcopilot.com/mcp/ `
194+ - ** Transport protocol** : Select ** Streamable HTTP**
195+ - ** Authorization method** : Select ** OAuth2**
196+ - ** Authorize URL** : ` https://github.com/login/oauth/authorize `
197+ - ** Token URL** : ` https://github.com/login/oauth/access_token `
198+ - ** Client ID** : Your GitHub OAuth app client ID (e.g.,
199+ ` Og44jirLIaUgSiTDNGA3 ` )
200+ - ** Client secret** : Your GitHub OAuth app client secret
201+ - ** Scopes** : ` public_repo ` (comma-separated list of required permissions)
202+ - ** Callback port** : ` 45673 ` (or any available port on your system)
203+ 4 . Click ** Install server** to start the authentication flow.
204+ 5 . ToolHive opens your browser to authenticate with GitHub and authorize the
205+ application.
206+ 6 . After successful authentication, the remote MCP server appears in your server
207+ list with a "Running" status.
208+
209+ ** NOTE** : If you don't have a GitHub OAuth app yet, you need to create one
210+ first:
211+
212+ 1 . Go to [ GitHub Developer Settings] ( https://github.com/settings/developers )
213+ 2 . Click ** New OAuth App**
214+ 3 . Fill in the application details:
215+ - ** Application name** : Choose a descriptive name (e.g., "ToolHive GitHub
216+ MCP")
217+ - ** Homepage URL** : Your application's homepage or ` http://localhost `
218+ - ** Authorization callback URL** : ` http://localhost:45673/callback ` (match
219+ the callback port in ToolHive UI)
220+ 4 . Click ** Register application**
221+ 5 . Copy the ** Client ID** and generate a ** Client secret** to use in ToolHive UI
222+
223+ ##### Remote MCP server with OIDC authentication
224+
225+ This example shows how to connect to a remote MCP server using OpenID Connect
226+ (OIDC) authentication with GitHub as the identity provider.
227+
228+ 1 . On the ** MCP Servers** page, click ** Add an MCP server** .
229+ 2 . Select ** Add a remote MCP server** from the drop-down menu.
230+ 3 . Fill in the configuration form:
231+ - ** Server name** : ` github-remote-oidc `
232+ - ** URL** : ` https://api.githubcopilot.com/mcp/ `
233+ - ** Transport protocol** : Select ** Streamable HTTP**
234+ - ** Authorization method** : Select ** OIDC**
235+ - ** Issuer URL** : ` https://github.com/login/oauth `
236+ - ** Client ID** : Your GitHub OAuth app client ID (e.g.,
237+ ` Og44jirLIaUgSiTDNGA3 ` )
238+ - ** Client secret** : Your GitHub OAuth app client secret (optional for PKCE)
239+ - ** PKCE** : Enable this option for enhanced security without requiring a
240+ client secret
241+ - ** Callback port** : ` 45673 ` (or any available port on your system)
242+ 4 . Click ** Install server** to start the authentication flow.
243+ 5 . ToolHive opens your browser to authenticate with GitHub using OIDC.
244+ 6 . After successful authentication, the remote MCP server appears in your server
245+ list with a "Running" status.
246+
247+ ** NOTE** : For OIDC authentication with GitHub, you can use the same OAuth app
248+ created in the previous example. The OIDC flow provides additional security
249+ features and standardized token handling compared to traditional OAuth2.
153250
154251### Local custom MCP server
155252
0 commit comments