Skip to content

[BUG] - error receiving from stream text content blocks must be non-empty with tui=false for agent fleet with failing agent #91

@kiview

Description

@kiview

Not really sure what happened, suddenly had an error during the conversation flow, after a previous agent failed for a MCP call:

transfer_task(
  agent: "huggingface_agent"
  task: "The user is requesting HuggingFace stats on some model. Please collect and provide model statistics from HuggingFace platform. Since no specific model was mentioned, you can either ask for clarification on which specific models they want, or provide statistics on popular/notable models."
  expected_output: "Model statistics from HuggingFace including metrics like downloads, likes, release dates, and other relevant popularity/usage metrics"
)
2025/09/03 18:00:53 ERROR Failed to start MCP client error="unexpected status code: 405"
2025/09/03 18:00:53 ERROR Failed to start MCP toolset error="failed to start MCP client: unexpected status code: 405"
2025/09/03 18:00:53 ERROR Failed to get agent tools agent=huggingface_agent error="failed to start toolset: failed to start MCP client: unexpected status code: 405"
❌ failed to get tools: failed to start toolset: failed to start MCP client: unexpected status code: 405
2025/09/03 18:00:53 ERROR Error executing tool tool=transfer_task error="failed to get tools: failed to start toolset: failed to start MCP client: unexpected status code: 405"

transfer_task response → "error calling tool: failed to get tools: failed to start toolset: failed to start MCP client: unexpected status code: 405"
I apologize, but I'm experiencing technical difficulties connecting to my specialized huggingface_agent. Since you're asking for HuggingFace model statistics, I should clarify a few things to provide you with the most helpful information:

1. **Which specific models** are you interested in? (e.g., GPT models, BERT, LLaMA, etc.)
2. **What type of statistics** are you looking for? (downloads, likes, release dates, model size, etc.)
3. **Any particular focus area** or use case? (NLP, computer vision, audio, etc.)

Once you provide these details, I can either:
- Work with my specialized agents to gather comprehensive statistics
- Provide you with information about popular models and their metrics

Could you please specify which models or types of models you'd like statistics for?

update_todo(
  id: "todo_1"
  status: "pending"
)

update_todo response → "Updated todo todo_1 status to: pending"


> gemma3
2025/09/03 18:01:41 ERROR Error handling stream agent=root error="error receiving from stream: POST \"https://api.anthropic.com/v1/messages\": 400 Bad Request (Request-ID: req_011CSmkKi3zcxRnpqyGuVeJT) {\"type\":\"error\",\"error\":{\"type\":\"invalid_request_error\",\"message\":\"messages: text content blocks must be non-empty\"},\"request_id\":\"req_011CSmkKi3zcxRnpqyGuVeJT\"}"
❌ error receiving from stream: POST "https://api.anthropic.com/v1/messages": 400 Bad Request (Request-ID: req_011CSmkKi3zcxRnpqyGuVeJT) {"type":"error","error":{"type":"invalid_request_error","message":"messages: text content blocks must be non-empty"},"request_id":"req_011CSmkKi3zcxRnpqyGuVeJT"}

Version affected

cagent version v0.7.0
Build time: 2025-09-02T16:01:51Z
Commit: 6f5290e05fa73cdbea0ebb8a7ecf17aa128d642d

How To Reproduce

After this error happened, I am in this continued error state for every following message.

OS and Terminal type

  • macOS 15.6.1
  • Warp v0.2025.08.27.08.11.stable_04

Additional context

Here is my agent config:

version: "1"

models:
  anthropic:
    provider: anthropic
    model: claude-sonnet-4-0
    max_tokens: 64000

agents:
  root:
    model: anthropic
    description: "Orchestrator agent that coordinates model statistics comparison between Docker Hub and HuggingFace"
    instruction: |
      You are the main coordinator for comparing model statistics between Docker Hub and HuggingFace platforms.
      
      Your responsibilities:
      1. Coordinate data collection from both platforms
      2. Delegate specific tasks to your sub-agents
      3. Compile and present comparative analysis
      4. Focus on release dates, popularity metrics, and download numbers
      
      Always start by delegating to the docker_hub_agent to gather Docker Hub model data from the 'ai' namespace,
      then work with the huggingface_agent to collect comparable HuggingFace data, and finally use the
      comparison_agent to analyze and present the findings.
      
      Provide clear, structured reports that highlight:
      - Model availability on both platforms
      - Release date comparisons
      - Popularity/download metrics
      - Platform-specific insights
    sub_agents:
      - docker_hub_agent
      - huggingface_agent  
      - comparison_agent
    toolsets:
      - type: think
      - type: todo
        shared: true

  docker_hub_agent:
    model: anthropic
    description: "Specialized agent for collecting model statistics from Docker Hub, focusing on the 'ai' namespace"
    instruction: |
      You are responsible for gathering comprehensive model statistics from Docker Hub, specifically from the 'ai' namespace at https://hub.docker.com/u/ai.
      
      Your tasks:
      1. Use the Docker Hub MCP server to list all repositories in the 'ai' namespace
      2. For each repository, collect:
         - Repository name and description
         - Creation date and last updated date
         - Pull count (popularity metric)
         - Star count if available
         - Tags and their metadata
         - Repository size information
      3. Focus on models that appear to be AI/ML related
      4. Organize the data in a structured format for comparison
      
      Always paginate through all available repositories and collect comprehensive metadata.
      Pay special attention to repositories that contain model names, versions, and release information.
    toolsets:
      - type: mcp
        command: docker
        args: ["mcp", "gateway", "run", "--servers=dockerhub"]
      - type: filesystem
      - type: todo
        shared: true

  huggingface_agent:
    model: anthropic
    description: "Agent responsible for collecting model statistics from HuggingFace platform"
    instruction: |
      You are responsible for gathering model statistics from HuggingFace platform to compare with Docker Hub data.
      
      Your tasks:
      1. Access HuggingFace model information through web scraping or API calls
      2. Collect similar metrics as the Docker Hub agent:
         - Model name and description
         - Upload/creation dates
         - Download counts
         - Like/star counts
         - Model tags and metadata
         - Model size information where available
      3. Focus on popular and widely-used models
      4. Structure the data for easy comparison with Docker Hub data
      
      Since there may not be a direct HuggingFace MCP server available, use web scraping tools
      to access model information from the HuggingFace model hub.
      
      Look for models that might have counterparts on Docker Hub for meaningful comparisons.
    toolsets:
      - type: mcp
        command: docker
        args: ["mcp", "gateway", "run", "--servers=fetch,duckduckgo"]
      - type: filesystem
      - type: shell
      - type: todo
        shared: true
      - type: mcp
        remote:
          url: "https://huggingface.co/mcp?login"
          transport_type: "sse"
          headers:
            Authorization: "Bearer my-token"

  comparison_agent:
    model: anthropic  
    description: "Analytics agent that compares and analyzes model statistics from both platforms"
    instruction: |
      You are responsible for analyzing and comparing the model statistics collected from Docker Hub and HuggingFace.
      
      Your tasks:
      1. Receive structured data from both docker_hub_agent and huggingface_agent
      2. Perform comparative analysis focusing on:
         - Release date trends and patterns
         - Popularity metrics (pulls vs downloads, stars vs likes)
         - Model availability and overlap between platforms
         - Platform-specific advantages or trends
      3. Generate comprehensive reports with:
         - Statistical summaries
         - Visual comparisons where possible
         - Key insights and trends
         - Recommendations based on findings
      4. Create structured output files with the analysis results
      
      Focus on providing actionable insights about model ecosystem differences,
      user preferences, and platform-specific trends.
      
      Use data visualization techniques where appropriate and save results to files
      for easy sharing and further analysis.
    toolsets:
      - type: filesystem
      - type: shell
      - type: think
      - type: todo
        shared: true
      - type: mcp
        command: docker
        args: ["mcp", "gateway", "run", "--servers=fetch"]
      - type: mcp
        remote:
          url: "https://huggingface.co/mcp"
          transport_type: "sse"
          headers:
            Authorization: "Bearer my-token"

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions