You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+12-6Lines changed: 12 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -46,10 +46,11 @@ Each tool is defined and implemented in its own file. For example, the sample to
46
46
New tools can be published by simply including their definition files in the `tools` folder.
47
47
48
48
The remote server:
49
-
- is compliant with the latest MCP specifications
49
+
- is compliant with the latest MCP specifications (2025-06-18)
50
50
- supports authorization according to the MCP recommendations (OAuth Authorization Code Flow with support for Metadata discovery, Dynamic Client Registration, etc...)
51
51
- supports the token exchange OAuth flow in order to obtain a valid token for the backend system
52
52
- performs token validation with configurable scopes and audience verification
53
+
- supports TLS connections (https)
53
54
- provides rate limiting features to protect the MCP server and the backend server from denial of service attacks
54
55
- allows CORS restrictions
55
56
@@ -61,25 +62,30 @@ Server configuration is managed via `config/config.json`, which defines:
61
62
62
63
-**`MCP_SERVER_BASE_URL`** — the base URL of the MCP server (Protected Resource Server in OAuth)
63
64
-**`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
64
68
-**`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
65
71
-**`AUTHZ_SERVER_BASE_URL`** — the base URL of the Authorization (Authz) server (OAuth)
72
+
-**`SCOPES_SUPPORTED`** — the scopes that the MCP client can request
66
73
-**`BACKEND_API_BASE`** — the base URL for backend REST API calls
67
74
-**`MCP_SERVER_CLIENT_ID`** — Client ID required for token exchange, as registered in Authz server
68
75
-**`MCP_SERVER_CLIENT_SECRET`** — the secret associated with **`MCP_SERVER_CLIENT_ID`**
69
-
-**`SCOPES_SUPPORTED`** — the scopes that the MCP client can request
70
76
-**`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
72
79
-**`BACKEND_API_AUTH`** - the URL to get the OFBiz APIs access token used if token exchange is not enabled
73
80
-**`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
76
81
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.
77
83
78
84
If either **`MCP_SERVER_BASE_URL`** or **`AUTHZ_SERVER_BASE_URL`** are not set, authorization is disabled and the MCP server is publicly accessible.
79
85
80
86
If authorization is enabled, but either **`MCP_SERVER_CLIENT_ID`** or **`MCP_SERVER_CLIENT_SECRET`** are not set, token exchange is disabled.
81
87
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:
0 commit comments