codingjoe commited on
Commit
9247f8d
·
unverified ·
1 Parent(s): 0c985eb

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",