Marvin uses language models to turn unstructured input into Python values and to run tasks with tools. Pydantic AI handles model access and validates outputs.
import marvinamount = marvin.cast("three dollars and fifty cents", float)labels = marvin.classify("The service was excellent", ["positive", "negative"])
Start with a function when you need one result. Use an agent to reuse instructions and tools, a task to track an objective, and a thread to share conversation history.Model outputs vary. Validating a result’s type does not establish that its content is correct.Install Marvin, follow the quickstart, or browse the examples.
⌘I
{"docsConfig":{"theme":"maple","$schema":"https://mintlify.com/docs.json","name":"Marvin","colors":{"primary":"#2D6DF6"},"logo":{"light":"https://mintcdn.com/marvin/ztPIIT7lOnW7ZsRP/assets/brand/marvin_mascot.jpeg?fit=max\u0026auto=format\u0026n=ztPIIT7lOnW7ZsRP\u0026q=85\u0026s=5793480b0b6ab2f5d05939e51b02f135","dark":"https://mintcdn.com/marvin/ztPIIT7lOnW7ZsRP/assets/brand/marvin_mascot.jpeg?fit=max\u0026auto=format\u0026n=ztPIIT7lOnW7ZsRP\u0026q=85\u0026s=5793480b0b6ab2f5d05939e51b02f135"},"favicon":"https://mintcdn.com/marvin/ztPIIT7lOnW7ZsRP/assets/brand/marvin_mascot.jpeg?fit=max\u0026auto=format\u0026n=ztPIIT7lOnW7ZsRP\u0026q=85\u0026s=5793480b0b6ab2f5d05939e51b02f135","navbar":{"primary":{"type":"github","href":"https://github.com/PrefectHQ/marvin"}},"footer":{"socials":{"github":"https://github.com/PrefectHQ/marvin","slack":"https://communityinviter.com/apps/prefect-community/prefect-community"}},"search":{"prompt":"Ask Marvin..."},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"marvin","hasAudioNarration":false,"actualSubdomain":"marvin","customDomains":["askmarvin.ai"],"gitSource":{"type":"github","owner":"prefecthq","repo":"marvin","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae10a675ecac0fee57e9113","collectionId":"ed7aa1aa-021f-469c-a3ac-0d7cbe6709f0","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae10a675ecac0fee57e9113"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae10a675ecac0fee57e9113","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"default","tag":"API Reference","count":60},{"language":"default","tag":"Documentation","count":31},{"language":"default","tag":"fns","count":10},{"language":"default","tag":"utilities","count":9},{"language":"default","tag":"Functions","count":9},{"language":"default","tag":"Guides","count":8},{"language":"default","tag":"memory","count":7},{"language":"default","tag":"engine","count":6},{"language":"default","tag":"agents","count":5},{"language":"default","tag":"cli","count":5}]},"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":"editor-v7-file-tree","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":"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":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"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":"byok-sep-25","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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"assets/code.css","content":".namespace{opacity:.7}.token.doctype .token.doctype-tag{color:#79c0ff}.token.doctype .token.name{color:#d2a8ff}.token.comment,.token.prolog{color:#8b949e}.language-html .language-css .token.punctuation,.language-html .language-javascript .token.punctuation,.token.punctuation{color:#c9d1d9}.token.builtin,.token.char,.token.deleted,.token.inserted,.token.number,.token.string,.token.symbol,.token.unit{color:#79c0ff}.token.plain-text{color:#fafafa}.language-css .token.string.url{text-decoration:underline}.token.atrule{color:#79c0ff}.token.keyword,.token.operator.arrow{color:#ff7b72}.token.atrule .token.rule{color:#d2a8ff}.token.atrule .token.url,.token.atrule .token.url .token.function{color:#79c0ff}.token.atrule .token.url .token.punctuation,.token.attr-value .token.punctuation.attr-equals{color:#d4d4d4}.token.keyword.control-flow,.token.keyword.module{color:#c586c0}.token.function,.token.function .token.maybe-class-name{color:#d2a8ff}.token.regex{color:#a5d6ff}.token.important{color:#ff7b72}.token.italic{font-style:italic;color:#c9d1d9}.token.constant{color:#79c0ff}.token.class-name,.token.maybe-class-name{color:#d2a8ff}.token.console{color:#9cdcfe}.token.interpolation,.token.parameter{color:#79c0ff}.token.punctuation.interpolation-punctuation{color:#569cd6}.token.boolean{color:#ff7b72}.token.exports .token.maybe-class-name,.token.imports .token.maybe-class-name,.token.property,.token.variable{color:#79c0ff}.token.escape,.token.selector,.token.tag{color:#7ee787}.token.cdata,.token.tag .token.punctuation{color:gray}.token.attr-name{color:#79c0ff}.token.attr-value,.token.attr-value .token.punctuation{color:#a5d6ff}.token.entity,code[class*=language-javascript],code[class*=language-jsx],code[class*=language-tsx],code[class*=language-typescript],pre[class*=language-javascript],pre[class*=language-jsx],pre[class*=language-tsx],pre[class*=language-typescript]{color:#79c0ff}.token.namespace{color:#7ee787}.token.operator{color:#94a3b8}code[class*=language-css],pre[class*=language-css]{color:#a5d6ff}code[class*=language-html],pre[class*=language-html]{color:#c9d1d9}.language-regex .token.anchor{color:#dcdcaa}.language-html .token.punctuation{color:gray}span.language-json .token.punctuation{color:#4b5563}:is(.dark span.language-json .token.punctuation){color:#d1d5db}span.language-json .token.property{color:#0284c7}:is(.dark span.language-json .token.property){color:9cdcfe}span.language-json .token.string{color:#d97706}:is(.dark span.language-json .token.string){color:#ce9178}span.language-json .token.number{color:#16a34a}:is(.dark span.language-json .token.number){color:#b5cea8}.line-highlight.line-highlight{background:#f7ebc6;box-shadow:inset 5px 0 0 #f7d87c;z-index:0}"},{"filePath":"style.css","content":".version-badge{display:inline-block;padding:.2em .5em;font-size:.75em;font-weight:700;color:#e44bf4;background-color:#fce8fd;border:1px solid #f2a5f9;border-radius:4px;vertical-align:middle}.dark .version-badge{color:#f17afc;background-color:rgba(228,75,244,.2);border-color:#783d7e}"}],"page":{"pagePath":"welcome","slug":"/welcome","pageMetadata":{"title":"Marvin","sidebarTitle":"Welcome","description":"Structured data and tasks for Python applications","icon":"door-open","href":"/welcome"},"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: \"Structured data and tasks for Python applications\"\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={a:`a`,code:`code`,p:`p`,pre:`pre`,span:`span`,..._provideComponents(),...props.components},{CodeBlock,OptimizedImage}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);return _jsxs(_Fragment,{children:[_jsx(OptimizedImage,{src:`https://mintcdn.com/marvin/ztPIIT7lOnW7ZsRP/assets/img/quotes/it_hates_me.png?fit=max\u0026auto=format\u0026n=ztPIIT7lOnW7ZsRP\u0026q=85\u0026s=dbd79b5cb457030fd3db359dc4e28b5d`,alt:`Marvin`,\"data-og-width\":`1280`,width:`1280`,\"data-og-height\":`478`,height:`478`,\"data-path\":`assets/img/quotes/it_hates_me.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/marvin/ztPIIT7lOnW7ZsRP/assets/img/quotes/it_hates_me.png?w=280\u0026fit=max\u0026auto=format\u0026n=ztPIIT7lOnW7ZsRP\u0026q=85\u0026s=271f51d9932578ebfffff768ace617c9 280w, https://mintcdn.com/marvin/ztPIIT7lOnW7ZsRP/assets/img/quotes/it_hates_me.png?w=560\u0026fit=max\u0026auto=format\u0026n=ztPIIT7lOnW7ZsRP\u0026q=85\u0026s=e3e986c21e22bcc97440f7340b006100 560w, https://mintcdn.com/marvin/ztPIIT7lOnW7ZsRP/assets/img/quotes/it_hates_me.png?w=840\u0026fit=max\u0026auto=format\u0026n=ztPIIT7lOnW7ZsRP\u0026q=85\u0026s=8e4c8136f31edff4d61f70f59c04113a 840w, https://mintcdn.com/marvin/ztPIIT7lOnW7ZsRP/assets/img/quotes/it_hates_me.png?w=1100\u0026fit=max\u0026auto=format\u0026n=ztPIIT7lOnW7ZsRP\u0026q=85\u0026s=65bfbea9453a76e9244344c638f9192a 1100w, https://mintcdn.com/marvin/ztPIIT7lOnW7ZsRP/assets/img/quotes/it_hates_me.png?w=1650\u0026fit=max\u0026auto=format\u0026n=ztPIIT7lOnW7ZsRP\u0026q=85\u0026s=effec983bf31556b1f547a847cdac6da 1650w, https://mintcdn.com/marvin/ztPIIT7lOnW7ZsRP/assets/img/quotes/it_hates_me.png?w=2500\u0026fit=max\u0026auto=format\u0026n=ztPIIT7lOnW7ZsRP\u0026q=85\u0026s=e70e1586d995668c9201d1bf4a831a60 2500w`}),`\n`,_jsxs(_components.p,{children:[`Marvin uses language models to turn unstructured input into Python values and to run tasks with tools. `,_jsx(_components.a,{href:`https://ai.pydantic.dev/`,children:`Pydantic AI`}),` handles model access and validates outputs.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,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:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` marvin`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`amount `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` marvin.cast(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"three dollars and fifty cents\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`float`}),_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\":`#D4D4D4`},children:`labels `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` marvin.classify(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"The service was excellent\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"positive\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"negative\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`])`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Start with a function when you need one result. Use an `,_jsx(_components.a,{href:`/concepts/agents`,children:`agent`}),` to reuse instructions and tools, a `,_jsx(_components.a,{href:`/concepts/tasks`,children:`task`}),` to track an objective, and a `,_jsx(_components.a,{href:`/concepts/threads`,children:`thread`}),` to share conversation history.`]}),`\n`,_jsx(_components.p,{children:`Model outputs vary. Validating a result’s type does not establish that its content is correct.`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`/installation`,children:`Install Marvin`}),`, follow the `,_jsx(_components.a,{href:`/quickstart`,children:`quickstart`}),`, or browse the `,_jsx(_components.a,{href:`https://github.com/PrefectHQ/marvin/tree/main/examples`,children:`examples`}),`.`]})]})}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":"Marvin","sidebarTitle":"Welcome","description":"Structured data and tasks for Python applications","icon":"door-open","href":"/welcome"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"subdomain":"marvin","siteName":"Marvin","title":"Marvin - Marvin","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-27T20:33:11.921Z","originalFileLocation":"welcome.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=\"Structured data and tasks for Python applications\">\u003cmeta data-mint-head name=\"application-name\" content=\"Marvin\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/marvin/R24SIpPkASpChheR/_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/marvin/R24SIpPkASpChheR/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/marvin/R24SIpPkASpChheR/_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/marvin/R24SIpPkASpChheR/_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/marvin/R24SIpPkASpChheR/_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/marvin/R24SIpPkASpChheR/_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/marvin/R24SIpPkASpChheR/_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/marvin/R24SIpPkASpChheR/_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/marvin/R24SIpPkASpChheR/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Marvin - Marvin\">\u003cmeta data-mint-head property=\"og:description\" content=\"Structured data and tasks for Python applications\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Marvin\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://askmarvin.ai/welcome\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://marvin.mintlify.app/_mintlify/api/og/v2?division=Get+Started\u0026amp;title=Marvin\u0026amp;description=Structured+data+and+tasks+for+Python+applications\u0026amp;theme=5d8cf43aab2d60350cef9ebe\u0026amp;signature=521601d9a4a560db0e586fe4783c28db6e4d4f09e2708e57af94f0badc321b7f\">\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=\"Marvin - Marvin\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Structured data and tasks for Python applications\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://marvin.mintlify.app/_mintlify/api/og/v2?division=Get+Started\u0026amp;title=Marvin\u0026amp;description=Structured+data+and+tasks+for+Python+applications\u0026amp;theme=5d8cf43aab2d60350cef9ebe\u0026amp;signature=521601d9a4a560db0e586fe4783c28db6e4d4f09e2708e57af94f0badc321b7f\">\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=\"/mintlify-assets/_mintlify/favicons/marvin/R24SIpPkASpChheR/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Marvin\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2D6DF6\">\u003clink data-mint-head rel=\"canonical\" href=\"https://askmarvin.ai/welcome\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/welcome.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://askmarvin.ai/#organization\",\"name\":\"Marvin\",\"url\":\"https://askmarvin.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/marvin/ztPIIT7lOnW7ZsRP/assets/brand/marvin_mascot.jpeg?fit=max\u0026auto=format\u0026n=ztPIIT7lOnW7ZsRP\u0026q=85\u0026s=5793480b0b6ab2f5d05939e51b02f135\"}},{\"@type\":\"WebSite\",\"@id\":\"https://askmarvin.ai#website\",\"name\":\"Marvin\",\"url\":\"https://askmarvin.ai\",\"publisher\":{\"@id\":\"https://askmarvin.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://askmarvin.ai/welcome#webpage\",\"url\":\"https://askmarvin.ai/welcome\",\"name\":\"Marvin\",\"description\":\"Structured data and tasks for Python applications\",\"dateModified\":\"2026-10-27T20:33:11.921Z\",\"isPartOf\":{\"@id\":\"https://askmarvin.ai#website\"},\"breadcrumb\":{\"@id\":\"https://askmarvin.ai/welcome#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://askmarvin.ai/welcome#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Marvin\",\"item\":\"https://askmarvin.ai\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Marvin\",\"item\":\"https://askmarvin.ai/welcome\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://askmarvin.ai/welcome#article\",\"headline\":\"Marvin\",\"name\":\"Marvin\",\"description\":\"Structured data and tasks for Python applications\",\"url\":\"https://askmarvin.ai/welcome\",\"mainEntityOfPage\":{\"@id\":\"https://askmarvin.ai/welcome#webpage\"},\"dateModified\":\"2026-10-27T20:33:11.921Z\",\"publisher\":{\"@id\":\"https://askmarvin.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://askmarvin.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Marvin\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Marvin","nav":{"global":null,"anchors":[{"anchor":"Documentation","groups":[{"group":"Get Started","pages":[{"title":"Marvin","sidebarTitle":"Welcome","icon":"door-open","href":"/welcome"},{"title":"Installation","description":"Install Marvin and configure a model provider","icon":"download","href":"/installation"},{"title":"Quickstart","icon":"rocket","href":"/quickstart"}]},{"group":"Concepts","pages":[{"title":"Tasks","icon":"list-check","href":"/concepts/tasks"},{"title":"Agents","icon":"robot","href":"/concepts/agents"},{"title":"Threads","icon":"comments","href":"/concepts/threads"},{"title":"Tools and Context","icon":"wrench","href":"/concepts/tools-and-context"},{"title":"Memory","icon":"brain","href":"/concepts/memory"}]},{"group":"Functions","pages":[{"title":"Run","icon":"play","href":"/functions/run"},{"title":"Cast","icon":"right-to-bracket","href":"/functions/cast"},{"title":"Classify","icon":"tags","href":"/functions/classify"},{"title":"Extract","icon":"magnifying-glass","href":"/functions/extract"},{"title":"Generate","icon":"sparkles","href":"/functions/generate"},{"title":"AI Functions","icon":"function","href":"/functions/fn"},{"title":"Say","icon":"message","href":"/functions/say"},{"title":"Summarize","icon":"compress","href":"/functions/summarize"},{"title":"Plan","icon":"list-check","href":"/functions/plan"}]},{"group":"Patterns","pages":[{"title":"Task Results","href":"/patterns/task-results"},{"title":"Running Tasks","href":"/patterns/running-tasks"},{"title":"Tools","href":"/patterns/tools"},{"title":"Instructions","href":"/patterns/instructions"},{"title":"Interactivity","href":"/patterns/interactivity"}]},{"group":"Guides","pages":[{"title":"LLM Models","href":"/guides/configure-llms"},{"title":"Configuration","href":"/guides/configuration"},{"title":"Building a Multi-step Workflow","href":"/guides/multi-step-workflow"},{"title":"Building a Conversational Assistant","href":"/guides/building-a-chatbot"},{"title":"Using MCP Servers","href":"/guides/mcp"},{"title":"Marvin CLI","href":"/guides/cli"},{"title":"Database Migrations","href":"/guides/database-migrations"},{"title":"Migration Guide","href":"/guides/migration-guide"}]},{"group":"Community","pages":[{"title":"Community","icon":"sparkles","href":"/community"}]}]},{"anchor":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/marvin"}]}]},"title":"Marvin - Marvin","buildId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","deploymentId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-BNnMwe0F.js","lightbox-handle-r17bVUz3.js"]}