Skip to content

Implement SEP-1577: Sampling With Tools #1642

@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 Python 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

Labels

No labels
No labels

Type

No type

Projects

Status

In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions