Skip to content

Commit ada579e

Browse files
authored
Enhance README with TLS and token exchange scope configurations
1 parent e9d9dd1 commit ada579e

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

README.md

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,11 @@ Each tool is defined and implemented in its own file. For example, the sample to
4646
New tools can be published by simply including their definition files in the `tools` folder.
4747

4848
The remote server:
49-
- is compliant with the latest MCP specifications
49+
- is compliant with the latest MCP specifications (2025-06-18)
5050
- supports authorization according to the MCP recommendations (OAuth Authorization Code Flow with support for Metadata discovery, Dynamic Client Registration, etc...)
5151
- supports the token exchange OAuth flow in order to obtain a valid token for the backend system
5252
- performs token validation with configurable scopes and audience verification
53+
- supports TLS connections (https)
5354
- provides rate limiting features to protect the MCP server and the backend server from denial of service attacks
5455
- allows CORS restrictions
5556

@@ -61,25 +62,30 @@ Server configuration is managed via `config/config.json`, which defines:
6162

6263
- **`MCP_SERVER_BASE_URL`** — the base URL of the MCP server (Protected Resource Server in OAuth)
6364
- **`SERVER_PORT`** — the port on which the MCP server listens for client connections (required only for the remote server)
65+
- **`TLS_CERT_PATH`** — path to the file containing the certificate for TLS
66+
- **`TLS_KEY_PATH`** — path to the file containing the private key for TLS
67+
- **`TLS_KEY_PASSPHRASE`** — (optional) passphrase for the **`TLS_KEY_PATH`** file
6468
- **`MCP_SERVER_CORS_ORIGINS`** — CORS origin allowed
69+
- **`RATE_LIMIT_WINDOW_MS`** — time window in ms for the requests rate limiting feature
70+
- **`RATE_LIMIT_MAX_REQUESTS`** — max number of requests allowed in the time window
6571
- **`AUTHZ_SERVER_BASE_URL`** — the base URL of the Authorization (Authz) server (OAuth)
72+
- **`SCOPES_SUPPORTED`** — the scopes that the MCP client can request
6673
- **`BACKEND_API_BASE`** — the base URL for backend REST API calls
6774
- **`MCP_SERVER_CLIENT_ID`** — Client ID required for token exchange, as registered in Authz server
6875
- **`MCP_SERVER_CLIENT_SECRET`** — the secret associated with **`MCP_SERVER_CLIENT_ID`**
69-
- **`SCOPES_SUPPORTED`** — the scopes that the MCP client can request
7076
- **`BACKEND_API_AUDIENCE`** — the OAuth audience paramenter for the backend system
71-
- **`BACKEND_API_RESOURCE`** — the OAuth resource parameter for the backend system
77+
- **`BACKEND_API_RESOURCE`** — the OAuth resource parameter for the backend system
78+
- **`TOKEN_EXCHANGE_SCOPE`** — the list of scopes requested in the token exchange
7279
- **`BACKEND_API_AUTH`** - the URL to get the OFBiz APIs access token used if token exchange is not enabled
7380
- **`BACKEND_AUTH_TOKEN`** — the token to authorize backend API calls used if token exchange is not enabled
74-
- **`RATE_LIMIT_WINDOW_MS`** — time window in ms for the requests rate limiting feature
75-
- **`RATE_LIMIT_MAX_REQUESTS`** — max number of requests allowed in the time window
7681

82+
If both **`TLS_CERT_PATH`** and **`TLS_KEY_PATH`** are configured, the MCP server will operate over HTTPS; otherwise, it falls back to HTTP.
7783

7884
If either **`MCP_SERVER_BASE_URL`** or **`AUTHZ_SERVER_BASE_URL`** are not set, authorization is disabled and the MCP server is publicly accessible.
7985

8086
If authorization is enabled, but either **`MCP_SERVER_CLIENT_ID`** or **`MCP_SERVER_CLIENT_SECRET`** are not set, token exchange is disabled.
8187

82-
If token exchange is not enabled, the access token for the OFBiz API can be easily generated and set up by running the script:
88+
If token exchange is not enabled, the access token for the OFBiz API can be set **`BACKEND_AUTH_TOKEN`** and can be easily generated and set by running the script:
8389

8490
`update_token.sh <user> <password>`
8591

0 commit comments

Comments
 (0)