Resolve #1139 -- Implement include_context argument in Context.sample (#1141)

This commit is contained in:
Johannes Maron 2025-07-15 16:01:41 +02:00 committed by GitHub
commit 7966514a86
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 5 additions and 0 deletions

View file

@ -137,6 +137,7 @@ async def creative_writing(topic: str, ctx: Context) -> str:
response = await ctx.sample(
messages=f"Write a creative short story about {topic}",
model_preferences="claude-3-sonnet", # Prefer a specific model
include_context="thisServer", # Use the server's context
temperature=0.9, # High creativity
max_tokens=1000
)

View file

@ -16,6 +16,7 @@ from mcp.shared.context import RequestContext
from mcp.types import (
ContentBlock,
CreateMessageResult,
IncludeContext,
ModelHint,
ModelPreferences,
Root,
@ -272,6 +273,7 @@ class Context:
self,
messages: str | list[str | SamplingMessage],
system_prompt: str | None = None,
include_context: IncludeContext | None = None,
temperature: float | None = None,
max_tokens: int | None = None,
model_preferences: ModelPreferences | str | list[str] | None = None,
@ -304,6 +306,7 @@ class Context:
result: CreateMessageResult = await self.session.create_message(
messages=sampling_messages,
system_prompt=system_prompt,
include_context=include_context,
temperature=temperature,
max_tokens=max_tokens,
model_preferences=self._parse_model_preferences(model_preferences),

View file

@ -29,6 +29,7 @@ def fastmcp_server():
result = await context.sample(
"Hello, world!",
system_prompt="You love FastMCP",
include_context="thisServer",
temperature=0.5,
max_tokens=100,
model_preferences="gpt-4o",