Spaces:
Running
Running
Resolve #1139 -- Implement include_context argument in Context.sample (#1141)
Browse files
docs/servers/sampling.mdx
CHANGED
|
@@ -137,6 +137,7 @@ async def creative_writing(topic: str, ctx: Context) -> str:
|
|
| 137 |
response = await ctx.sample(
|
| 138 |
messages=f"Write a creative short story about {topic}",
|
| 139 |
model_preferences="claude-3-sonnet", # Prefer a specific model
|
|
|
|
| 140 |
temperature=0.9, # High creativity
|
| 141 |
max_tokens=1000
|
| 142 |
)
|
|
|
|
| 137 |
response = await ctx.sample(
|
| 138 |
messages=f"Write a creative short story about {topic}",
|
| 139 |
model_preferences="claude-3-sonnet", # Prefer a specific model
|
| 140 |
+
include_context="thisServer", # Use the server's context
|
| 141 |
temperature=0.9, # High creativity
|
| 142 |
max_tokens=1000
|
| 143 |
)
|
src/fastmcp/server/context.py
CHANGED
|
@@ -16,6 +16,7 @@ from mcp.shared.context import RequestContext
|
|
| 16 |
from mcp.types import (
|
| 17 |
ContentBlock,
|
| 18 |
CreateMessageResult,
|
|
|
|
| 19 |
ModelHint,
|
| 20 |
ModelPreferences,
|
| 21 |
Root,
|
|
@@ -272,6 +273,7 @@ class Context:
|
|
| 272 |
self,
|
| 273 |
messages: str | list[str | SamplingMessage],
|
| 274 |
system_prompt: str | None = None,
|
|
|
|
| 275 |
temperature: float | None = None,
|
| 276 |
max_tokens: int | None = None,
|
| 277 |
model_preferences: ModelPreferences | str | list[str] | None = None,
|
|
@@ -304,6 +306,7 @@ class Context:
|
|
| 304 |
result: CreateMessageResult = await self.session.create_message(
|
| 305 |
messages=sampling_messages,
|
| 306 |
system_prompt=system_prompt,
|
|
|
|
| 307 |
temperature=temperature,
|
| 308 |
max_tokens=max_tokens,
|
| 309 |
model_preferences=self._parse_model_preferences(model_preferences),
|
|
|
|
| 16 |
from mcp.types import (
|
| 17 |
ContentBlock,
|
| 18 |
CreateMessageResult,
|
| 19 |
+
IncludeContext,
|
| 20 |
ModelHint,
|
| 21 |
ModelPreferences,
|
| 22 |
Root,
|
|
|
|
| 273 |
self,
|
| 274 |
messages: str | list[str | SamplingMessage],
|
| 275 |
system_prompt: str | None = None,
|
| 276 |
+
include_context: IncludeContext | None = None,
|
| 277 |
temperature: float | None = None,
|
| 278 |
max_tokens: int | None = None,
|
| 279 |
model_preferences: ModelPreferences | str | list[str] | None = None,
|
|
|
|
| 306 |
result: CreateMessageResult = await self.session.create_message(
|
| 307 |
messages=sampling_messages,
|
| 308 |
system_prompt=system_prompt,
|
| 309 |
+
include_context=include_context,
|
| 310 |
temperature=temperature,
|
| 311 |
max_tokens=max_tokens,
|
| 312 |
model_preferences=self._parse_model_preferences(model_preferences),
|
tests/server/proxy/test_proxy_client.py
CHANGED
|
@@ -29,6 +29,7 @@ def fastmcp_server():
|
|
| 29 |
result = await context.sample(
|
| 30 |
"Hello, world!",
|
| 31 |
system_prompt="You love FastMCP",
|
|
|
|
| 32 |
temperature=0.5,
|
| 33 |
max_tokens=100,
|
| 34 |
model_preferences="gpt-4o",
|
|
|
|
| 29 |
result = await context.sample(
|
| 30 |
"Hello, world!",
|
| 31 |
system_prompt="You love FastMCP",
|
| 32 |
+
include_context="thisServer",
|
| 33 |
temperature=0.5,
|
| 34 |
max_tokens=100,
|
| 35 |
model_preferences="gpt-4o",
|