Controlled dependencies your real agent can use during a simulation.
A Tool is a synthetic service with declared operations, state, and behavior. It can represent a dependency such as a mailbox, calendar, CRM, or a private service you author.Tools are optional. An agent that answers from supplied context can be simulated without one. An agent that changes external systems can route those actions through the synthetic dependencies it needs.
Use the issued semantic HTTP or MCP connection. Some Tools also declare HTTP routes or a browser application. Inspect the selected release’s interfaces and fidelity; a familiar product name does not guarantee its complete native API.API calls, MCP operations, and browser actions use the same synthetic instance state. They never require your real service account.Start with Tool setup, connections, or authoring a Tool.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Firedrill","description":"Simulate AI agents across scenarios, configurations, and repeated trials","colors":{"primary":"#3157D5","light":"#5272DE","dark":"#5272DE"},"logo":{"light":"https://mintcdn.com/firedrill/sWeyeTM66Pjv8_YB/logo/light.svg?fit=max\u0026auto=format\u0026n=sWeyeTM66Pjv8_YB\u0026q=85\u0026s=608d25ab5f97ad95a8d3e8c9ced0cb6d","dark":"https://mintcdn.com/firedrill/sWeyeTM66Pjv8_YB/logo/dark.svg?fit=max\u0026auto=format\u0026n=sWeyeTM66Pjv8_YB\u0026q=85\u0026s=fa12225848791186ced26f7609685612"},"favicon":"https://mintcdn.com/firedrill/sWeyeTM66Pjv8_YB/favicon.svg?fit=max\u0026auto=format\u0026n=sWeyeTM66Pjv8_YB\u0026q=85\u0026s=cae3a93e3c384028863580e7ed05f4f9","api":{"playground":{"display":"none"}},"navbar":{"links":[{"href":"https://firedrill.run","label":"Firedrill"},{"href":"https://firedrill.run/agents","label":"For agents"}],"primary":{"type":"button","label":"Open Firedrill","href":"https://app.firedrill.run"}},"seo":{"metatags":{"canonical":"https://docs.firedrill.run"}},"fonts":{"family":"Inter","weight":450},"styling":{"eyebrows":"breadcrumbs","latex":false},"contextual":{"options":["copy","view","chatgpt","claude","mcp","cursor","vscode"],"display":"header"},"navigation":{"global":{"anchors":[{"anchor":"Open Firedrill","icon":"arrow-up-right-from-square","href":"https://app.firedrill.run"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"firedrill","hasAudioNarration":false,"actualSubdomain":"firedrill","customDomains":["docs.firedrill.run"],"gitSource":{"type":"github","owner":"firedrill-tools","repo":"firedrill-developer-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ad70e01d6c125375d923afd","collectionId":"8a442383-941c-43b0-8344-f7f7828b9c25","liveDeploymentHistoryId":"6ad70e01d6c125375d923afd","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6ad70e01d6c125375d923afd","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"API reference","count":80},{"language":"default","tag":"Control API","count":78},{"language":"default","tag":"Documentation","count":44},{"language":"default","tag":"tools","count":18},{"language":"default","tag":"Simulations and evidence","count":10},{"language":"default","tag":"tool-lifecycle","count":10},{"language":"default","tag":"Synthetic Tools","count":8},{"language":"default","tag":"reports","count":8},{"language":"default","tag":"Core concepts","count":6},{"language":"default","tag":"assessment","count":6}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"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":"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":"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":"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":"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":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"concepts/tools","slug":"/concepts/tools","pageMetadata":{"title":"Synthetic Tools","description":"Controlled dependencies your real agent can use during a simulation.","href":"/concepts/tools"},"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: \"Controlled dependencies your real agent can use during a simulation.\"\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`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Heading}=_components;if(!Heading)_missingMdxReference(`Heading`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.strong,{children:`Tool`}),` is a synthetic service with declared operations, state, and behavior. It can represent a dependency such as a mailbox, calendar, CRM, or a private service you author.`]}),`\n`,_jsx(_components.p,{children:`Tools are optional. An agent that answers from supplied context can be simulated without one. An agent that changes external systems can route those actions through the synthetic dependencies it needs.`}),`\n`,_jsx(Heading,{level:`2`,id:`definitions-data-and-instances`,children:`Definitions, data, and instances`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`A `,_jsx(_components.strong,{children:`build`}),` pins a Tool’s executable behavior and operation schemas.`]}),`\n`,_jsxs(_components.li,{children:[`A `,_jsx(_components.strong,{children:`dataset`}),` pins starting records for that build.`]}),`\n`,_jsxs(_components.li,{children:[`An `,_jsx(_components.strong,{children:`instance`}),` is a running copy with its own state, seed, allowed operations, and expiry.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Two instances of the same Tool can use different datasets and evolve independently. Several Tools can participate in one simulation.`}),`\n`,_jsx(Heading,{level:`2`,id:`connect-using-a-declared-interface`,children:`Connect using a declared interface`}),`\n`,_jsx(_components.p,{children:`Use the issued semantic HTTP or MCP connection. Some Tools also declare HTTP routes or a browser application. Inspect the selected release’s interfaces and fidelity; a familiar product name does not guarantee its complete native API.`}),`\n`,_jsx(_components.p,{children:`API calls, MCP operations, and browser actions use the same synthetic instance state. They never require your real service account.`}),`\n`,_jsxs(_components.p,{children:[`Start with `,_jsx(_components.a,{href:`/guides/install-tools`,children:`Tool setup`}),`, `,_jsx(_components.a,{href:`/guides/connect-agent`,children:`connections`}),`, or `,_jsx(_components.a,{href:`/guides/create-tool-package`,children:`authoring a Tool`}),`.`]})]})}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":"Synthetic Tools","description":"Controlled dependencies your real agent can use during a simulation.","href":"/concepts/tools"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Definitions, data, and instances","slug":"definitions-data-and-instances","depth":2,"children":[]},{"title":"Connect using a declared interface","slug":"connect-using-a-declared-interface","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"firedrill","siteName":"Firedrill","title":"Synthetic Tools - Firedrill","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-18T11:28:24.816Z","originalFileLocation":"concepts/tools.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=\"Controlled dependencies your real agent can use during a simulation.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Firedrill\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/firedrill/4doC3Wuxr0HFEQEu/_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/firedrill/4doC3Wuxr0HFEQEu/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/firedrill/4doC3Wuxr0HFEQEu/_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/firedrill/4doC3Wuxr0HFEQEu/_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/firedrill/4doC3Wuxr0HFEQEu/_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/firedrill/4doC3Wuxr0HFEQEu/_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/firedrill/4doC3Wuxr0HFEQEu/_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/firedrill/4doC3Wuxr0HFEQEu/_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/firedrill/4doC3Wuxr0HFEQEu/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Synthetic Tools - Firedrill\">\u003cmeta data-mint-head property=\"og:description\" content=\"Controlled dependencies your real agent can use during a simulation.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Firedrill\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.firedrill.run/concepts/tools\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://firedrill.mintlify.app/_mintlify/api/og/v2?division=Core+concepts\u0026amp;title=Synthetic+Tools\u0026amp;description=Controlled+dependencies+your+real+agent+can+use+during+a+simulation.\u0026amp;theme=211def18583054cfab550cb1\u0026amp;signature=b51a782ac194bcfbb9d3601f661b011f8fd57df8ec8869d279cfbacf099f5c4b\">\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=\"Synthetic Tools - Firedrill\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Controlled dependencies your real agent can use during a simulation.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://firedrill.mintlify.app/_mintlify/api/og/v2?division=Core+concepts\u0026amp;title=Synthetic+Tools\u0026amp;description=Controlled+dependencies+your+real+agent+can+use+during+a+simulation.\u0026amp;theme=211def18583054cfab550cb1\u0026amp;signature=b51a782ac194bcfbb9d3601f661b011f8fd57df8ec8869d279cfbacf099f5c4b\">\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/firedrill/4doC3Wuxr0HFEQEu/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Firedrill\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3157D5\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.firedrill.run/concepts/tools\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/concepts/tools.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.firedrill.run/#organization\",\"name\":\"Firedrill\",\"url\":\"https://docs.firedrill.run\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/firedrill/sWeyeTM66Pjv8_YB/logo/light.svg?fit=max\u0026auto=format\u0026n=sWeyeTM66Pjv8_YB\u0026q=85\u0026s=608d25ab5f97ad95a8d3e8c9ced0cb6d\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.firedrill.run#website\",\"name\":\"Firedrill\",\"url\":\"https://docs.firedrill.run\",\"publisher\":{\"@id\":\"https://docs.firedrill.run/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.firedrill.run/concepts/tools#webpage\",\"url\":\"https://docs.firedrill.run/concepts/tools\",\"name\":\"Synthetic Tools\",\"description\":\"Controlled dependencies your real agent can use during a simulation.\",\"dateModified\":\"2026-10-18T11:28:24.816Z\",\"isPartOf\":{\"@id\":\"https://docs.firedrill.run#website\"},\"breadcrumb\":{\"@id\":\"https://docs.firedrill.run/concepts/tools#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.firedrill.run/concepts/tools#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Firedrill\",\"item\":\"https://docs.firedrill.run\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Synthetic Tools\",\"item\":\"https://docs.firedrill.run/concepts/tools\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.firedrill.run/concepts/tools#article\",\"headline\":\"Synthetic Tools\",\"name\":\"Synthetic Tools\",\"description\":\"Controlled dependencies your real agent can use during a simulation.\",\"url\":\"https://docs.firedrill.run/concepts/tools\",\"mainEntityOfPage\":{\"@id\":\"https://docs.firedrill.run/concepts/tools#webpage\"},\"dateModified\":\"2026-10-18T11:28:24.816Z\",\"publisher\":{\"@id\":\"https://docs.firedrill.run/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.firedrill.run#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Firedrill\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Firedrill","nav":{"global":{"anchors":[{"anchor":"Open Firedrill","icon":"arrow-up-right-from-square","href":"https://app.firedrill.run"}]},"tabs":[{"tab":"Documentation","icon":"book-open","groups":[{"group":"Get started","pages":[{"title":"Firedrill","href":""},{"title":"Run your first simulation","href":"/quickstart"},{"title":"AI agent examples by framework and stack","sidebarTitle":"Framework examples","href":"/guides/examples"},{"title":"How Firedrill works","href":"/concepts/how-it-works"},{"title":"Choose your workflow","href":"/reference/choose-a-workflow"}]},{"group":"Coding agents","pages":[{"title":"Coding-agent setup","href":"/guides/coding-agents"},{"title":"Operator MCP","href":"/guides/control-mcp"},{"title":"Connect your agent's real entry point","href":"/guides/example-agents"}]},{"group":"Simulations and evidence","pages":[{"title":"Simulate your application","href":"/guides/simulate-and-test"},{"title":"Run your first simulation","href":"/guides/run-first-drill"},{"title":"Repeat and coordinate simulations","href":"/guides/simulations"},{"title":"Vary scenario inputs","href":"/guides/scenario-matrices"},{"title":"Save and reuse scenarios","href":"/guides/reusable-scenarios"},{"title":"Score meaning and enforce exact requirements","href":"/guides/scoring"},{"title":"Compare target and model configurations","href":"/guides/model-benchmarks"},{"title":"Capture a browser workflow","href":"/guides/browser-testing"},{"title":"Attach logs, files, and media","href":"/guides/capture"},{"title":"Results and evidence","href":"/guides/results"}]},{"group":"Synthetic Tools","pages":[{"title":"Start synthetic Tools","href":"/guides/install-tools"},{"title":"Connect your agent to synthetic Tools","href":"/guides/connect-agent"},{"title":"Tool browser apps","href":"/guides/tool-apps"},{"title":"Starting data","href":"/guides/starting-data"},{"title":"Save and reuse datasets","href":"/guides/saved-datasets"},{"title":"Control state and time","href":"/guides/control-state-time"},{"title":"Tool lifetime and history","href":"/guides/sessions"},{"title":"Author a synthetic Tool","href":"/guides/create-tool-package"}]},{"group":"Automation","pages":[{"title":"Run simulations in CI","href":"/guides/ci"},{"title":"Pull-request simulations","href":"/guides/pull-request-ci"},{"title":"Command and HTTP agents","href":"/guides/callbacks"}]},{"group":"Web app and access","pages":[{"title":"Use the web app","href":"/guides/web-app"},{"title":"Projects and environments","href":"/guides/projects-builds"},{"title":"Team access and machine credentials","href":"/guides/team"},{"title":"Security and data boundaries","description":"Separate operator identity, synthetic Tool access, and your agent's own credentials.","href":"/guides/security"}]},{"group":"Core concepts","pages":[{"title":"Synthetic Tools","href":"/concepts/tools"},{"title":"Isolated state","description":"Understand which data belongs to each run and what a reset changes.","href":"/concepts/world-state"},{"title":"Scenarios","href":"/concepts/scenarios"},{"title":"Tool access","href":"/concepts/actors-personas"},{"title":"Scenarios, batches, and runs","href":"/concepts/drills-runs"},{"title":"Evidence and reset","href":"/concepts/evidence-reset"}]},{"group":"Files and reference","pages":[{"title":"Simulation files","href":"/guides/project-files"},{"title":"Project structure","href":"/reference/project-structure"},{"title":"Tool contract","href":"/reference/tool-contract"},{"title":"Glossary","href":"/reference/glossary"},{"title":"Troubleshooting","href":"/reference/troubleshooting"}]}]},{"tab":"CLI","icon":"square-terminal","pages":[{"title":"CLI","href":"/cli/overview"}]},{"tab":"SDKs","icon":"code","pages":[{"title":"SDKs","href":"/sdk/overview"}]},{"tab":"API reference","icon":"brackets-curly","pages":[{"title":"API reference","href":"/api-reference/overview"}]}]},"basePath":"","title":"Synthetic Tools - Firedrill","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":[],"chunks":[]}