Elemm
HomeDocsFAQ
Star on GitHub
HomeDocsFAQ
Star on GitHub
Docs
Getting StartedWhat is Elemm?Core InstallationMCP Client SetupDocker Deployment
PlatformDashboard & ObservabilityConfiguration Reference
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

Multi-Protocol Support

Seamless bridging between OpenAPI, GraphQL, and native Elemm APIs.

Overview

The gateway seamlessly bridges three API paradigms into the unified Elemm discovery model. Regardless of what interface the target API offers, the agent always works with the same 9 core tools.


OpenAPI (REST)

  • Detection: URL ends in .json, .yaml, .yml, or contains /openapi
  • Supported Versions: OpenAPI 3.x and Swagger 2.0

Feature Coverage

  • Path, query, header, and body parameters
  • Path-level parameter inheritance
  • $ref resolution for component parameters
  • requestBody schema flattening
  • Server URL extraction (with relative URL handling)
  • Security scheme detection with vault integration warnings
  • Tag-based landmark grouping with metadata descriptions

Custom Directives

OpenAPI specs can define custom behavioral guidelines via x-elemm-instructions in the info block or root level. These are automatically injected into the transient session manifest as system instructions.


GraphQL

  • Detection: URL contains the keyword graphql
  • Discovery: Automatic introspection via the standard __schema query

Feature Coverage

  • Query and Mutation field extraction
  • Argument type mapping (Scalars, Lists, NonNull, InputObjects)
  • Automatic GQL type annotations in tool metadata (gql_type)
  • Dynamic _select parameter for controlling the selection set
  • Nested field selection via dot-notation (e.g., _select: "name, info.id")
  • Automatic variable generation and type-safe query construction

Example: GraphQL Field Selection

json
{
  "action": "Query:countries",
  "parameters": {
    "_select": "name, capital, continent.name"
  }
}

The GraphQLExecutor dynamically generates the correct GraphQL query with the matching selection set.


Native Elemm

  • Detection: Fallback — probes /.well-known/elemm-manifest.md

Feature Coverage

  • Lazy manifest loading (no tool signatures at connect time)
  • On-demand landmark inspection via the remote server
  • Proxy execution via the standard /.well-known/elemm/execute endpoint

Local MCP Servers (mcp://local)

The gateway also supports binding local MCP servers as landmark actions:

  • Recognizes the virtual URL mcp://local
  • Binds all servers configured in ~/.elemm/mcp_servers.yaml
  • Each tool is registered as an Elemm landmark (mcp:server_id:tool_name)
  • Supports various process types (STDIO, SSE)
💡 TIP
Use the MCP Blending Mode in the gateway settings to control whether MCP servers are injected globally, locally sandboxed, or selectively.
Elemm Logo

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

Framework

HomeAboutDocumentation

Community

GitHubDiscordPyPI Package

Legal

License: GPLv3© 2026 Marc Stöcker
elemm.dev — Infrastructure for the Agentic Web.