Jenkins and plugins versions report
Jenkins: 2.568.1
OS: Linux - 5.4.17-2136.356.4.2.el7uek.x86_64
Java: 21.0.2 - Oracle Corporation (Java HotSpot(TM) 64-Bit Server VM)
Parameterized-Remote-Trigger:3.2.2
ai-agent:98.vf7c090a_9c37c
ansicolor:536.v13fa_b_860c267
ant:520.vd082ecfb_16a_9
antisamy-markup-formatter:173.v680e3a_b_69ff3
apache-httpcomponents-client-4-api:4.5.14-269.vfa_2321039a_83
apache-httpcomponents-client-5-api:5.6.2-199.vc3c04d033fcc
artifactory:4.0.8
asm-api:9.10.1-216.va_9256d3b_844b_
authentication-tokens:1.144.v5ff4a_5ec5c33
badge:3.591.v9074c6c6f0b_9
bootstrap5-api:5.3.8-1048.va_c299057e35c
bouncycastle-api:2.30.1.84-291.v9f17b_21896e2
branch-api:2.1280.v0d4e5b_b_460ef
build-name-setter:2.5.1
build-timeout:1.40
build-token-root:151.va_e52fe3215fc
caffeine-api:3.2.4-208.v7e2da_a_7db_82b_
checks-api:415.vf022234a_931d
cloudbees-folder:6.1100.ve9eed61d16c4
command-launcher:134.v025a_5fcf9dea_
commons-collections4-api:4.5.0-8.va_d5448ef9011
commons-compress-api:1.28.0-82.v4df6c060eb_66
commons-lang3-api:3.20.0-109.ve43756e2d2b_4
commons-text-api:1.15.0-218.va_61573470393
conditional-buildstep:1.5.0
config-file-provider:1013.v73c323e52b_1f
configuration-as-code:2100.vb_fd699d2a_09c
configurationslicing:709.v4c76e613470f
coverage:3.3278.va_04d3e352354
credentials:1506.v948b_b_b_7dec44
credentials-binding:728.v902a_273b_8947
dark-theme:652.vea_da_dfea_e769
data-tables-api:2.3.8-1570.v1cb_1cd2a_0fb_c
display-url-api:2.217.va_6b_de84cc74b_
docker-commons:472.vee120e23d3a_c
docker-workflow:634.vedc7242b_eda_7
durable-task:686.v80ff80875b_82
echarts-api:6.0.0-1287.vfd24c22a_3d00
eddsa-api:0.3.0.1-29.v67e9a_1c969b_b_
email-ext:2038.v7b_8817a_499d9
emailext-template:249.v81d6ea_f33f2e
emoji-symbols-api:17.0-57.v8d44b_9a_b_d5ea_
envinject:2.941.v351a_20c0a_3ca_
envinject-api:1.241.vdd714803b_403
favorite:2.267.vb_90d08408081
folder-properties:62.v1636b_4a_84608
font-awesome-api:7.2.0-990.vf220b_2a_496f9
forensics-api:4.1891.v5e60f3377506
generic-event:49.v8cdd8314e99d
generic-webhook-trigger:2.4.2
git:5.10.1
git-client:6.6.1
git-server:137.ve0060b_432302
github:1.47.0
github-api:1.330-492.v3941a_032db_2a_
github-branch-source:1967.1970.vd86979736546
global-slack-notifier:1.5
gradle:2.19.1244.v1f9866817fec
groovy:537.v741a_5a_f1b_581
groovy-postbuild:303.v5fe3da_6233f0
gson-api:2.14.0-201.v8eefe5515533
htmlpublisher:427.1
instance-identity:203.v15e81a_1b_7a_38
ionicons-api:94.vcc3065403257
jackson-annotations2-api:2.22-19.v10a_a_582ea_26e
jackson2-api:2.22.0-439.vb_b_43658d6176
jackson3-api:3.2.1-92.vd25c2e23c180
jakarta-activation-api:2.1.4-1
jakarta-mail-api:2.1.5-1
jakarta-xml-bind-api:4.0.9-19.v2b_a_5b_44d9a_1c
javadoc:354.vee1a_660b_4990
javax-activation-api:1.2.0-8
javax-mail-api:1.6.2-11
jaxb:2.3.9-143.v5979df3304e6
jdk-tool:83.v417146707a_3d
jersey2-api:2.48-180.ve47b_264f849b_
jjwt-api:0.13.0-141.vd58b_a_9592b_6c
job-dsl:3654.vdf58f53e2d15
jobConfigHistory:1367.vc8fa_b_15101dc
joda-time-api:2.14.2-193.v422b_efce56e0
jquery3-api:3.7.1-687.v68d468e40b_30
jsch:0.2.16-95.v3eecb_55fa_b_78
json-api:20260522-217.v0b_18b_8cd4672
json-path-api:3.0.0-218.vcd4dd1355de2
jsoup:1.22.2-95.vc5d00f1eb_42d
junit:1413.v736fa_5b_61d80
kubernetes:4437.v3a_18554d3f32
kubernetes-cli:1.375.v8001982544ba
kubernetes-client-api:7.3.1-256.v788a_0b_787114
kubernetes-credentials:207.v492f58828b_ed
ldap:807.809.vd3a_4e5e4ec98
log-parser:3.0.3
mailer:534.v1b_36f5864073
matrix-auth:3.2.10
matrix-project:870.v9db_fcfc2f45b_
maven-plugin:3.27
mcp-server:0.178.vffe5a_e770f3b_
metrics:4.2.37-494.v06f9a_939d33a_
mina-sshd-api-common:2.17.1-187.v0341274c2905
mina-sshd-api-core:2.17.1-187.v0341274c2905
naginator:1.556.v14d723a_109a_c
nodejs:1.6.6
nodelabelparameter:851.vd94e5048d321
notification:1.18
oauth-credentials:0.660.vce7c108f1f3a_
okhttp-api:5.3.2-200.vedb_720a_cf1f8
oracle-ci-scanner-plugin:1.0.0.42
oracle-cloud-infrastructure-compute:1.0.20
oracle-oauth-plugin:1.0.0.54
oss-symbols-api:465.v25d9fdc88c26
p4:1.18.0
parameterized-scheduler:379.v95c73f233a_df
parameterized-trigger:893.va_383a_9b_a_4c11
pipeline-build-step:584.vdb_a_2cc3a_d07a_
pipeline-github-lib:65.v203688e7727e
pipeline-graph-analysis:254.v0f63a_a_447dca_
pipeline-groovy-lib:798.v5cc688825312
pipeline-input-notification:17.v3401b_efd3f89
pipeline-input-step:560.v56198a_642157
pipeline-maven:1735.v63b_5b_1b_d25d9
pipeline-maven-api:1735.v63b_5b_1b_d25d9
pipeline-milestone-step:152.v6e22b_8cfc66c
pipeline-model-api:2.2291.v2934911987b_6
pipeline-model-definition:2.2291.v2934911987b_6
pipeline-model-extensions:2.2291.v2934911987b_6
pipeline-rest-api:2.41
pipeline-stage-step:345.va_96187909426
pipeline-stage-tags-metadata:2.2291.v2934911987b_6
pipeline-stage-view:2.41
pipeline-utility-steps:3.810.va_7672d206740
plain-credentials:199.v9f8e1f741799
plugin-usage-plugin:418.v308c3c863d25
plugin-util-api:7.1341.v039f146993d9
postbuild-task:78.v24529f1f5cdb_
postbuildscript:3.4.1-695.vf6b_0b_8053979
prism-api:1.30.0-741.v034eb_0b_0a_a_fa_
property-attacher-plugin-jenkins:1.0.0
rebuild:338.va_0a_b_50e29397
resource-disposer:0.25
reverse-proxy-auth-plugin:245.v93f25b_b_b_3102
role-strategy:878.v6f1d3b_3a_0769
run-condition:276.v97298f3a_cd51
scm-api:728.vc30dcf7a_0df5
script-security:1402.1405.vc96e74964250
sidebar-link:2.5.0
simple-build-for-pipeline:0.2
slack:795.v4b_9705b_e6d47
snakeyaml-api:2.5-149.v72471e9c6371
snakeyaml-engine-api:3.0.1-5.vd98ea_ff3b_92e
sonar:2.18.3
ssh-credentials:372.va_250881b_08cd
ssh-slaves:3.1097.v868116049892
sshd:3.384.vc89b_5e138cf9
structs:362.va_b_695ef4fdf9
theme-manager:346.v06cca_64c6a_37
timestamper:1.30
token-macro:477.vd4f0dc3cb_cf1
trilead-api:2.284.v1974ea_324382
uno-choice:2.8.9
validating-string-parameter:345.v0f4330488a_f6
variant:70.va_d9f17f859e0
woodstox-core-api:7.2.1-6.v3718a_a_11f5c4
workflow-aggregator:608.v67378e9d3db_1
workflow-api:1413.v2ff1a_5e720fa_
workflow-basic-steps:1098.v808b_fd7f8cf4
workflow-cps:4350.vcc65d4958821
workflow-durable-task-step:1479.v56e587f413a_7
workflow-job:1581.ve4b_d0db_fcb_b_b_
workflow-multibranch:821.vc3b_4ea_780798
workflow-scm-step:466.va_d69e602552b_
workflow-step-api:724.v538c2362b_dfb_
workflow-support:1015.v785e5a_b_b_8b_22
ws-cleanup:0.49
What Operating System are you using (both controller, and any agents involved in the problem)?
Controller OS: Oracle Enterprise Linux
Client: Codex desktop on Windows.
No Jenkins agents are involved in this MCP request.
Reproduction steps
- Configure an MCP client to use the Streamable HTTP endpoint
/mcp-server/mcp with Authorization: Basic <base64(username:api-token)>.
- Verify the same header directly against
<jenkins-url>/whoAmI/api/json; it returns HTTP 200 with anonymous: false.
- Connect the MCP client and call the built-in
whoAmI tool.
- Observe the MCP error:
AccessDeniedException3: anonymous is missing the Overall/Read permission.
- With FINE logging enabled, observe that the tool call reaches
io.jenkins.plugins.mcp.server.tool.McpToolWrapper.call, then fails at ACL.checkPermission from a Reactor SchedulerTask worker thread.
Expected Results
The MCP whoAmI tool should execute with the authenticated Jenkins principal from the Basic-authenticated request and return that principal.
Actual Results
The tool call is executed as anonymous and fails because anonymous lacks Overall/Read. The direct Jenkins REST whoAmI API call using the same Basic header authenticates successfully.
Anything else?
No response
Are you interested in contributing a fix?
I can help validate a proposed fix, but I am not currently planning to contribute code.
Jenkins and plugins versions report
Jenkins: 2.568.1
OS: Linux - 5.4.17-2136.356.4.2.el7uek.x86_64
Java: 21.0.2 - Oracle Corporation (Java HotSpot(TM) 64-Bit Server VM)
Parameterized-Remote-Trigger:3.2.2
ai-agent:98.vf7c090a_9c37c
ansicolor:536.v13fa_b_860c267
ant:520.vd082ecfb_16a_9
antisamy-markup-formatter:173.v680e3a_b_69ff3
apache-httpcomponents-client-4-api:4.5.14-269.vfa_2321039a_83
apache-httpcomponents-client-5-api:5.6.2-199.vc3c04d033fcc
artifactory:4.0.8
asm-api:9.10.1-216.va_9256d3b_844b_
authentication-tokens:1.144.v5ff4a_5ec5c33
badge:3.591.v9074c6c6f0b_9
bootstrap5-api:5.3.8-1048.va_c299057e35c
bouncycastle-api:2.30.1.84-291.v9f17b_21896e2
branch-api:2.1280.v0d4e5b_b_460ef
build-name-setter:2.5.1
build-timeout:1.40
build-token-root:151.va_e52fe3215fc
caffeine-api:3.2.4-208.v7e2da_a_7db_82b_
checks-api:415.vf022234a_931d
cloudbees-folder:6.1100.ve9eed61d16c4
command-launcher:134.v025a_5fcf9dea_
commons-collections4-api:4.5.0-8.va_d5448ef9011
commons-compress-api:1.28.0-82.v4df6c060eb_66
commons-lang3-api:3.20.0-109.ve43756e2d2b_4
commons-text-api:1.15.0-218.va_61573470393
conditional-buildstep:1.5.0
config-file-provider:1013.v73c323e52b_1f
configuration-as-code:2100.vb_fd699d2a_09c
configurationslicing:709.v4c76e613470f
coverage:3.3278.va_04d3e352354
credentials:1506.v948b_b_b_7dec44
credentials-binding:728.v902a_273b_8947
dark-theme:652.vea_da_dfea_e769
data-tables-api:2.3.8-1570.v1cb_1cd2a_0fb_c
display-url-api:2.217.va_6b_de84cc74b_
docker-commons:472.vee120e23d3a_c
docker-workflow:634.vedc7242b_eda_7
durable-task:686.v80ff80875b_82
echarts-api:6.0.0-1287.vfd24c22a_3d00
eddsa-api:0.3.0.1-29.v67e9a_1c969b_b_
email-ext:2038.v7b_8817a_499d9
emailext-template:249.v81d6ea_f33f2e
emoji-symbols-api:17.0-57.v8d44b_9a_b_d5ea_
envinject:2.941.v351a_20c0a_3ca_
envinject-api:1.241.vdd714803b_403
favorite:2.267.vb_90d08408081
folder-properties:62.v1636b_4a_84608
font-awesome-api:7.2.0-990.vf220b_2a_496f9
forensics-api:4.1891.v5e60f3377506
generic-event:49.v8cdd8314e99d
generic-webhook-trigger:2.4.2
git:5.10.1
git-client:6.6.1
git-server:137.ve0060b_432302
github:1.47.0
github-api:1.330-492.v3941a_032db_2a_
github-branch-source:1967.1970.vd86979736546
global-slack-notifier:1.5
gradle:2.19.1244.v1f9866817fec
groovy:537.v741a_5a_f1b_581
groovy-postbuild:303.v5fe3da_6233f0
gson-api:2.14.0-201.v8eefe5515533
htmlpublisher:427.1
instance-identity:203.v15e81a_1b_7a_38
ionicons-api:94.vcc3065403257
jackson-annotations2-api:2.22-19.v10a_a_582ea_26e
jackson2-api:2.22.0-439.vb_b_43658d6176
jackson3-api:3.2.1-92.vd25c2e23c180
jakarta-activation-api:2.1.4-1
jakarta-mail-api:2.1.5-1
jakarta-xml-bind-api:4.0.9-19.v2b_a_5b_44d9a_1c
javadoc:354.vee1a_660b_4990
javax-activation-api:1.2.0-8
javax-mail-api:1.6.2-11
jaxb:2.3.9-143.v5979df3304e6
jdk-tool:83.v417146707a_3d
jersey2-api:2.48-180.ve47b_264f849b_
jjwt-api:0.13.0-141.vd58b_a_9592b_6c
job-dsl:3654.vdf58f53e2d15
jobConfigHistory:1367.vc8fa_b_15101dc
joda-time-api:2.14.2-193.v422b_efce56e0
jquery3-api:3.7.1-687.v68d468e40b_30
jsch:0.2.16-95.v3eecb_55fa_b_78
json-api:20260522-217.v0b_18b_8cd4672
json-path-api:3.0.0-218.vcd4dd1355de2
jsoup:1.22.2-95.vc5d00f1eb_42d
junit:1413.v736fa_5b_61d80
kubernetes:4437.v3a_18554d3f32
kubernetes-cli:1.375.v8001982544ba
kubernetes-client-api:7.3.1-256.v788a_0b_787114
kubernetes-credentials:207.v492f58828b_ed
ldap:807.809.vd3a_4e5e4ec98
log-parser:3.0.3
mailer:534.v1b_36f5864073
matrix-auth:3.2.10
matrix-project:870.v9db_fcfc2f45b_
maven-plugin:3.27
mcp-server:0.178.vffe5a_e770f3b_
metrics:4.2.37-494.v06f9a_939d33a_
mina-sshd-api-common:2.17.1-187.v0341274c2905
mina-sshd-api-core:2.17.1-187.v0341274c2905
naginator:1.556.v14d723a_109a_c
nodejs:1.6.6
nodelabelparameter:851.vd94e5048d321
notification:1.18
oauth-credentials:0.660.vce7c108f1f3a_
okhttp-api:5.3.2-200.vedb_720a_cf1f8
oracle-ci-scanner-plugin:1.0.0.42
oracle-cloud-infrastructure-compute:1.0.20
oracle-oauth-plugin:1.0.0.54
oss-symbols-api:465.v25d9fdc88c26
p4:1.18.0
parameterized-scheduler:379.v95c73f233a_df
parameterized-trigger:893.va_383a_9b_a_4c11
pipeline-build-step:584.vdb_a_2cc3a_d07a_
pipeline-github-lib:65.v203688e7727e
pipeline-graph-analysis:254.v0f63a_a_447dca_
pipeline-groovy-lib:798.v5cc688825312
pipeline-input-notification:17.v3401b_efd3f89
pipeline-input-step:560.v56198a_642157
pipeline-maven:1735.v63b_5b_1b_d25d9
pipeline-maven-api:1735.v63b_5b_1b_d25d9
pipeline-milestone-step:152.v6e22b_8cfc66c
pipeline-model-api:2.2291.v2934911987b_6
pipeline-model-definition:2.2291.v2934911987b_6
pipeline-model-extensions:2.2291.v2934911987b_6
pipeline-rest-api:2.41
pipeline-stage-step:345.va_96187909426
pipeline-stage-tags-metadata:2.2291.v2934911987b_6
pipeline-stage-view:2.41
pipeline-utility-steps:3.810.va_7672d206740
plain-credentials:199.v9f8e1f741799
plugin-usage-plugin:418.v308c3c863d25
plugin-util-api:7.1341.v039f146993d9
postbuild-task:78.v24529f1f5cdb_
postbuildscript:3.4.1-695.vf6b_0b_8053979
prism-api:1.30.0-741.v034eb_0b_0a_a_fa_
property-attacher-plugin-jenkins:1.0.0
rebuild:338.va_0a_b_50e29397
resource-disposer:0.25
reverse-proxy-auth-plugin:245.v93f25b_b_b_3102
role-strategy:878.v6f1d3b_3a_0769
run-condition:276.v97298f3a_cd51
scm-api:728.vc30dcf7a_0df5
script-security:1402.1405.vc96e74964250
sidebar-link:2.5.0
simple-build-for-pipeline:0.2
slack:795.v4b_9705b_e6d47
snakeyaml-api:2.5-149.v72471e9c6371
snakeyaml-engine-api:3.0.1-5.vd98ea_ff3b_92e
sonar:2.18.3
ssh-credentials:372.va_250881b_08cd
ssh-slaves:3.1097.v868116049892
sshd:3.384.vc89b_5e138cf9
structs:362.va_b_695ef4fdf9
theme-manager:346.v06cca_64c6a_37
timestamper:1.30
token-macro:477.vd4f0dc3cb_cf1
trilead-api:2.284.v1974ea_324382
uno-choice:2.8.9
validating-string-parameter:345.v0f4330488a_f6
variant:70.va_d9f17f859e0
woodstox-core-api:7.2.1-6.v3718a_a_11f5c4
workflow-aggregator:608.v67378e9d3db_1
workflow-api:1413.v2ff1a_5e720fa_
workflow-basic-steps:1098.v808b_fd7f8cf4
workflow-cps:4350.vcc65d4958821
workflow-durable-task-step:1479.v56e587f413a_7
workflow-job:1581.ve4b_d0db_fcb_b_b_
workflow-multibranch:821.vc3b_4ea_780798
workflow-scm-step:466.va_d69e602552b_
workflow-step-api:724.v538c2362b_dfb_
workflow-support:1015.v785e5a_b_b_8b_22
ws-cleanup:0.49
What Operating System are you using (both controller, and any agents involved in the problem)?
Controller OS: Oracle Enterprise Linux
Client: Codex desktop on Windows.
No Jenkins agents are involved in this MCP request.
Reproduction steps
/mcp-server/mcpwithAuthorization: Basic <base64(username:api-token)>.<jenkins-url>/whoAmI/api/json; it returns HTTP 200 withanonymous: false.whoAmItool.AccessDeniedException3: anonymous is missing the Overall/Read permission.io.jenkins.plugins.mcp.server.tool.McpToolWrapper.call, then fails atACL.checkPermissionfrom a ReactorSchedulerTaskworker thread.Expected Results
The MCP
whoAmItool should execute with the authenticated Jenkins principal from the Basic-authenticated request and return that principal.Actual Results
The tool call is executed as
anonymousand fails because anonymous lacksOverall/Read. The direct Jenkins RESTwhoAmIAPI call using the same Basic header authenticates successfully.Anything else?
No response
Are you interested in contributing a fix?
I can help validate a proposed fix, but I am not currently planning to contribute code.