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: mcp/slack_tool/README.md
+4-6Lines changed: 4 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,15 +12,13 @@ You can configure the server with the following environment variables:
12
12
|`SLACK_BOT_TOKEN`| Yes | - | Bot token for the Slack server. Required for any functionality |
13
13
|`LOG_LEVEL`| No |`DEBUG`| Application log level |
14
14
|`MCP_TRANSPORT`| No |`streamable-http`| Passed into mcp.run to determine mcp transport |
15
-
|`ISSUER`| No | - | If populated, will publish that it is OAuth-secured by this issuer (but no actual verification). Must be URI format |
16
-
|`INTROSPECTION_ENDPOINT`| No | - | If populated with `CLIENT_ID` and `CLIENT_SECRET`, will introspect access tokens at this endpoint |
17
-
|`CLIENT_ID`| No | - | If populated with `INTROSPECTION_ENDPOINT` and `CLIENT_SECRET`, will introspect access tokens using this as the client id to authenticate |
18
-
|`CLIENT_SECRET`| No | - | If populated with `INTROSPECTION_ENDPOINT` and `CLIENT_ID`, will introspect access tokens using this as the client secret to authenticate |
19
-
|`AUDIENCE `| No | - | If populated with `INTROSPECTION_ENDPOINT` will perform audience validation |
15
+
|`JWKS_URI`| No | - | If populated, will perform token validation using the JWKS endpoint |
16
+
|`ISSUER`| No | - | If populated with `JWKS_URI`, will additionally check the `iss` claim during token validation |
17
+
|`AUDIENCE`| No | - | If populated with `JWKS_URI`, will additionally check the `aud` claim during token validation |
20
18
|`ADMIN_SLACK_BOT_TOKEN`| No | - | Bot token for Slack server with Admin privileges. Required for fine grained authz |
21
19
|`ADMIN_SCOPE_NAME`| No | - | Scope that triggers `ADMIN_SLACK_BOT_TOKEN` to be used |
22
20
23
-
Note: `ISSUER` only affects the published authorization endpoint. All three of `INTROSPECTION_ENDPOINT`, `CLIENT_ID`, and `CLIENT_SECRET` are required for token validation to occur. `AUDIENCE` enables the additional audience check.
21
+
Note: `JWKS_URI` triggers token validation at runtime. `ISSUER`and `AUDIENCE` will not affect behavior if `JWKS_URI` is not implemented.
24
22
25
23
Note: Fine-grained authz is enabled with `ADMIN_SLACK_BOT_TOKEN` and `ADMIN_SCOPE_NAME`. If a received access token includes the `ADMIN_SCOPE_NAME` as a scope, it will use the `ADMIN_SLACK_BOT_TOKEN`
logger.warning("Please configure the SLACK_BOT_TOKEN environment variable before running the server")
123
138
elifADMIN_SLACK_BOT_TOKENisNone: # one token set -> we just validate the JWT
124
-
logger.info("Configured SLACK_BOT_TOKEN environment variable but not ADMIN_SLACK_BOT_TOKEN; will validate token signature")
139
+
logger.info("Configured SLACK_BOT_TOKEN environment variable but not ADMIN_SLACK_BOT_TOKEN; all requests will use the `SLACK_BOT_TOKEN` to reach the Slack API")
125
140
logger.info("Starting Slack MCP Server")
126
141
run_server()
127
142
else: # two tokens set -> we validate the JWT and connect to slack based on access token scope
0 commit comments