Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

MCP Client Plugin not working

isqc
Kilo Guru

I am trying to use an MCP tool from my AI agent. I have created an MCP server definition with my server's URL and API key. The server is running FastMCP v2.13.0.2. 

 

When I try to add the MCP tools to my AI agent, I get an error when the initialize call is made. The return code is 406 and the request body is:


{"method":"initialize","id":"448d1ae3974d7a10c69b341de053afba","jsonrpc":"2.0","params":{"capabiliti**body truncated**

 

I am using version 1.1.2 of the snc_mcp_client plugin. The previous version had issues managing the mcp session, so it only worked between the time when I defined the MCP server connection and until the first session expired. But now I can't even list the tools, because the initialize call itself fails! 

 

Has anyone actually gotten this plugin to work consistently?

1 ACCEPTED SOLUTION

isqc
Kilo Guru

Finally the solution was to upgrade to the latest Zurich patch (patch 3), and that solved the issue!

 

 

View solution in original post

11 REPLIES 11

warren_chan
ServiceNow Employee
ServiceNow Employee

Check your MCP Server Logs [sn_mcp_execution_logs]. It should have some error to go on. Depending on what it is, you can try readding your MCP server and re-initializing the tools/list.

Thanks for the tip, I was not aware of that table.

 

However I think that the key is that the initialize request is sending the Accept header twice, as is shown in the outbound http logs.

{Content-Length=192, Accept=text/event-stream, Accept=application/json, text/event-stream, Content-Type=application/json, MCP-Protocol-Version=2025-06-18, authorization=Bearer.......

 

If I send these headers, in this order, to my MCP Server with Postman, I also get a 406, with this error 

"error": {
"code": -32600,
"message": "Not Acceptable: Client must accept both application/json and text/event-stream"
}
So it seemst that only the first value of the Accept header is being read. 

warren_chan
ServiceNow Employee
ServiceNow Employee

Maybe try only sending application/json, and not text/event-stream? It depends on how your MCP server is configured, but I believe ServiceNow MCP client is only taking application/json at the moment.

The problem is that it is not our code which is sending the headers, but the ServiceNow MCP Client plugin itself.  So we can not change the headers which get sent with the request. I believe that just sending the "Accept"="application/json, text/event-stream" header only would fix the issue, because the server clearly states that  "Client must accept both application/json and text/event-stream". But I think that we will need to wait for a new version of the sn_mcp_client plugin for that.