The 9 Core Tools
Complete reference for all tools the gateway exposes to the agent.
Overview
The Elemm Gateway exposes exactly 9 generic tools to the MCP client. All domain-specific actions are routed internally through call_action and execute_sequence.
connect_to_site
Connects the gateway to a remote API. The gateway auto-detects the interface type (GraphQL, OpenAPI, or Native Elemm).
| Parameter | Type | Required | Description |
|---|---|---|---|
url | string | Yes | URL of the API (e.g., OpenAPI JSON, GraphQL endpoint, Elemm site) |
Auto-Detection Logic:
- URL contains
graphql-> Attempts GraphQL introspection - URL ends in
.json,.yaml,.yml-> Parses as OpenAPI spec - Otherwise -> Probes for native Elemm manifest at
/.well-known/elemm-manifest.md
get_manifest
Returns the system instructions, protocol rules, landmark topology, and gateway globals for the active site. This call authorizes the session (completes the handshake).
| Parameter | Type | Required | Description |
|---|---|---|---|
| (none) | — | — | — |
get_landmarks
Returns a high-level summary of available functional areas (landmarks) on the active site. Landmarks restricted by the Security Policy are automatically hidden.
| Parameter | Type | Required | Description |
|---|---|---|---|
| (none) | — | — | — |
inspect_landmark
Returns TypeScript-style technical signatures for all tools within the specified landmark(s). This is the ground truth for parameter schemas.
| Parameter | Type | Required | Description |
|---|---|---|---|
landmark_id | string or string[] | Yes | One or more landmark IDs to inspect |
_limit | integer | No | Pagination limit for the number of tools returned |
_offset | integer | No | Pagination offset to skip tools/landmarks |
inspect_landmark before executing actions. Guessing parameter names or schemas from memory is the #1 cause of agent failures.search_landmarks
Global Python REGEX search over all landmarks and individual actions. Returns executable actions directly, bypassing the full hierarchy navigation.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
query | string | Yes | Regex pattern (e.g., `repos\ | issues or ^security:.*`) |
_limit | integer | No | Max number of results (default: 10) | |
_offset | integer | No | Starting index for pagination |
call_action
Executes a single action on the remote site.
| Parameter | Type | Required | Description |
|---|---|---|---|
action | string | Yes | The Action ID (e.g., repos_repos_get) |
parameters | object | No | Parameters for the action |
All actions additionally support the universal hygiene parameters: _select, _filter, _limit, _offset.
execute_sequence
Executes multiple actions in a single turn with data piping between steps.
| Parameter | Type | Required | Description |
|---|---|---|---|
actions | array | Yes | List of step objects |
steps | array | — | Alias for actions (accepted for LLM flexibility) |
session_id | string | No | Session ID for memory isolation. Default: "default" |
Step Object:
| Field | Type | Required | Description |
|---|---|---|---|
action | string | Yes | The Action ID |
alias | string | No | Custom alias for this step's result. Default: stepN |
parameters | object | No | Parameters. Supports $alias.path piping syntax |
on_error | "stop" / "continue" | No | Error handling strategy. Default: "stop" |
retry | integer | No | Number of retry attempts. Default: 0 |
retryOn | string[] | No | Error codes that trigger a retry |
list_aliases
Returns all stored aliases (results from previous sequence steps) for a given session.
| Parameter | Type | Required | Description |
|---|---|---|---|
session_id | string | No | The session to inspect. Default: "default" |
clear_session
Clears all stored aliases and pipeline state for a session. Use for privacy and memory hygiene.
| Parameter | Type | Required | Description |
|---|---|---|---|
session_id | string | No | The session to clear. Default: "default" |