Skip to content

Proxy service not responding to Tool Calls #1535

@aponcedeleonch

Description

@aponcedeleonch

I have deployed an MCP server in my Kubernetes cluster using ToolHive operator. If I do a port-forward from the headless service to my local host, the MCP server responds correctly. If I do a port-forward from the proxy service, the request times out.

The issue seems to be restricted only for tool calling. Listing tools works just fine.

MCP server details

  • Developed in Python
  • Uses streameable http as transport
apiVersion: toolhive.stacklok.dev/v1alpha1
kind: MCPServer
metadata:
  name: plotting-mcp
  namespace: toolhive-system
spec:
  image: ghcr.io/stackloklabs/plotting-mcp:latest
  transport: streamable-http
  port: 9090
  targetPort: 9090
  permissionProfile:
    type: builtin
    name: network
  resources:
    limits:
      cpu: "100m"
      memory: "128Mi"
    requests:
      cpu: "50m"
      memory: "64Mi"
  podTemplateSpec:
    spec:
      volumes:
        - name: mcp-tmp
          persistentVolumeClaim:
            claimName: mcp-plot-tmp
      containers:
        - name: mcp
          volumeMounts:
            - mountPath: /tmp
              name: mcp-tmp
              readOnly: false

Proxy Logs

When connecting to the server

From proxy service

3:59PM INF Transparent proxy: DELETE /mcp -> http://mcp-plotting-mcp-headless:9090
3:59PM INF Detected Mcp-Session-Id header: 9a0ac73fe2964a7596af156dc77fc7c5
3:59PM INF Transparent proxy: POST /mcp -> http://mcp-plotting-mcp-headless:9090
3:59PM INF Detected initialize method call for plotting-mcp
3:59PM INF Detected Mcp-Session-Id header: dee3b7b1dde34bf0bdfea9eed7f3154a
3:59PM INF Transparent proxy: POST /mcp -> http://mcp-plotting-mcp-headless:9090
3:59PM INF Transparent proxy: GET /mcp -> http://mcp-plotting-mcp-headless:9090
3:59PM INF Detected Mcp-Session-Id header: dee3b7b1dde34bf0bdfea9eed7f3154a

From headless service (MCP server)

2025-08-21 15:59:52 [info     ] Terminating session: 9a0ac73fe2964a7596af156dc77fc7c5 [mcp.server.streamable_http]
2025-08-21 15:59:52 [info     ] 10.0.3.83:45720 - "DELETE /mcp HTTP/1.1" 200 [uvicorn.access]
2025-08-21 15:59:52 [info     ] Created new transport with session ID: dee3b7b1dde34bf0bdfea9eed7f3154a [mcp.server.streamable_http_manager]

When listing tools

From proxy service

4:00PM INF Transparent proxy: POST /mcp -> http://mcp-plotting-mcp-headless:9090
4:00PM INF Detected Mcp-Session-Id header: dee3b7b1dde34bf0bdfea9eed7f3154a

From headless service (MCP server)

2025-08-21 16:00:26 [info     ] 10.0.3.83:41870 - "POST /mcp HTTP/1.1" 200 [uvicorn.access]
2025-08-21 16:00:26 [info     ] Processing request of type ListToolsRequest [mcp.server.lowlevel.server]

When trying to run a tool

From proxy service

4:02PM INF Transparent proxy: POST /mcp -> http://mcp-plotting-mcp-headless:9090
4:02PM INF Detected Mcp-Session-Id header: dee3b7b1dde34bf0bdfea9eed7f3154a

From headless service (MCP server)

2025-08-21 16:02:53 [info     ] 10.0.3.83:57756 - "GET / HTTP/1.1" 200 [uvicorn.access]
2025-08-21 16:02:55 [info     ] 10.0.3.83:57770 - "POST /mcp HTTP/1.1" 200 [uvicorn.access]
2025-08-21 16:02:55 [info     ] Processing request of type CallToolRequest [mcp.server.lowlevel.server]
2025-08-21 16:02:55 [info     ] Plot generated successfully    [plotting_mcp.server] kwargs={} plot_type=line size=30.9KiB

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingkubernetesItems related to Kubernetesmcpproxy

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions