@tdd_issue @tdd_issue_2158 @tdd_issue_4178
Feature: TDD Issue #2158 — MCPToolAdapter.invoke() error extraction uses non-standard key
  MCPToolAdapter.invoke() currently reads error messages from result.get('error', 'unknown error'),
  but the MCP 1.4.0 protocol returns errors in content[0].text.  This means every error from a
  real MCP 1.4.0 server is silently replaced with "unknown error".

  @tdd_issue @tdd_issue_4284
  Scenario: invoke() extracts error message from MCP 1.4.0 content array
    Given a connected MCP adapter with a tool returning MCP 1.4.0 content-based error "read_file"
    When I invoke "read_file" with arguments {"path": "/path/to/file"}
    Then the invocation should fail
    And the invocation error should contain "File not found: /path/to/file"
