When building MCP servers, tools can request sampling using the context parameter:
from fastmcp import Context, FastMCPmcp = FastMCP(name="MyServer")@mcp.toolasync def analyze_sentiment(text: str, ctx: Context) -> str: """Analyze the sentiment of text using the client's LLM.""" prompt = f"""Analyze the sentiment of the following text as positive, negative, or neutral. Just output a single word - 'positive', 'negative', or 'neutral'. Text to analyze: {text}""" # Request LLM analysis through sampling response = await ctx.sample(prompt) return response.text.strip()
If no sampling callback is provided but a tool requests sampling:
# Without sampling callbackclient = MCPClient(config="config.json") # No sampling_callback# Tool that requires sampling will return an errorresult = await session.call_tool("analyze_sentiment", {"text": "Hello"})# result.isError will be True
Was this page helpful?
⌘I
{"docsConfig":{"theme":"almond","$schema":"https://mintlify.com/docs.json","name":"mcp-use","colors":{"primary":"#0C0C0C","light":"#ffffff","dark":"#0C0C0C"},"logo":{"light":"https://mintcdn.com/mcpuse/C8kWie3B44RcXcXB/logo/light.svg?fit=max\u0026auto=format\u0026n=C8kWie3B44RcXcXB\u0026q=85\u0026s=81637706df88c2bacf4c63c6c739b257","dark":"https://mintcdn.com/mcpuse/C8kWie3B44RcXcXB/logo/dark.svg?fit=max\u0026auto=format\u0026n=C8kWie3B44RcXcXB\u0026q=85\u0026s=4b3e46903bada69d9bd25afbfd475880","href":"https://mcp-use.com/docs"},"favicon":"https://mintcdn.com/mcpuse/41MT7CjojVp0bLuY/favicon.svg?fit=max\u0026auto=format\u0026n=41MT7CjojVp0bLuY\u0026q=85\u0026s=fab8d0bf8cfc949bca5cd4af7199175c","background":{"decoration":"grid","color":{"light":"#ffffff","dark":"#0C0C0C"}},"navbar":{"links":[{"href":"https://github.com/mcp-use/mcp-use/tree/main/examples","label":"Examples"},{"href":"https://mcp-use.com/blog","label":"Blog"},{"icon":"discord","href":"https://discord.gg/XkNkSkMz3V","label":"Discord"},{"icon":"x-twitter","href":"https://x.com/manufact","label":""}],"primary":{"type":"github","label":"Github","href":"https://github.com/mcp-use/mcp-use"}},"footer":{"socials":{"x":"https://x.com/manufact","linkedin":"https://www.linkedin.com/company/mcp-use","github":"https://github.com/mcp-use","discord":"https://discord.gg/XkNkSkMz3V"},"links":[{"header":"Linktree","items":[{"label":"Website","href":"https://mcp-use.com"},{"label":"Manufact Cloud","href":"https://manufact.com"},{"label":"GitHub","href":"https://github.com/mcp-use"}]},{"header":"Resources","items":[{"label":"TypeScript Docs","href":"https://mcp-use.com/docs/typescript/server"},{"label":"Python Docs","href":"https://mcp-use.com/docs/python/getting-started/quickstart"},{"label":"Examples","href":"https://github.com/mcp-use/mcp-use/tree/main/examples"},{"label":"Blog","href":"https://manufact.com/blog"}]},{"header":"Community","items":[{"label":"GitHub Discussions","href":"https://github.com/mcp-use/mcp-use/discussions"},{"label":"Issues","href":"https://github.com/mcp-use/mcp-use/issues"},{"label":"Contribute","href":"https://github.com/mcp-use/mcp-use/blob/main/CONTRIBUTING.md"},{"label":"Discord","href":"https://discord.gg/XkNkSkMz3V"}]}]},"seo":{"metatags":{"charset":"UTF-8","viewport":"width=device-width, initial-scale=1.0","description":"The fullstack MCP framework to develop MCP Apps for ChatGPT / Claude and MCP Servers for AI Agents.","keywords":"MCP, Model Context Protocol, LLM, AI agents, open source, API integration, Claude, ChatGPT, artificial intelligence, tool access","author":"Manufact Team","robots":"index, follow","googlebot":"index, follow","google":"notranslate","google-site-verification":"verification_token_here","generator":"mcp-use","theme-color":"#1a1a1a","color-scheme":"light dark","format-detection":"telephone=no","referrer":"origin","language":"en","copyright":"Copyright 2026 Manufact","reply-to":"[email protected]","distribution":"global","coverage":"Worldwide","category":"Technology","target":"developers","HandheldFriendly":"True","MobileOptimized":"320","apple-mobile-web-app-capable":"yes","apple-mobile-web-app-status-bar-style":"black-translucent","apple-mobile-web-app-title":"mcp-use","application-name":"mcp-use","msapplication-TileColor":"#1a1a1a","msapplication-TileImage":"/images/mstile-144x144.png","msapplication-config":"/browserconfig.xml","og:type":"website","og:image":"https://cdn.mcp-use.com/og-image.png","og:site_name":"mcp-use","og:locale":"en_US","twitter:card":"summary_large_image","twitter:site":"@manufact","twitter:creator":"@manufact","twitter:image":"https://cdn.mcp-use.com/og-image.png","twitter:image:alt":"mcp-use logo and interface showing MCP Apps for ChatGPT / Claude and MCP Servers for AI Agents."}},"icons":{"library":"lucide"},"integrations":{"posthog":{"apiKey":"phc_lyTtbYwvkdSbrcMQNPiKiiRWrrM1seyKIMjycSvItEI","apiHost":"https://eu.i.posthog.com","sessionRecording":true}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"mcpuse","hasAudioNarration":false,"actualSubdomain":"mcpuse","customDomains":["docs.mcp-use.com"],"gitSource":{"type":"github","owner":"mcp-use","repo":"mcp-use","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aed25af836d024fdf76bf8b","clientVersion":"0.0.4088","searchFilterCounts":[{"language":"default","tag":"Docs","count":196},{"language":"default","tag":"TypeScript SDK","count":176},{"language":"default","tag":"MCP Server","count":80},{"language":"default","tag":"Python SDK","count":69},{"language":"default","tag":"MCP Client","count":44},{"language":"default","tag":"API Reference","count":30},{"language":"default","tag":"Advanced Features","count":24},{"language":"default","tag":"Authorization","count":24},{"language":"default","tag":"OAuth Providers","count":17},{"language":"default","tag":"MCP Agent","count":15}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"fonts.css","content":"@import url(\"https://p.typekit.net/p.css?s=1\u0026k=zmy3zmk\u0026ht=tk\u0026f=55314\u0026a=164646275\u0026app=typekit\u0026e=css\");@font-face{font-family:\"inter-variable\";src:url(\"https://use.typekit.net/af/250efc/00000000000000007750957d/31/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191\u0026fvd=n4\u0026v=3\")\n format(\"woff2\"),\n url(\"https://use.typekit.net/af/250efc/00000000000000007750957d/31/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191\u0026fvd=n4\u0026v=3\")\n format(\"woff\"),\n url(\"https://use.typekit.net/af/250efc/00000000000000007750957d/31/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191\u0026fvd=n4\u0026v=3\")\n format(\"opentype\");font-display:auto;font-style:normal;font-weight:100 900;font-stretch:normal}body{font-family:\"inter-variable\", sans-serif}#sidebar-content ul li a img{background:none!important}#sidebar-content a div:has(>img[src=\"/images/icons/openai.svg\"]){background-color:rgb(var(--gray-400));-webkit-mask:url(\"/images/icons/openai.svg\") center / 1rem 1rem no-repeat;mask:url(\"/images/icons/openai.svg\") center / 1rem 1rem no-repeat}.dark #sidebar-content a div:has(>img[src=\"/images/icons/openai.svg\"]){background-color:rgb(var(--gray-500))}#sidebar-content a[aria-current=\"page\"] div:has(>img[src=\"/images/icons/openai.svg\"]){background-color:currentColor}#sidebar-content a div:has(>img[src=\"/images/icons/openai.svg\"])>img[src=\"/images/icons/openai.svg\"]{visibility:hidden}html:not([data-current-path^=\"/v2/typescript/\"]){--banner-height: 0px !important}html:not([data-current-path^=\"/v2/typescript/\"]) #banner{min-height:0!important;height:0!important;padding:0!important;overflow:hidden!important;visibility:hidden!important;pointer-events:none!important}html[data-current-path^=\"/v2/typescript/\"] #banner{background:#60a5fa!important}[data-component-part=\"products-selector-trigger\"]{order:1}div:has(>[data-component-part=\"version-select-trigger\"]){order:2}"},{"filePath":"typescript/cookbook/cookbook.css","content":"html[data-current-path=\"/v2/typescript/cookbook\"] #pagination,html[data-current-path=\"/v2/typescript/cookbook/\"] #pagination{display:none}@media (min-width: 1280px){.cookbook-chat-embed,.cookbook-tools-embed{width:calc(100% + 128px);margin-left:-64px}}#sidebar-content a[href=\"/v2/typescript/cookbook/daytona\"]>div:has(>img){background-color:currentColor;-webkit-mask:url(\"/v2/typescript/cookbook/daytona.svg\") center / 16px 16px no-repeat;mask:url(\"/v2/typescript/cookbook/daytona.svg\") center / 16px 16px no-repeat}#sidebar-content a[href=\"/v2/typescript/cookbook/daytona\"] img{visibility:hidden}#sidebar-content a[href=\"/v2/typescript/cookbook/nextjs\"]>div:has(>img){background-color:currentColor;mask:url(\"/v2/typescript/cookbook/nextjs.svg\") center / 16px 16px no-repeat}#sidebar-content a[href=\"/v2/typescript/cookbook/nextjs\"] img{visibility:hidden}#sidebar-content a[href=\"/v2/typescript/cookbook/upstash\"]>div:has(>img){background-color:currentColor;mask:url(\"/v2/typescript/cookbook/upstash.svg\") center / 16px 16px no-repeat}#sidebar-content a[href=\"/v2/typescript/cookbook/upstash\"] img{visibility:hidden}"}],"page":{"pagePath":"python/client/sampling","slug":"/python/client/sampling","pageMetadata":{"title":"Sampling","description":"Enable LLM sampling capabilities for MCP tools","icon":"pipette","href":"/python/client/sampling"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Enable LLM sampling capabilities for MCP tools\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,p:`p`,pre:`pre`,span:`span`,..._provideComponents(),...props.components},{CodeBlock,CodeGroup,Heading,Info}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);return _jsxs(_Fragment,{children:[_jsx(Info,{children:_jsx(_components.p,{children:`Sampling allows MCP tools to request LLM completions during their execution.`})}),`\n`,_jsx(Heading,{level:`2`,id:`configuration`,children:`Configuration`}),`\n`,_jsxs(_components.p,{children:[`To enable sampling, provide a `,_jsx(_components.code,{children:`sampling_callback`}),` function when initializing the MCPClient:`]}),`\n`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`Python`,numberOfLines:`31`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`31`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` mcp_use.client `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` MCPClient`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` mcp.client.session `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ClientSession`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` mcp.types `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` CreateMessageRequestParams,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` CreateMessageResult,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ErrorData,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` TextContent`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`async`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` def`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` sampling_callback`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` context`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: ClientSession,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` params`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: CreateMessageRequestParams`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) -> CreateMessageResult `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`|`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ErrorData:`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"\"\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` Your sampling callback implementation.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` This function receives a prompt and returns an LLM response.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"\"\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # Integrate with your LLM of choice (OpenAI, Anthropic, etc.)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` response `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` your_llm.complete(params.messages[`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`-`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`].content.text)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` return`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` CreateMessageResult(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` content`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`TextContent(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`text`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`response, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`type`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` model`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"your-model-name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` role`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"assistant\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` )`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Initialize client with sampling support`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`client `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` MCPClient(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` config`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"config.json\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` sampling_callback`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`sampling_callback`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`]})})})}),`\n`,_jsx(Heading,{level:`2`,id:`creating-sampling-enabled-tools`,children:`Creating Sampling-Enabled Tools`}),`\n`,_jsx(_components.p,{children:`When building MCP servers, tools can request sampling using the context parameter:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`16`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`16`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` fastmcp `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Context, FastMCP`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`mcp `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` FastMCP(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"MyServer\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`@mcp.tool`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`async`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` def`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` analyze_sentiment`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`text`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`str`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`ctx`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: Context) -> `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`str`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"\"\"Analyze the sentiment of text using the client's LLM.\"\"\"`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` prompt `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` f`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\"\"Analyze the sentiment of the following text as positive, negative, or neutral.`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` Just output a single word - 'positive', 'negative', or 'neutral'.`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` Text to analyze: `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`{`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`text`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\"\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # Request LLM analysis through sampling`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` response `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ctx.sample(prompt)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` return`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` response.text.strip()`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`error-handling`,children:`Error Handling`}),`\n`,_jsx(_components.p,{children:`If no sampling callback is provided but a tool requests sampling:`}),`\n`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`Python`,numberOfLines:`6`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Without sampling callback`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`client `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` MCPClient(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`config`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"config.json\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# No sampling_callback`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Tool that requires sampling will return an error`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`result `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` session.call_tool(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"analyze_sentiment\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, {`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Hello\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`})`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# result.isError will be True`})}),`\n`]})})})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Sampling","description":"Enable LLM sampling capabilities for MCP tools","icon":"pipette","href":"/python/client/sampling"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Configuration","slug":"configuration","depth":2,"children":[]},{"title":"Creating Sampling-Enabled Tools","slug":"creating-sampling-enabled-tools","depth":2,"children":[]},{"title":"Error Handling","slug":"error-handling","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"mcpuse","siteName":"mcp-use","title":"Sampling - mcp-use","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-01-27T00:42:25.810Z","originalFileLocation":"python/client/sampling.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Enable LLM sampling capabilities for MCP tools\">\u003cmeta data-mint-head name=\"keywords\" content=\"MCP, Model Context Protocol, LLM, AI agents, open source, API integration, Claude, ChatGPT, artificial intelligence, tool access\">\u003cmeta data-mint-head name=\"application-name\" content=\"mcp-use\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"index, follow\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/mcpuse/-KgpqBJhmnG_-qIr/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/mcpuse/-KgpqBJhmnG_-qIr/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/mcpuse/-KgpqBJhmnG_-qIr/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/mcpuse/-KgpqBJhmnG_-qIr/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/mcpuse/-KgpqBJhmnG_-qIr/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/mcpuse/-KgpqBJhmnG_-qIr/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/mcpuse/-KgpqBJhmnG_-qIr/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/mcpuse/-KgpqBJhmnG_-qIr/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/mcpuse/-KgpqBJhmnG_-qIr/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Sampling - mcp-use\">\u003cmeta data-mint-head property=\"og:description\" content=\"Enable LLM sampling capabilities for MCP tools\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"mcp-use\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.mcp-use.com/python/client/sampling\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://cdn.mcp-use.com/og-image.png\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Sampling - mcp-use\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Enable LLM sampling capabilities for MCP tools\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://cdn.mcp-use.com/og-image.png\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"mcp-use\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1a1a1a\">\u003cmeta data-mint-head name=\"og:locale\" content=\"en_US\">\u003cmeta data-mint-head name=\"charset\" content=\"UTF-8\">\u003cmeta data-mint-head name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\u003cmeta data-mint-head name=\"author\" content=\"Manufact Team\">\u003cmeta data-mint-head name=\"googlebot\" content=\"index, follow\">\u003cmeta data-mint-head name=\"google\" content=\"notranslate\">\u003cmeta data-mint-head name=\"google-site-verification\" content=\"verification_token_here\">\u003cmeta data-mint-head name=\"generator\" content=\"mcp-use\">\u003cmeta data-mint-head name=\"theme-color\" content=\"#1a1a1a\">\u003cmeta data-mint-head name=\"color-scheme\" content=\"light dark\">\u003cmeta data-mint-head name=\"format-detection\" content=\"telephone=no\">\u003cmeta data-mint-head name=\"referrer\" content=\"origin\">\u003cmeta data-mint-head name=\"language\" content=\"en\">\u003cmeta data-mint-head name=\"copyright\" content=\"Copyright 2026 Manufact\">\u003cmeta data-mint-head name=\"reply-to\" content=\"[email protected]\">\u003cmeta data-mint-head name=\"distribution\" content=\"global\">\u003cmeta data-mint-head name=\"coverage\" content=\"Worldwide\">\u003cmeta data-mint-head name=\"category\" content=\"Technology\">\u003cmeta data-mint-head name=\"target\" content=\"developers\">\u003cmeta data-mint-head name=\"HandheldFriendly\" content=\"True\">\u003cmeta data-mint-head name=\"MobileOptimized\" content=\"320\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-capable\" content=\"yes\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\">\u003cmeta data-mint-head name=\"application-name\" content=\"mcp-use\">\u003cmeta data-mint-head name=\"msapplication-TileImage\" content=\"/images/mstile-144x144.png\">\u003cmeta data-mint-head name=\"twitter:creator\" content=\"@manufact\">\u003cmeta data-mint-head name=\"twitter:image:alt\" content=\"mcp-use logo and interface showing MCP Apps for ChatGPT / Claude and MCP Servers for AI Agents.\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.mcp-use.com/python/client/sampling\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/python/client/sampling.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.mcp-use.com/#organization\",\"name\":\"mcp-use\",\"url\":\"https://docs.mcp-use.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/mcpuse/C8kWie3B44RcXcXB/logo/light.svg?fit=max\u0026auto=format\u0026n=C8kWie3B44RcXcXB\u0026q=85\u0026s=81637706df88c2bacf4c63c6c739b257\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.mcp-use.com#website\",\"name\":\"mcp-use\",\"url\":\"https://docs.mcp-use.com\",\"publisher\":{\"@id\":\"https://docs.mcp-use.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.mcp-use.com/python/client/sampling#webpage\",\"url\":\"https://docs.mcp-use.com/python/client/sampling\",\"name\":\"Sampling\",\"description\":\"Enable LLM sampling capabilities for MCP tools\",\"dateModified\":\"2026-01-27T00:42:25.810Z\",\"isPartOf\":{\"@id\":\"https://docs.mcp-use.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.mcp-use.com/python/client/sampling#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.mcp-use.com/python/client/sampling#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"MCP Client\",\"item\":\"https://docs.mcp-use.com/python/client/client-configuration\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Advanced Features\",\"item\":\"https://docs.mcp-use.com/python/client/middleware\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Sampling\",\"item\":\"https://docs.mcp-use.com/python/client/sampling\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.mcp-use.com/python/client/sampling#article\",\"headline\":\"Sampling\",\"name\":\"Sampling\",\"description\":\"Enable LLM sampling capabilities for MCP tools\",\"url\":\"https://docs.mcp-use.com/python/client/sampling\",\"mainEntityOfPage\":{\"@id\":\"https://docs.mcp-use.com/python/client/sampling#webpage\"},\"image\":\"https://cdn.mcp-use.com/og-image.png\",\"dateModified\":\"2026-01-27T00:42:25.810Z\",\"publisher\":{\"@id\":\"https://docs.mcp-use.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.mcp-use.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"mcp-use\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"mcp-use","nav":{"global":null,"products":[{"product":"TypeScript SDK","icon":"https://mintlify.s3.us-west-1.amazonaws.com/mcpuse/images/typescriptlogo.svg","description":"TypeScript SDK documentation for V1 and V2","pages":[{"title":"TypeScript SDK","href":"/typescript/getting-started/welcome"}]},{"product":"Python SDK","icon":"https://mintlify.s3.us-west-1.amazonaws.com/mcpuse/images/pythonlogo.svg","description":"Python SDK description","tabs":[{"tab":"Docs","icon":"book","groups":[{"group":"Get Started","pages":[{"title":"Welcome","icon":"heart-handshake","href":"/python/getting-started/welcome"},{"title":"Quickstart","icon":"rocket","href":"/python/getting-started/quickstart"},{"title":"Installation","icon":"download","href":"/python/getting-started/installation"}]},{"group":"MCP Server","icon":"server","pages":[{"title":"Introduction","icon":"list-start","href":"/python/server/index"},{"group":"Overview","icon":"globe","pages":[{"title":"Official SDK Compatibility","icon":"check","href":"/python/server/compatibility"},{"title":"Running the Server","icon":"play","href":"/python/server/running"},{"title":"Session Management","icon":"id-card","href":"/python/server/sessions"},{"title":null,"href":"/python/server/fastapi_mount"}]},{"group":"Features","icon":"list-plus","pages":[{"title":"Tools","icon":"hammer","href":"/python/server/tools"},{"title":"Resources","icon":"file","href":"/python/server/resources"},{"title":"Prompts","icon":"message-square","href":"/python/server/prompts"},{"title":"Sampling","icon":"pipette","href":"/python/server/sampling"},{"title":"Elicitation","icon":"check","href":"/python/server/elicitation"},{"title":"Roots","icon":"folder-tree","href":"/python/server/roots"},{"title":"Notifications","icon":"bell-ring","href":"/python/server/notifications"}]},{"group":"Authentication","icon":"shield","pages":[{"title":"Bearer Token","icon":"key","href":"/python/server/auth/bearer"}]},{"title":"Middleware","icon":"layers","href":"/python/server/middleware"},{"title":"Router","icon":"route","href":"/python/server/router"},{"title":"Inspector UI","icon":"monitor","href":"/python/server/inspector"},{"title":"MCP Logging","icon":"activity","href":"/python/server/logging"},{"title":"OpenMCP","icon":"code","href":"/python/server/openmcp"}]},{"group":"MCP Client","icon":"router","pages":[{"group":"Overview","icon":"globe","pages":[{"title":"Client Configuration","icon":"server","href":"/python/client/client-configuration"},{"title":"Connection Types","icon":"cable","href":"/python/client/connection-types"},{"title":"Sandbox","icon":"lock","href":"/python/client/sandbox"},{"title":"Direct Tool Calls","icon":"phone-outgoing","href":"/python/client/direct-tool-calls"}]},{"group":"Core Features","icon":"list-plus","pages":[{"title":"Multi-Server Setup","icon":"split","href":"/python/client/multi-server-setup"},{"title":"Tools","icon":"hammer","href":"/python/client/tools"},{"title":"Resources","icon":"file","href":"/python/client/resources"},{"title":"Prompts","icon":"volume-2","href":"/python/client/prompts"}]},{"group":"Advanced Features","icon":"sparkle","pages":[{"title":"Middleware System","description":"Flexible middleware system for intercepting and processing MCP requests and responses with typed hooks","icon":"layers","href":"/python/client/middleware"},{"title":"Sampling","icon":"pipette","href":"/python/client/sampling"},{"title":"Elicitation","description":"Enable user input requests for MCP tools","icon":"check","href":"/python/client/elicitation"},{"title":"Roots","icon":"folder-tree","href":"/python/client/roots"},{"title":"Notifications","icon":"bell-ring","href":"/python/client/notifications"},{"title":"Logging","icon":"logs","href":"/python/client/logging"}]},{"group":"Authentication","icon":"key","pages":[{"title":"Authentication Overview","icon":"key","href":"/python/client/authentication/index"},{"title":"OAuth 2.1","icon":"shield-check","href":"/python/client/authentication/oauth"},{"title":"Bearer Token","icon":"ticket","href":"/python/client/authentication/bearer"},{"title":"Custom Auth","icon":"wrench","href":"/python/client/authentication/custom"}]},{"title":"Code Mode","icon":"code","tag":"New","href":"/python/client/code-mode"}]},{"group":"MCP Agents","icon":"brain","pages":[{"group":"Overview","icon":"globe","pages":[{"title":"Agent Configuration","icon":"cog","href":"/python/agent/agent-configuration"},{"title":"LLM Integration","icon":"brain","href":"/python/agent/llm-integration"}]},{"group":"Core Features","icon":"list-plus","pages":[{"title":"Memory Management","icon":"brain","href":"/python/agent/memory-management"},{"title":"Agent Structured Output","icon":"shapes","href":"/python/agent/structured-output"},{"title":"Streaming Agent Output","icon":"play","href":"/python/agent/streaming"},{"title":"Interactive Chat Patterns","icon":"message-circle","href":"/python/agent/interactive-chat-patterns"}]},{"group":"LLM Adapters","icon":"plug-2","pages":[{"title":"LangChain","tag":"New","icon":"https://cdn.mcp-use.com/langchain.svg","href":"/python/integration/langchain"},{"title":"OpenAI","tag":"New","icon":"https://mintlify.s3.us-west-1.amazonaws.com/mcpuse/images/openai.svg","href":"/python/integration/openai"},{"title":"Anthropic","icon":"https://mintlify.s3.us-west-1.amazonaws.com/mcpuse/images/anthropic.svg","href":"/python/integration/anthropic"},{"title":"Google","tag":"New","icon":"https://mintlify.s3.us-west-1.amazonaws.com/mcpuse/images/google.svg","href":"/python/integration/google"}]},{"title":"Server Manager","icon":"server-cog","href":"/python/agent/server-manager"},{"title":"Building Custom Agents","icon":"paintbrush","href":"/python/agent/building-custom-agents"},{"title":"Observability","icon":"eye","href":"/python/agent/observability"}]},{"group":"Development","icon":"sparkle","pages":[{"title":"Development","icon":"code","href":"/python/development/development"},{"title":"Logging","icon":"bug","href":"/python/development/logging"},{"title":"Security Best Practices","icon":"shield","href":"/python/development/security"},{"title":"Telemetry","icon":"chart-line","href":"/python/development/telemetry"},{"title":"MCP Server Tunneling","icon":"train-front-tunnel","href":"/tunneling/index"}]}]},{"tab":"API Reference","icon":"terminal","pages":[{"title":"API Reference","href":"/python/api-reference/mcp_use_agents_adapters_anthropic"}]},{"tab":"Changelog","icon":"history","pages":[{"title":"Changelog","href":"/python/changelog/changelog"}]},{"tab":"Community","icon":"users","pages":[{"title":"Community","href":"/python/community/showcase"}]}]}]},"basePath":"","title":"Sampling - mcp-use","buildId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","deploymentId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","dynamics":[],"chunks":[]}