{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["img"]},"type":"markdown"},"seo":{"title":"Tools for MCP Server/Agent Tools assets","description":"API documentation for Celonis APIs.","siteUrl":"https://developer.celonis.com/","keywords":"celonis developer portal, celonis apis, celonis api reference docs","lang":"en-US","llmstxt":{"hide":false,"description":"Celonis API documentation","sections":[{"title":"API Docs","description":"Available Celonis API Docs","includeFiles":["**/*.md"]},{"title":"API Specs","description":"All Celonis API specifications","includeFiles":["**/openapi.yaml"]}]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"tools-for-mcp-serveragent-tools-assets","__idx":0},"children":["Tools for MCP Server/Agent Tools assets"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This topic and the related tool descriptions provide a complete reference of all tools available for Agent Tools and their configuration options. Every tool entry lives in the tools list of the Agent Tools asset configuration (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["agentConfigurationPrompt.tools"]},"). Each entry is a dict/object containing at least the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]}," field."]},{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/assets/mcp-tools-add.cdbbcebebac165a54be1d10350dbc4421ae26d3a82f3116b3ee9fadd29b76459.a6bd5218.png","alt":"mcp-tools-add.png","framed":false,"withLightbox":true,"width":"","height":""},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"available-tools","__idx":1},"children":["Available tools"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following tools can be enabled for your Agent Tools/MCP Server assets:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Tool"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Tool"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Description"]}]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/mcp-server-asset/tools/call_process_copilot"},"children":["Call Process Copilot"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Delegates a question to a specific Process Copilot."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/mcp-server-asset/tools/execute_oe"},"children":["Execute Orchestration"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Sends a signal to Orchestration Engine to start a digital process."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/mcp-server-asset/tools/get_insights"},"children":["Get Insights"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Finds improvement potential by analyzing a KPI against record attributes."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/mcp-server-asset/tools/get_knowledge_model"},"children":["Get Knowledge Model"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Returns the knowledge model for the current asset."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/mcp-server-asset/tools/get_process_contexts_from_oe"},"children":["Get Process Contexts from Orchestration Engine"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Lists or queries digital process instances from Orchestration Engine."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/mcp-server-asset/tools/load_data"},"children":["Load Data"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The primary tool for loading data from the knowledge model."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/mcp-server-asset/tools/resume_oe"},"children":["Resume Orchestration Execution"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Resumes a paused Orchestration Engine process instance."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/mcp-server-asset/tools/search_data"},"children":["Search Data"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Searches for record instances using keyword matching or semantic search."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/mcp-server-asset/tools/trigger_action_flow"},"children":["Trigger Action Flow"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Connects your asset to an Action Flow."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"tool-dependencies","__idx":2},"children":["Tool dependencies"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["get_insights"]},": Works independently. Does not require ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["load_data"]},"."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"knowledge-input","__idx":3},"children":["Knowledge Input"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Tools that query data (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["load_data"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["get_insights"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["search_data"]},") operate on the KPIs, record attributes, filters, and event logs defined in the knowledge_input section of the Agent Tools config. If a column ID referenced in a tool config does not exist in the knowledge model, the tool will fail at runtime."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"multiple-instances","__idx":4},"children":["Multiple instances"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can have multiple instances of the same tool type (e.g., several ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["load_data"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["trigger_action_flow"]}," entries). Each instance beyond the first ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["must"]}," have a unique_id. The tool name exposed to the LLM becomes ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{tool_id}_{unique_id}"]}," (e.g., ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["load_data_get_overdue_invoices"]},"), so choose descriptive unique_id values as they help the LLM pick the right tool."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"description-overrides","__idx":5},"children":["Description overrides"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Description field overrides the default tool description shown to the LLM. This is especially important for custom-mode tools where a good description tells the LLM ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["when"]}," to use this specific tool instance. For example, \"Use when the user asks about overdue invoices\" is much more useful than \"Loads invoice data\"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"fields-common-to-all-tools","__idx":6},"children":["Fields common to all tools"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Each tool supports these base fields:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"id: <tool_id>             # Required — identifies the tool type  \ndescription: <string>     # Optional — override the default tool description shown to the LLM  \nactive: true              # Optional — enable/disable this tool instance (default: true)  \nunique_id: <string>       # Optional — disambiguate multiple instances of the same tool type\n"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"how-pre-configuration-works","__idx":7},"children":["How pre-configuration works"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For most tools with a mode of ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Both"]}," (Intelligent and Custom Configuration), you can pre-fill any subset of the tool's arguments in the YAML config. Any field you set is fixed and hidden from the LLM; any field you leave out is decided by the LLM at runtime. This lets you constrain some aspects of a tool while leaving others flexible."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Exception — load_data"]},": This tool has a hard mode split. Setting columns switches it entirely to custom mode, where the full query (columns, filters, ordering, limit) is defined in config. The LLM fills ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["nothing"]}," unless input_schema is defined for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["${...}"]}," placeholder variables. See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/mcp-server-asset/tools/load_data"},"children":["Data Load"]}," for more details."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"availability-modes","__idx":8},"children":["Availability Modes"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"Mode"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Mode"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"Meaning"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Meaning"]}]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Intelligent"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["LLM decides all arguments at runtime. No pre-filled config beyond base fields."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Custom only"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Creator must pre-fill the required arguments. The LLM only fills what's declared via ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["input_schema"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["flow_input_schema"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Both"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Tool works in either mode. You can pre-fill any subset of fields and the LLM fills the rest."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"configuration-example","__idx":9},"children":["Configuration example"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["tools:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"# Intelligent load_data — LLM picks columns, filters, etc.  \n - id: load_data\n\n # Custom load_data — fully pre-configured query, LLM fills nothing  \n - id: load_data  \n   unique_id: get_overdue_invoices  \n   description: Retrieves overdue invoices with vendor and clearing date.  \n   columns:  \n     - id: INVOICE.INVOICE_VENDOR_NAME  \n     - id: INVOICE.INVOICE_CLEARING_DATE_DAY  \n     - id: INVOICE.INVOICE_FISCAL_YEAR  \n   limit: 100\n\n # Custom load_data — with input variable for dynamic filtering  \n - id: load_data  \n   unique_id: get_invoice_by_id  \n   description: Look up a specific invoice by number.  \n   columns:  \n     - id: INVOICES.INVOICE_NUMBER  \n     - id: INVOICES.INVOICE_VALUE  \n   filters:  \n     - pql_template:  \n         pql: FILTER \"invoices\".\"Invoice Number\" in ('${invoice_number}')  \n         name: Invoice Number Filter  \n   input_schema:  \n     properties:  \n       invoice_number:  \n         description: The invoice number to look up.\n\n\n # Display tools — intelligent (LLM decides arguments at runtime)  \n   - id: display_chart  \n   - id: display_kpi  \n   - id: display_process\n\n # Display table — partially configured (fixed columns, LLM decides sorting)  \n   - id: display_table  \n     column_ids:  \n       - INVOICE.INVOICE_NUMBER  \n       - INVOICE.INVOICE_VENDOR_NAME  \n       - KPI_INVOICE_VALUE\n\n # Other intelligent tools  \n - id: get_insights  \n - id: search_data  \n - id: get_process_data  \n - id: get_process_model  \n - id: python\n\n # Action flow — LLM fills the declared inputs  \n - id: trigger_action_flow  \n   unique_id: send_email  \n   flow_key: my-package.email-scenario  \n   flow_display_name: Send Email  \n   flow_input_schema:  \n     type: object  \n     required:  \n       - email  \n       - body  \n     properties:  \n       email:  \n         type: string  \n         description: Recipient email address.  \n       body:  \n         type: string  \n         description: Email body text.\n\n # Delegate to another Copilot  \n - id: call_copilot_tool  \n   unique_id: vendor_copilot  \n   description: Delegates vendor questions to the vendor management copilot.  \n   root_with_key: rootNodeKey.assetKey\n\n # Document search with customer vector store  \n   - id: document_search  \n     topics:  \n       - public_docs  \n     vector_store_id: my-docs-store\n"},"children":[]}]},"headings":[{"value":"Tools for MCP Server/Agent Tools assets","id":"tools-for-mcp-serveragent-tools-assets","depth":1},{"value":"Available tools","id":"available-tools","depth":2},{"value":"Tool dependencies","id":"tool-dependencies","depth":2},{"value":"Knowledge Input","id":"knowledge-input","depth":2},{"value":"Multiple instances","id":"multiple-instances","depth":2},{"value":"Description overrides","id":"description-overrides","depth":2},{"value":"Fields common to all tools","id":"fields-common-to-all-tools","depth":2},{"value":"How pre-configuration works","id":"how-pre-configuration-works","depth":2},{"value":"Availability Modes","id":"availability-modes","depth":2},{"value":"Configuration example","id":"configuration-example","depth":2}],"frontmatter":{"seo":{"title":"Tools for MCP Server/Agent Tools assets"}},"lastModified":"2026-08-31T16:20:48.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/mcp-server-asset/tools/tools_for_mcp_server","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}