OAuth 2.1/OIDC resource-server reference for secure MCP authorization
Connect Runs on your machine
claude mcp add mcp-server-auth-template -e MCP_SERVER_RESOURCE_SERVER_URL=<MCP_SERVER_RESOURCE_SERVER_URL> -e MCP_SERVER_AUTH_PROVIDER=<MCP_SERVER_AUTH_PROVIDER> -e MCP_SERVER_REQUIRED_SCOPES=<MCP_SERVER_REQUIRED_SCOPES> -e MCP_SERVER_TRANSPORT_ALLOWED_HOSTS=<MCP_SERVER_TRANSPORT_ALLOWED_HOSTS> -e MCP_SERVER_ENTRA_TENANT_ID=<MCP_SERVER_ENTRA_TENANT_ID> -e MCP_SERVER_ENTRA_AUDIENCE=<MCP_SERVER_ENTRA_AUDIENCE> -e MCP_SERVER_ENTRA_APPLICATION_ID_URI=<MCP_SERVER_ENTRA_APPLICATION_ID_URI> -e MCP_SERVER_GENERIC_ISSUER_URL=<MCP_SERVER_GENERIC_ISSUER_URL> -e MCP_SERVER_GENERIC_AUDIENCE=<MCP_SERVER_GENERIC_AUDIENCE> -e MCP_SERVER_GENERIC_JWKS_ALLOWED_ORIGINS=<MCP_SERVER_GENERIC_JWKS_ALLOWED_ORIGINS> -- docker run -i --rm ghcr.io/brunovicco/mcp-server-auth-template:v0.7.0
{
"mcpServers": {
"mcp-server-auth-template": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/brunovicco/mcp-server-auth-template:v0.7.0"
],
"env": {
"MCP_SERVER_RESOURCE_SERVER_URL": "<MCP_SERVER_RESOURCE_SERVER_URL>",
"MCP_SERVER_AUTH_PROVIDER": "<MCP_SERVER_AUTH_PROVIDER>",
"MCP_SERVER_REQUIRED_SCOPES": "<MCP_SERVER_REQUIRED_SCOPES>",
"MCP_SERVER_TRANSPORT_ALLOWED_HOSTS": "<MCP_SERVER_TRANSPORT_ALLOWED_HOSTS>",
"MCP_SERVER_ENTRA_TENANT_ID": "<MCP_SERVER_ENTRA_TENANT_ID>",
"MCP_SERVER_ENTRA_AUDIENCE": "<MCP_SERVER_ENTRA_AUDIENCE>",
"MCP_SERVER_ENTRA_APPLICATION_ID_URI": "<MCP_SERVER_ENTRA_APPLICATION_ID_URI>",
"MCP_SERVER_GENERIC_ISSUER_URL": "<MCP_SERVER_GENERIC_ISSUER_URL>",
"MCP_SERVER_GENERIC_AUDIENCE": "<MCP_SERVER_GENERIC_AUDIENCE>",
"MCP_SERVER_GENERIC_JWKS_ALLOWED_ORIGINS": "<MCP_SERVER_GENERIC_JWKS_ALLOWED_ORIGINS>"
}
}
}
}
{
"mcpServers": {
"mcp-server-auth-template": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/brunovicco/mcp-server-auth-template:v0.7.0"
],
"env": {
"MCP_SERVER_RESOURCE_SERVER_URL": "<MCP_SERVER_RESOURCE_SERVER_URL>",
"MCP_SERVER_AUTH_PROVIDER": "<MCP_SERVER_AUTH_PROVIDER>",
"MCP_SERVER_REQUIRED_SCOPES": "<MCP_SERVER_REQUIRED_SCOPES>",
"MCP_SERVER_TRANSPORT_ALLOWED_HOSTS": "<MCP_SERVER_TRANSPORT_ALLOWED_HOSTS>",
"MCP_SERVER_ENTRA_TENANT_ID": "<MCP_SERVER_ENTRA_TENANT_ID>",
"MCP_SERVER_ENTRA_AUDIENCE": "<MCP_SERVER_ENTRA_AUDIENCE>",
"MCP_SERVER_ENTRA_APPLICATION_ID_URI": "<MCP_SERVER_ENTRA_APPLICATION_ID_URI>",
"MCP_SERVER_GENERIC_ISSUER_URL": "<MCP_SERVER_GENERIC_ISSUER_URL>",
"MCP_SERVER_GENERIC_AUDIENCE": "<MCP_SERVER_GENERIC_AUDIENCE>",
"MCP_SERVER_GENERIC_JWKS_ALLOWED_ORIGINS": "<MCP_SERVER_GENERIC_JWKS_ALLOWED_ORIGINS>"
}
}
}
}
{
"servers": {
"mcp-server-auth-template": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/brunovicco/mcp-server-auth-template:v0.7.0"
],
"env": {
"MCP_SERVER_RESOURCE_SERVER_URL": "<MCP_SERVER_RESOURCE_SERVER_URL>",
"MCP_SERVER_AUTH_PROVIDER": "<MCP_SERVER_AUTH_PROVIDER>",
"MCP_SERVER_REQUIRED_SCOPES": "<MCP_SERVER_REQUIRED_SCOPES>",
"MCP_SERVER_TRANSPORT_ALLOWED_HOSTS": "<MCP_SERVER_TRANSPORT_ALLOWED_HOSTS>",
"MCP_SERVER_ENTRA_TENANT_ID": "<MCP_SERVER_ENTRA_TENANT_ID>",
"MCP_SERVER_ENTRA_AUDIENCE": "<MCP_SERVER_ENTRA_AUDIENCE>",
"MCP_SERVER_ENTRA_APPLICATION_ID_URI": "<MCP_SERVER_ENTRA_APPLICATION_ID_URI>",
"MCP_SERVER_GENERIC_ISSUER_URL": "<MCP_SERVER_GENERIC_ISSUER_URL>",
"MCP_SERVER_GENERIC_AUDIENCE": "<MCP_SERVER_GENERIC_AUDIENCE>",
"MCP_SERVER_GENERIC_JWKS_ALLOWED_ORIGINS": "<MCP_SERVER_GENERIC_JWKS_ALLOWED_ORIGINS>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
MCP_SERVER_RESOURCE_SERVER_URLRequired | Protected-resource URL advertised by this deployment |
MCP_SERVER_AUTH_PROVIDERRequired | Authorization-server adapter to use |
MCP_SERVER_REQUIRED_SCOPESOptional | JSON array of baseline delegated OAuth scopes |
MCP_SERVER_TRANSPORT_ALLOWED_HOSTSOptional | Additional exact Host values accepted by the local container transport |
MCP_SERVER_ENTRA_TENANT_IDOptional | Required when MCP_SERVER_AUTH_PROVIDER=entra |
MCP_SERVER_ENTRA_AUDIENCEOptional | Required when MCP_SERVER_AUTH_PROVIDER=entra |
MCP_SERVER_ENTRA_APPLICATION_ID_URIOptional | Required when MCP_SERVER_AUTH_PROVIDER=entra |
MCP_SERVER_GENERIC_ISSUER_URLOptional | Required when MCP_SERVER_AUTH_PROVIDER=generic |
MCP_SERVER_GENERIC_AUDIENCEOptional | Required when MCP_SERVER_AUTH_PROVIDER=generic |
MCP_SERVER_GENERIC_JWKS_ALLOWED_ORIGINSOptional | Optional JSON array of explicitly trusted cross-origin JWKS origins |
Details
| Package | ghcr.io/brunovicco/mcp-server-auth-template:v0.7.0 (OCI, streamable-http) |
| First published | 23 Sep 2026 |
| Last updated | 23 Sep 2026 |
| Registry name | io.github.brunovicco/mcp-server-auth-template |
More security servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
