|
| 1 | +--- |
| 2 | +title: Microsoft Discovery tools |
| 3 | +description: Learn about tools in Microsoft Discovery, including tool types, tool artifacts, and how tools are deployed to the platform. |
| 4 | +author: yousefi-msft |
| 5 | +ms.author: yousefi |
| 6 | +ms.service: microsoft-discovery |
| 7 | +ms.topic: concept-article |
| 8 | +ms.date: 03/18/2026 |
| 9 | + |
| 10 | +#CustomerIntent: As an agent author in Microsoft Discovery, I want to learn about how tools work in Discovery and what types are available. |
| 11 | +--- |
| 12 | + |
| 13 | +# Microsoft Discovery tools concepts |
| 14 | +Tools allow agents to perform specific operations in a repeatable, consistent, and efficient manner. While an LLM could eventually understand how to interact with other systems or adapt complex algorithms, many operations are already reliably implemented in the form of Software Development Kits (SDK) or Application Programming Interfaces (API). For example, reading and writing to a database happens through a vendor API, which is typically well-documented and optimized. Other examples of where to use a tool include complex or performance-based algorithms or simulations which can't tolerate stochasticity. Tools enable AI models and their agents to direct their workflow reliably and efficiently to interact with existing systems. Examples of tool uses include: |
| 15 | + |
| 16 | +- **Computational tools** provide the necessary algorithms to solve complex mathematical problems, simulate physical phenomena or engineering systems, and analyze large scientific datasets. |
| 17 | + |
| 18 | +- **Data processing tools** manage and refine data collected from various sources. They allow users to extract relevant information, remove noise, and preprocess data for further analysis within the Discovery platform. |
| 19 | + |
| 20 | +- **Simulation tools** model and simulate physical, chemical, or biological processes, and complex engineering systems using the platform's Supercomputer resources. These tools are crucial for experimentation that can't feasibly be conducted in practice due to constraints such as time, cost, or safety concerns. |
| 21 | + |
| 22 | +- **Visualization tools** interpret scientific data or engineering design data and communicate findings graphically. These tools transform data into graphical representations like charts, graphs, and 3D models, making it easier to explore models, identify patterns, and uncover trends and anomalies. |
| 23 | + |
| 24 | +## Tool types |
| 25 | +Microsoft Discovery supports two types of tools: **action** and **code-based** tools. |
| 26 | + |
| 27 | +### Action-based tools |
| 28 | + |
| 29 | +Action-based tools are used when the software requires an operating system, such as with commercial, proprietary, or open-source packages that are distributed as binaries or have complex installation requirements. These can include simulators, emulators, compilers, visualizers, linters, design automation tools, modeling packages, and similar complex software packages. |
| 30 | + |
| 31 | +Tools are installed in a Docker image that is then stored in a container registry. The execution profile of each action the tool should perform, along with arguments, required inputs, and expected outputs, is annotated in the tool's profile. The tool profile's annotations provide the agent with the context of the execution and purpose so that it can effectively plan the invocation. |
| 32 | + |
| 33 | +### Code environment tools |
| 34 | + |
| 35 | +A code environment tool enables a Microsoft Discovery agent to run custom code or even generate an on-demand tool. This approach works best with tools that are coded in a single programming language or are performing operations best handled in code. Tools with comprehensive documentation covering usage patterns and syntax are especially well suited, because the documentation allows the Copilot to generate code dynamically. Novel algorithms or dynamically created tools generated by a model are target scenarios for code environment tools. |
| 36 | + |
| 37 | +> [!NOTE] |
| 38 | +> Microsoft Discovery supports only Python-based code environment tools at this time. |
| 39 | +
|
| 40 | +## Requirements for authoring tools |
| 41 | + |
| 42 | +Action-based tools must be packaged in a Docker container and stored in a registry accessible to the Microsoft Discovery Supercomputer. A tool profile must be written that has the required specifications. Code environment tools also require a tool profile; however, the code can be embedded into the tool profile and no other assets are required. |
| 43 | + |
| 44 | +## Cardinality and execution profile |
| 45 | + |
| 46 | +Tool definitions can be shared across an entire subscription because the tool definition is not a unique instantiation. Tools are only instantiated when invoked. Multiple agents can all reference the same tool without conflict as each is instantiated in isolation. As such, care must be taken to ensure that tools don't have any values or data hardcoded either in the profile or the execution profile. |
| 47 | + |
| 48 | +## Next step |
| 49 | + |
| 50 | +> [!div class="nextstepaction"] |
| 51 | +> [Microsoft Discovery agents](concept-discovery-agent.md) |
0 commit comments