Skip to content

Implement SEP-1577: Sampling With Tools #552

@felixweinberger

Description

@felixweinberger

This is a tracking issue for implementation of SEP-1577.

Summary

This extension adds tools and toolChoice parameters to sampling/createMessage, enabling MCP servers to run their own agentic loops using the client's tokens under user supervision. The Rust SDK needs to implement:

  • New tools and toolChoice parameters in CreateMessageRequest
  • New content types: ToolUseContent and ToolResultContent in SamplingMessage
  • Updated CreateMessageResult with array content support and explicit stopReason values
  • New client capability: sampling.tools
  • Soft-deprecation of includeContext (now fenced by sampling.context capability)

This reduces complexity for client implementations while unlocking agentic tool-calling patterns in sampling requests.

Related Issues & PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions