-
-
Notifications
You must be signed in to change notification settings - Fork 44
Description
Jenkins and plugins versions report
Environment
Jenkins: 2.533
OS: Windows 11 - 10.0
Java: 25 - Eclipse Adoptium (OpenJDK 64-Bit Server VM)
---
antisamy-markup-formatter:173.v680e3a_b_69ff3
apache-httpcomponents-client-4-api:4.5.14-269.vfa_2321039a_83
asm-api:9.9.1-189.vb_5ef2964da_91
bootstrap5-api:5.3.8-895.v4d0d8e47fea_d
bouncycastle-api:2.30.1.82-277.v70ca_0b_877184
branch-api:2.1268.v044a_87612da_8
caffeine-api:3.2.3-194.v31a_b_f7a_b_5a_81
checks-api:373.vfe7645102093
cloudbees-folder:6.1053.vd62fb_b_f7367b_
commons-lang3-api:3.20.0-109.ve43756e2d2b_4
commons-text-api:1.15.0-210.v7480a_da_70b_9e
credentials:1453.v9b_a_29777a_b_fd
credentials-binding:702.vfe613e537e88
display-url-api:2.217.va_6b_de84cc74b_
durable-task:639.vefb_3d8372f6d
echarts-api:6.0.0-1165.vd1283a_3e37d4
font-awesome-api:7.1.0-882.v1dfb_771e3278
git:5.8.1
git-client:6.4.3
git-parameter:460.v71e7583a_c099
gson-api:2.13.2-173.va_a_092315913c
instance-identity:203.v15e81a_1b_7a_38
ionicons-api:94.vcc3065403257
jackson2-api:2.20.1-423.v13951f6b_6532
jakarta-activation-api:2.1.4-1
jakarta-mail-api:2.1.5-1
jakarta-xml-bind-api:4.0.6-10.v9b_7e1d1fc40b_
javax-activation-api:1.2.0-8
jaxb:2.3.9-133.vb_ec76a_73f706
joda-time-api:2.14.0-149.v1c3ce991d1b_9
jquery3-api:3.7.1-619.vdb_10e002501a_
json-api:20250517-173.v596efb_962a_31
junit:1380.v491ff054cd35
mailer:525.v2458b_d8a_1a_71
mcp-server:0.999999-SNAPSHOT (private-75331f2a-mrichar2)
mina-sshd-api-common:2.16.0-167.va_269f38cc024
mina-sshd-api-core:2.16.0-167.va_269f38cc024
pipeline-groovy-lib:787.ve2fef0efdca_6
pipeline-input-step:540.v14b_100d754dd
pipeline-model-api:2.2277.v00573e73ddf1
pipeline-model-definition:2.2277.v00573e73ddf1
pipeline-model-extensions:2.2277.v00573e73ddf1
pipeline-stage-step:322.vecffa_99f371c
pipeline-stage-tags-metadata:2.2277.v00573e73ddf1
plain-credentials:199.v9f8e1f741799
plugin-util-api:6.1192.v30fe6e2837ff
prism-api:1.30.0-630.va_e19d17f83b_0
scm-api:724.v7d839074eb_5c
script-security:1385.v7d2d9ec4d909
snakeyaml-api:2.5-143.v93b_c004f89de
ssh-credentials:361.vb_f6760818e8c
structs:362.va_b_695ef4fdf9
variant:70.va_d9f17f859e0
workflow-api:1384.vdc05a_48f535f
workflow-basic-steps:1098.v808b_fd7f8cf4
workflow-cps:4238.va_6fb_65c1f699
workflow-durable-task-step:1464.v2d3f5c68f84c
workflow-job:1559.va_a_533730b_ea_d
workflow-multibranch:821.vc3b_4ea_780798
workflow-scm-step:466.va_d69e602552b_
workflow-step-api:710.v3e456cc85233
workflow-support:1010.vb_b_39488a_9841
What Operating System are you using (both controller, and any agents involved in the problem)?
Windows 11
Reproduction steps
- Launch a fresh instance of Jenkins without setting the root URL
- Install the mcp-server-plugin (or run with mvn hpi:run)
- Create a job
- Attempt to use the getJob MCP tool
Expected Results
The job json is returned in the content of the tool call
Actual Results
The call fails with an exception:
com.fasterxml.jackson.databind.JsonMappingException: Unexpected IOException (of type java.io.IOException): Failed to write url:null
at PluginClassLoader for jackson2-api//com.fasterxml.jackson.databind.JsonMappingException.fromUnexpectedIOE(JsonMappingException.java:344)
at PluginClassLoader for jackson2-api//com.fasterxml.jackson.databind.ObjectMapper.writeValueAsString(ObjectMapper.java:4151)
at PluginClassLoader for mcp-server//io.jenkins.plugins.mcp.server.tool.McpToolWrapper.toJson(McpToolWrapper.java:168)
at PluginClassLoader for mcp-server//io.jenkins.plugins.mcp.server.tool.McpToolWrapper.toMcpResult(McpToolWrapper.java:247)
at PluginClassLoader for mcp-server//io.jenkins.plugins.mcp.server.tool.McpToolWrapper.callRequest(McpToolWrapper.java:283)
at PluginClassLoader for mcp-server//io.modelcontextprotocol.server.McpServerFeatures$AsyncToolSpecification.lambda$fromSync$3(McpServerFeatures.java:260)
at PluginClassLoader for mcp-server//reactor.core.publisher.MonoCallable.call(MonoCallable.java:72)
at PluginClassLoader for mcp-server//reactor.core.publisher.FluxSubscribeOnCallable$CallableSubscribeOnSubscription.run(FluxSubscribeOnCallable.java:228)
Anything else?
I tracked the cause down in the debugger to the root URL not being set from this line which throws an IllegalStateException with the message "Root URL isn't configured yet. Cannot compute absolute URL.". Somewhere in the serialization context that information gets lost. There's nothing in the logs about it either (when running with hpi:run)
Ideally this error should be made more obvious to the Jenkins administrator or the MCP caller so they know how to resolve it.
Are you interested in contributing a fix?
No response