Skip to main content
Tools are external capabilities that extend what the agent can do beyond generating text. Each tool exposes a function (or a set of functions) that the agent can call to perform actions in the real world or consult reliable data. Some common examples:
  • Data connectors: searching internal databases, CRMs, spreadsheets, SQL/NoSQL databases.
  • System actions: sending emails, creating tickets, sending messages.
  • Analytical services: running queries, statistical analyses, summarizations.
  • Automation: making HTTP requests, reading pages, extracting content/patterns.
  • MCP (Model Context Protocol): standardizes how the agent discovers and calls tools hosted remotely.

How does the agent decide to use a Tool?

In Orkeia, we work with the permission to call tools, and the agent can do this in the following ways:
  • Intent detection: the agent’s policy (prompt + rules) identifies that the task requires external data/action.
  • Tool selection: chooses the best tool based on description, permissions, and environment (dev/staging/prod).
  • Parameter planning: structures arguments with validations (types, limits, sanitization).
  • Execution and observation: calls the tool; the return becomes an “observation” for the next step of reasoning.
  • Security and governance: logs, rate limits, masks for sensitive data, and authorization checks by sector/environment.

Best practices

It is important that you provide clear descriptions for your agents, explaining exactly what the tool does and when to use it. Additionally, we recommend setting up separate environments, enabling (or disabling) tools to prevent unwanted effects in production. Orkeia also allows you to restrict tools by sectors, and we recommend using this feature for greater control over your tools.

Orkeia Tool Interface

Orkeia allows, via API, for tools to be passed to our agents, below is an example of an interface:
export interface Tool {
  id?: string;
  name: string;
  description: string;
  code?: string;
  entryFunctionName?: string;
  sectors: string[];
  publisher: string;
  enabled: boolean;
  environments: string[];
  mcp?: {
    url: string;
    transport: 'sse' | 'streamable-http';
  };
}

Example of Orkeia Tool JSON

{
  "id": "tool_http_fetcher_v1",
  "name": "HTTP Fetcher",
  "description": "Executes HTTP requests (GET/POST) with URL validation, optional headers, and JSON body. Use to integrate with REST APIs when there is no dedicated connector.",
  "code": "code in python",
  "entryFunctionName": "run",
  "sectors": ["engineering", "integrations", "data"],
  "publisher": "Orkeia tools team",
  "enabled": true,
  "environments": ["dev", "staging", "prod"],
  "mcp": {
    "url": "https://api.orkeia.ai/mcp/tools/http-fetcher",
    "transport": "streamable-http"
  }
}