Skip to content

feat(mcp): non-text ToolContent kinds (image/audio/resource) #83

Description

@Svagtlys

Description

Extend octave.mcp.types.ToolContent beyond kind="text" to cover image, audio, and resource-link content blocks returned by tools/call. Non-text blocks are currently skipped silently in McpClient.call_tool.

Why

Servers like filesystem and vision-oriented MCP servers return images/audio/resources; skipping them drops data callers may need (e.g. tool-produced charts, fetched files). Deferred deliberately in the client-core design until a caller needs it.

Scope

  • New ToolContent variants (image: base64 + mimeType; audio; resource link/resource contents) as a discriminated union
  • Map the corresponding SDK content types in McpClient.call_tool (keep SDK types quarantined to client.py)
  • Tests: harness returns each new block kind; unknown/future kinds stay skipped

References

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions