Elemm
HomeGuardianDocsBlogFAQ
Star on GitHub
HomeGuardianDocsBlogFAQ
Star on GitHub
Docs
Getting StartedWhat is Elemm?Core InstallationMCP Client SetupDocker Deployment
DashboardDashboard OverviewConfiguration ReferenceObservability ConsoleManifest DebuggerToken AnalyzerMCP Server ConfigurationSecurity PanelVault ManagerDashboard Settings
ProtocolThe Discovery ProtocolThe 9 Core ToolsSequence Engine & Data PipingResponse Hygiene
GatewayMulti-Protocol SupportSecurity (Guardian)Vault — AuthenticationProduction & VPS SecurityCLI Reference
DeveloperBuilding Landmark ServersExposing Landmark ServersSmartRepair & Error CodesPydantic & Smart UnboxingDeclarative YAML Configuration

Declarative YAML Configuration

Decouple metadata from Python code using YAML declarations.

Declarative Configuration (YAML)

For enterprise scenarios, separate protocol metadata from code using a landmarks.yaml file:

yaml
global_aliases:
  user_id: [uid, customer_id, user]

landmarks:
  - id: compute
    description: "Virtual machine management"
    type: navigation
    tools:
      - id: compute:toggle_power
        description: "Toggle VM power state"
        type: action
        remedy: "Check valid instance IDs with inspect_landmark"
        parameters:
          - name: instance_id
            type: string
            description: "The unique VM identifier"
            required: true
          - name: state
            type: string
            description: "Desired state: 'on' or 'off'"
            options: ["on", "off"]

Clean Python Decorators (Metadata Inheritance)

TIP

When using MetadataRegistry with a YAML file, you do not need to duplicate metadata in the Python decorators. The decorators only require the action_id. Elemm automatically inherits description, parameters, remedies, and instructions from the YAML file.

This separates the API declaration from the implementation, making your Python code extremely clean:

python
# The YAML file defines description, remedy, and parameter constraints.
# The Python decorator only binds the function to the ID.
@manager.landmark("compute:toggle_power")
async def toggle_power(instance_id: str, state: str):
    # Business logic here...
    return {"status": "success", "new_state": state}

Available YAML Fields

FieldTypeDescription
idstringUnique ID. Use namespace:action_name for hierarchy
descriptionstringDescription shown to the agent
typestring"navigation" (namespace) or "action" (executable)
remedystringSmartRepair hint on errors
instructionsstringBehavioral guidelines injected on inspection
priorityintSort weight (1 = highest priority)
returnsstringDescription of the return value
response_schemaobjectJSON Schema of the return object
parameterslistParameter definitions
Elemm Logo

The Landmark Manifest. Exposing system interfaces natively to AI agents.

Framework

HomeAboutGuardianDocumentation

Community

GitHubDiscordPyPI Package

Legal

Imprint (Legal Notice)Privacy Policy© 2026 Marc Stöcker
elemm.dev — Infrastructure for the Agentic Web.