Skip to content

Responses request calls MCP list tools multiple times #4452

@jwm4

Description

@jwm4

System Info

Latest Llama Stack and Llama Stack Client Python on main around noon ET on 2026-01-06.

Information

  • The official example scripts
  • My own modified scripts

🐛 Describe the bug

I make a call to Llama Stack with a complex request that requires multiple MCP tool calls to complete. I have logging enabled in my MCP server that shows me each time a tools/list message is sent. I see in the log for my server that tools/list is called multiple times.

The MCP server I used with the added logging is here: https://github.com/The-AI-Alliance/llama-stack-examples/blob/main/notebooks/01-responses/nps_mcp_server.py

It is invoked as:

python nps_mcp_server.py --log-level DEBUG --transport sse --port 3005

and then I use it by calling:

responses_api_response1 = client.responses.create(
    model="openai/gpt-4o",
    input="Tell me about some parks in Rhode Island, and let me know if there are any upcoming events at them.",
    instructions="You are a helpful assistant that can answer questions about the National Parks Service.",
    tools=[
        {
            "type": "mcp",
            "server_url": "http://localhost:3005/sse/",
            "server_label": "NPS",
            "requires_approval": False,
            "authorization":"frog",
        }
    ]
)

Error logs

Here are the logs from the NPS MCP server. Note that "Completed message: tools/list" appears six times even though this was a single Responses call:

[01/06/26 12:31:28] INFO     Starting MCP server 'nps' with transport 'sse' on http://localhost:3005/sse/                                                                                                                                                                                                                                                      server.py:1448
/Users/bmurdock/sample-agent/venv-3_12_9/lib/python3.12/site-packages/websockets/legacy/__init__.py:6: DeprecationWarning: websockets.legacy is deprecated; see https://websockets.readthedocs.io/en/stable/howto/upgrade.html for upgrade instructions
  warnings.warn(  # deprecated in 14.0 - 2024-11-09
/Users/bmurdock/sample-agent/venv-3_12_9/lib/python3.12/site-packages/uvicorn/protocols/websockets/websockets_impl.py:17: DeprecationWarning: websockets.server.WebSocketServerProtocol is deprecated
  from websockets.server import WebSocketServerProtocol
INFO:     Started server process [65505]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://localhost:3005 (Press CTRL+C to quit)
INFO:     ::1:49591 - "POST /sse/ HTTP/1.1" 405 Method Not Allowed
INFO:     ::1:49592 - "GET /sse/ HTTP/1.1" 200 OK
INFO:     ::1:49593 - "POST /messages/?session_id=ce34d3f1b6f646dab5912be787f76e77 HTTP/1.1" 202 Accepted
INFO:     ::1:49593 - "POST /messages/?session_id=ce34d3f1b6f646dab5912be787f76e77 HTTP/1.1" 202 Accepted
INFO:     ::1:49593 - "POST /messages/?session_id=ce34d3f1b6f646dab5912be787f76e77 HTTP/1.1" 202 Accepted
2026-01-06 12:31:43,285 - __main__ - INFO - Processing message: source=client type=request method=tools/list
2026-01-06 12:31:43,286 - __main__ - DEBUG - list-tools called at 2026-01-06 17:31:43.285874+00:00 (method: tools/list)
2026-01-06 12:31:43,286 - __main__ - DEBUG - list-tools returned 5 tools
2026-01-06 12:31:43,286 - __main__ - INFO - Completed message: tools/list
INFO:     ::1:49595 - "GET /sse/ HTTP/1.1" 200 OK
INFO:     ::1:49596 - "POST /messages/?session_id=71a8d3b81380459494659e2e11a0f77e HTTP/1.1" 202 Accepted
INFO:     ::1:49596 - "POST /messages/?session_id=71a8d3b81380459494659e2e11a0f77e HTTP/1.1" 202 Accepted
INFO:     ::1:49596 - "POST /messages/?session_id=71a8d3b81380459494659e2e11a0f77e HTTP/1.1" 202 Accepted
2026-01-06 12:31:44,241 - __main__ - INFO - Processing message: source=client type=request method=tools/call
2026-01-06 12:31:44,241 - __main__ - DEBUG - search_parks called with inputs: state_code=RI, park_code=None, query=None, limit=10
2026-01-06 12:31:44,241 - __main__ - DEBUG - tool call headers: {'host': 'localhost:3005', 'accept-encoding': 'gzip, deflate, zstd', 'connection': 'keep-alive', 'user-agent': 'python-httpx/0.28.1', 'authorization': 'Bear***frog', 'accept': 'text/event-stream', 'cache-control': 'no-store'}
2026-01-06 12:31:44,241 - __main__ - DEBUG - Making HTTP request to: https://developer.nps.gov/api/v1/parks
2026-01-06 12:31:44,241 - __main__ - DEBUG - Request headers: {'X-Api-Key': 'aI1d***gIJJ', 'User-Agent': 'nps-mcp-server/1.0 (contact@example.com)'}
2026-01-06 12:31:44,241 - __main__ - DEBUG - Request params: {'limit': '10', 'stateCode': 'RI'}
2026-01-06 12:31:44,978 - __main__ - DEBUG - HTTP response status: 200
2026-01-06 12:31:44,978 - __main__ - DEBUG - HTTP response headers: {'date': 'Tue, 06 Jan 2026 17:31:44 GMT', 'content-type': 'application/json;charset=utf-8', 'content-length': '6683', 'connection': 'keep-alive', 'access-control-allow-credentials': 'true', 'access-control-allow-headers': 'Content-type, Authorization, Access-Control-Allow-Headers, Credentials, X-Api-Key', 'access-control-allow-methods': 'GET, OPTIONS', 'access-control-allow-origin': '*', 'age': '0', 'allow': 'Get', 'content-encoding': 'gzip', 'content-security-policy': "default-src 'none'; base-uri 'none'; connect-src 'self'; form-action 'self'; font-src 'self'; frame-ancestors 'none'; img-src 'self'; media-src 'self'; style-src 'self' 'unsafe-inline'; script-src 'self'; worker-src 'self';", 'strict-transport-security': 'max-age=31536000; includeSubDomains; preload', 'vary': 'Accept-Encoding, Accept-Encoding', 'via': 'https/1.1 api-umbrella (ApacheTrafficServer [cMsSf ])', 'x-api-umbrella-request-id': 'crihelm0p6vdq7n6a8h0', 'x-cache': 'MISS', 'x-content-type-options': 'nosniff', 'x-ratelimit-limit': '1000', 'x-ratelimit-remaining': '989', 'x-vcap-request-id': '2d3d17bf-6035-4a8d-4512-d30bd0797e96', 'x-xss-protection': '1; mode=block', 'x-frame-options': 'SAMEORIGIN'}
2026-01-06 12:31:44,981 - __main__ - DEBUG - Raw API response data (first 500 chars): {'total': '4', 'limit': '10', 'start': '0', 'data': [{'id': 'A36366E7-5663-4531-B0CE-D58928C6D01B', 'url': 'https://www.nps.gov/blrv/index.htm', 'fullName': 'Blackstone River Valley National Historical Park', 'parkCode': 'blrv', 'description': "The Blackstone River powered America's entry into the Age of Industry. The success of Samuel Slater's cotton spinning mill in Pawtucket, RI touched off a chain reaction that changed how people worked and where they lived. Learn how this revolution transfo...
2026-01-06 12:31:44,982 - __main__ - DEBUG - search_parks returning success result with 4 parks
2026-01-06 12:31:44,982 - __main__ - DEBUG - Output (first 300 chars): {
  "total": "4",
  "parks": [
    {
      "name": "Blackstone River Valley National Historical Park",
      "code": "blrv",
      "description": "The Blackstone River powered America's entry into the Age of Industry. The success of Samuel Slater's cotton spinning mill in Pawtucket, RI touched off a...
2026-01-06 12:31:44,983 - __main__ - INFO - Completed message: tools/call
INFO:     ::1:49596 - "POST /messages/?session_id=71a8d3b81380459494659e2e11a0f77e HTTP/1.1" 202 Accepted
2026-01-06 12:31:44,990 - __main__ - INFO - Processing message: source=client type=request method=tools/list
2026-01-06 12:31:44,990 - __main__ - DEBUG - list-tools called at 2026-01-06 17:31:44.990384+00:00 (method: tools/list)
2026-01-06 12:31:44,990 - __main__ - DEBUG - list-tools returned 5 tools
2026-01-06 12:31:44,990 - __main__ - INFO - Completed message: tools/list
INFO:     ::1:49601 - "GET /sse/ HTTP/1.1" 200 OK
INFO:     ::1:49602 - "POST /messages/?session_id=642ff6e2e29f48aaa44c1a73b9cfd4bd HTTP/1.1" 202 Accepted
INFO:     ::1:49602 - "POST /messages/?session_id=642ff6e2e29f48aaa44c1a73b9cfd4bd HTTP/1.1" 202 Accepted
INFO:     ::1:49602 - "POST /messages/?session_id=642ff6e2e29f48aaa44c1a73b9cfd4bd HTTP/1.1" 202 Accepted
2026-01-06 12:31:46,568 - __main__ - INFO - Processing message: source=client type=request method=tools/call
2026-01-06 12:31:46,568 - __main__ - DEBUG - get_park_events called with inputs: park_code=blrv, limit=10
2026-01-06 12:31:46,568 - __main__ - DEBUG - Making HTTP request to: https://developer.nps.gov/api/v1/events
2026-01-06 12:31:46,568 - __main__ - DEBUG - Request headers: {'X-Api-Key': 'aI1d***gIJJ', 'User-Agent': 'nps-mcp-server/1.0 (contact@example.com)'}
2026-01-06 12:31:46,568 - __main__ - DEBUG - Request params: {'parkCode': 'blrv', 'limit': '10'}
2026-01-06 12:31:47,305 - __main__ - DEBUG - HTTP response status: 200
2026-01-06 12:31:47,306 - __main__ - DEBUG - HTTP response headers: {'date': 'Tue, 06 Jan 2026 17:31:47 GMT', 'content-type': 'application/json; charset=utf-8', 'transfer-encoding': 'chunked', 'connection': 'keep-alive', 'access-control-expose-headers': 'X-Pagination', 'age': '1', 'content-encoding': 'gzip', 'referrer-policy': 'strict-origin-when-cross-origin', 'strict-transport-security': 'max-age=31536000; includeSubDomains; preload', 'vary': 'Accept-Encoding, Accept-Encoding', 'via': '1.1 11017c4db22106ac70e16ce75190a430.cloudfront.net (CloudFront), https/1.1 api-umbrella (ApacheTrafficServer [cMsSf ])', 'x-amz-cf-id': 'eCC5Edh-3nPNGIyvFHmMOCJEXdbRlnN98omXLufm3JJvY-jL8y3fJg==', 'x-amz-cf-pop': 'HIO52-P4', 'x-api-umbrella-request-id': 'crihem78o4sj33uc3heg', 'x-cache': 'Miss from cloudfront', 'x-content-type-options': 'nosniff', 'x-pagination': '{"pagenumber":"1","pagesize":"50","total":"8"}', 'x-ratelimit-limit': '1000', 'x-ratelimit-remaining': '988', 'x-vcap-request-id': '6ddb7641-3f7f-46dc-73a5-66756693701e', 'x-xss-protection': '1; mode=block', 'x-frame-options': 'SAMEORIGIN'}
2026-01-06 12:31:47,307 - __main__ - DEBUG - Raw API response data (first 500 chars): {'pagesize': '50', 'pagenumber': '1', 'total': '8', 'errors': [], 'data': [{'categoryid': '1', 'category': 'Regular Event', 'eventid': '124212', 'date': '2026-01-10', 'datestart': '2026-01-10', 'dateend': '2026-01-10', 'recurrencedatestart': '2026-01-10', 'recurrencedateend': '2026-01-24', 'latitude': '42.023989', 'longitude': '-71.582714', 'isrecurring': 'false', 'isallday': 'false', 'isregresrequired': 'false', 'isfree': 'true', 'regresurl': '', 'regresinfo': '', 'infourl': '', 'feeinfo': '', ...
2026-01-06 12:31:47,308 - __main__ - DEBUG - get_park_events returning success result with 8 events
2026-01-06 12:31:47,308 - __main__ - DEBUG - Output (first 300 chars): {
  "parkCode": "BLRV",
  "totalEvents": 8,
  "events": [
    {
      "title": "Blackstone Canal Hike Series",
      "description": "<p class=\"\">Join us for hikes on Saturday mornings in January at 10:30 AM. Hikes will depart from various locations along the historic Blackstone Canal on 1/3, 1/10,...
2026-01-06 12:31:47,309 - __main__ - INFO - Completed message: tools/call
INFO:     ::1:49602 - "POST /messages/?session_id=642ff6e2e29f48aaa44c1a73b9cfd4bd HTTP/1.1" 202 Accepted
2026-01-06 12:31:47,316 - __main__ - INFO - Processing message: source=client type=request method=tools/list
2026-01-06 12:31:47,316 - __main__ - DEBUG - list-tools called at 2026-01-06 17:31:47.316431+00:00 (method: tools/list)
2026-01-06 12:31:47,316 - __main__ - DEBUG - list-tools returned 5 tools
2026-01-06 12:31:47,316 - __main__ - INFO - Completed message: tools/list
INFO:     ::1:49606 - "GET /sse/ HTTP/1.1" 200 OK
INFO:     ::1:49607 - "POST /messages/?session_id=912ce762f0dd4528bcee1f96a80d84db HTTP/1.1" 202 Accepted
INFO:     ::1:49607 - "POST /messages/?session_id=912ce762f0dd4528bcee1f96a80d84db HTTP/1.1" 202 Accepted
INFO:     ::1:49607 - "POST /messages/?session_id=912ce762f0dd4528bcee1f96a80d84db HTTP/1.1" 202 Accepted
2026-01-06 12:31:47,338 - __main__ - INFO - Processing message: source=client type=request method=tools/call
2026-01-06 12:31:47,338 - __main__ - DEBUG - get_park_events called with inputs: park_code=rowi, limit=10
2026-01-06 12:31:47,338 - __main__ - DEBUG - Making HTTP request to: https://developer.nps.gov/api/v1/events
2026-01-06 12:31:47,339 - __main__ - DEBUG - Request headers: {'X-Api-Key': 'aI1d***gIJJ', 'User-Agent': 'nps-mcp-server/1.0 (contact@example.com)'}
2026-01-06 12:31:47,339 - __main__ - DEBUG - Request params: {'parkCode': 'rowi', 'limit': '10'}
2026-01-06 12:31:47,973 - __main__ - DEBUG - HTTP response status: 200
2026-01-06 12:31:47,973 - __main__ - DEBUG - HTTP response headers: {'date': 'Tue, 06 Jan 2026 17:31:47 GMT', 'content-type': 'application/json; charset=utf-8', 'transfer-encoding': 'chunked', 'connection': 'keep-alive', 'access-control-expose-headers': 'X-Pagination', 'age': '0', 'content-encoding': 'gzip', 'referrer-policy': 'strict-origin-when-cross-origin', 'strict-transport-security': 'max-age=31536000; includeSubDomains; preload', 'vary': 'Accept-Encoding, Accept-Encoding', 'via': '1.1 a454a679efa1e16833b77cb6af61e11c.cloudfront.net (CloudFront), https/1.1 api-umbrella (ApacheTrafficServer [cMsSf ])', 'x-amz-cf-id': 'QN73kKsAxFnPIa3MHmfzek_E_P-6Grgvi-avxoATqLdIV0v4zrjOXA==', 'x-amz-cf-pop': 'HIO52-P4', 'x-api-umbrella-request-id': 'crihemdcehmfsht112o0', 'x-cache': 'Miss from cloudfront', 'x-content-type-options': 'nosniff', 'x-pagination': '{"pagenumber":"1","pagesize":"50","total":"3"}', 'x-ratelimit-limit': '1000', 'x-ratelimit-remaining': '987', 'x-vcap-request-id': 'd9d8c0fe-047d-4a12-4282-1e297abc8cb2', 'x-xss-protection': '1; mode=block', 'x-frame-options': 'SAMEORIGIN'}
2026-01-06 12:31:47,973 - __main__ - DEBUG - Raw API response data (first 500 chars): {'pagesize': '50', 'pagenumber': '1', 'total': '3', 'errors': [], 'data': [{'categoryid': '1', 'category': 'Regular Event', 'eventid': '124210', 'date': '2026-01-07', 'datestart': '2025-12-03', 'dateend': '2026-05-27', 'recurrencedatestart': '2025-12-03', 'recurrencedateend': '2026-05-27', 'latitude': '', 'longitude': '', 'isrecurring': 'true', 'isallday': 'false', 'isregresrequired': 'false', 'isfree': 'true', 'regresurl': '', 'regresinfo': '', 'infourl': 'https://www.nps.gov/rowi/planyourvisit...
2026-01-06 12:31:47,974 - __main__ - DEBUG - get_park_events returning success result with 3 events
2026-01-06 12:31:47,974 - __main__ - DEBUG - Output (first 300 chars): {
  "parkCode": "ROWI",
  "totalEvents": 3,
  "events": [
    {
      "title": "Visitor Center Open",
      "description": "<p>Explore the life and legacy of Roger Williams. Park Rangers and volunteers are standing by. While you're here, watch our 5 minute film, read our exhibits, browse the booksto...
2026-01-06 12:31:47,974 - __main__ - INFO - Completed message: tools/call
INFO:     ::1:49607 - "POST /messages/?session_id=912ce762f0dd4528bcee1f96a80d84db HTTP/1.1" 202 Accepted
2026-01-06 12:31:47,979 - __main__ - INFO - Processing message: source=client type=request method=tools/list
2026-01-06 12:31:47,979 - __main__ - DEBUG - list-tools called at 2026-01-06 17:31:47.979380+00:00 (method: tools/list)
2026-01-06 12:31:47,979 - __main__ - DEBUG - list-tools returned 5 tools
2026-01-06 12:31:47,979 - __main__ - INFO - Completed message: tools/list
INFO:     ::1:49610 - "GET /sse/ HTTP/1.1" 200 OK
INFO:     ::1:49611 - "POST /messages/?session_id=50574cf56e4a4aafb3971a167e6ba2a6 HTTP/1.1" 202 Accepted
INFO:     ::1:49611 - "POST /messages/?session_id=50574cf56e4a4aafb3971a167e6ba2a6 HTTP/1.1" 202 Accepted
INFO:     ::1:49611 - "POST /messages/?session_id=50574cf56e4a4aafb3971a167e6ba2a6 HTTP/1.1" 202 Accepted
2026-01-06 12:31:48,000 - __main__ - INFO - Processing message: source=client type=request method=tools/call
2026-01-06 12:31:48,000 - __main__ - DEBUG - get_park_events called with inputs: park_code=tosy, limit=10
2026-01-06 12:31:48,000 - __main__ - DEBUG - Making HTTP request to: https://developer.nps.gov/api/v1/events
2026-01-06 12:31:48,000 - __main__ - DEBUG - Request headers: {'X-Api-Key': 'aI1d***gIJJ', 'User-Agent': 'nps-mcp-server/1.0 (contact@example.com)'}
2026-01-06 12:31:48,000 - __main__ - DEBUG - Request params: {'parkCode': 'tosy', 'limit': '10'}
2026-01-06 12:31:48,656 - __main__ - DEBUG - HTTP response status: 200
2026-01-06 12:31:48,656 - __main__ - DEBUG - HTTP response headers: {'date': 'Tue, 06 Jan 2026 17:31:48 GMT', 'content-type': 'application/json; charset=utf-8', 'transfer-encoding': 'chunked', 'connection': 'keep-alive', 'access-control-expose-headers': 'X-Pagination', 'age': '0', 'content-encoding': 'gzip', 'referrer-policy': 'strict-origin-when-cross-origin', 'strict-transport-security': 'max-age=31536000; includeSubDomains; preload', 'vary': 'Accept-Encoding, Accept-Encoding', 'via': '1.1 c5e1a6561d8dc3977e11160718fc75e8.cloudfront.net (CloudFront), https/1.1 api-umbrella (ApacheTrafficServer [cMsSf ])', 'x-amz-cf-id': 'd1lQPBDuoy90X5Z-FscO45258CxcyR3OGKo37XoBVMRFVIc7thOo3g==', 'x-amz-cf-pop': 'HIO52-P4', 'x-api-umbrella-request-id': 'crihemierp1srfm7ntug', 'x-cache': 'Miss from cloudfront', 'x-content-type-options': 'nosniff', 'x-pagination': '{"pagenumber":"1","pagesize":"50","total":"0"}', 'x-ratelimit-limit': '1000', 'x-ratelimit-remaining': '986', 'x-vcap-request-id': '79a04c30-6e2f-4336-7774-7da562d54068', 'x-xss-protection': '1; mode=block', 'x-frame-options': 'SAMEORIGIN'}
2026-01-06 12:31:48,657 - __main__ - DEBUG - Raw API response data (first 500 chars): {'pagesize': '50', 'pagenumber': '1', 'total': '0', 'errors': [], 'data': []}...
2026-01-06 12:31:48,658 - __main__ - DEBUG - get_park_events returning no results: {"parkCode": "TOSY", "message": "No upcoming events found for this park"}
2026-01-06 12:31:48,658 - __main__ - INFO - Completed message: tools/call
INFO:     ::1:49611 - "POST /messages/?session_id=50574cf56e4a4aafb3971a167e6ba2a6 HTTP/1.1" 202 Accepted
2026-01-06 12:31:48,667 - __main__ - INFO - Processing message: source=client type=request method=tools/list
2026-01-06 12:31:48,667 - __main__ - DEBUG - list-tools called at 2026-01-06 17:31:48.667181+00:00 (method: tools/list)
2026-01-06 12:31:48,667 - __main__ - DEBUG - list-tools returned 5 tools
2026-01-06 12:31:48,667 - __main__ - INFO - Completed message: tools/list
INFO:     ::1:49614 - "GET /sse/ HTTP/1.1" 200 OK
INFO:     ::1:49615 - "POST /messages/?session_id=2bfe0ce8774645df9b2d6e08cf32916d HTTP/1.1" 202 Accepted
INFO:     ::1:49615 - "POST /messages/?session_id=2bfe0ce8774645df9b2d6e08cf32916d HTTP/1.1" 202 Accepted
INFO:     ::1:49615 - "POST /messages/?session_id=2bfe0ce8774645df9b2d6e08cf32916d HTTP/1.1" 202 Accepted
2026-01-06 12:31:48,689 - __main__ - INFO - Processing message: source=client type=request method=tools/call
2026-01-06 12:31:48,689 - __main__ - DEBUG - get_park_events called with inputs: park_code=waro, limit=10
2026-01-06 12:31:48,689 - __main__ - DEBUG - Making HTTP request to: https://developer.nps.gov/api/v1/events
2026-01-06 12:31:48,689 - __main__ - DEBUG - Request headers: {'X-Api-Key': 'aI1d***gIJJ', 'User-Agent': 'nps-mcp-server/1.0 (contact@example.com)'}
2026-01-06 12:31:48,689 - __main__ - DEBUG - Request params: {'parkCode': 'waro', 'limit': '10'}
2026-01-06 12:31:49,176 - __main__ - DEBUG - HTTP response status: 200
2026-01-06 12:31:49,176 - __main__ - DEBUG - HTTP response headers: {'date': 'Tue, 06 Jan 2026 17:31:49 GMT', 'content-type': 'application/json; charset=utf-8', 'transfer-encoding': 'chunked', 'connection': 'keep-alive', 'access-control-expose-headers': 'X-Pagination', 'age': '0', 'content-encoding': 'gzip', 'referrer-policy': 'strict-origin-when-cross-origin', 'strict-transport-security': 'max-age=31536000; includeSubDomains; preload', 'vary': 'Accept-Encoding, Accept-Encoding', 'via': '1.1 ba53e0bccc2d60bfa0ca7719c7526e16.cloudfront.net (CloudFront), https/1.1 api-umbrella (ApacheTrafficServer [cMsSf ])', 'x-amz-cf-id': '5_05q4P9bEPLcPlDOkdOxhg7qCDTwctmbWBHUyJ9H3q-9kgJppLP-g==', 'x-amz-cf-pop': 'HIO52-P4', 'x-api-umbrella-request-id': 'crihemnpt0qmkclruqdg', 'x-cache': 'Miss from cloudfront', 'x-content-type-options': 'nosniff', 'x-pagination': '{"pagenumber":"1","pagesize":"50","total":"0"}', 'x-ratelimit-limit': '1000', 'x-ratelimit-remaining': '985', 'x-vcap-request-id': '1022d845-62d1-45a8-661b-21a718df8ce5', 'x-xss-protection': '1; mode=block', 'x-frame-options': 'SAMEORIGIN'}
2026-01-06 12:31:49,177 - __main__ - DEBUG - Raw API response data (first 500 chars): {'pagesize': '50', 'pagenumber': '1', 'total': '0', 'errors': [], 'data': []}...
2026-01-06 12:31:49,177 - __main__ - DEBUG - get_park_events returning no results: {"parkCode": "WARO", "message": "No upcoming events found for this park"}
2026-01-06 12:31:49,177 - __main__ - INFO - Completed message: tools/call
INFO:     ::1:49615 - "POST /messages/?session_id=2bfe0ce8774645df9b2d6e08cf32916d HTTP/1.1" 202 Accepted
2026-01-06 12:31:49,181 - __main__ - INFO - Processing message: source=client type=request method=tools/list
2026-01-06 12:31:49,181 - __main__ - DEBUG - list-tools called at 2026-01-06 17:31:49.181474+00:00 (method: tools/list)
2026-01-06 12:31:49,181 - __main__ - DEBUG - list-tools returned 5 tools
2026-01-06 12:31:49,181 - __main__ - INFO - Completed message: tools/list

Expected behavior

One call to tools/list at the start of the responses request, and then it keeps the list around so it doesn't need to keep calling it on each inference step.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions