Skip to main content
Airstore is configured via a YAML config file, typically config.local.yaml.

Location

PlatformDefault Path
Local./config.local.yaml
CustomSet via --config flag or CONFIG_PATH env var

Full schema

# config.local.yaml

# Mode: local or remote
mode: local

# Enable debug logging
debugMode: true

# Pretty print logs
prettyLogs: true

# Gateway configuration
gateway:
  grpc:
    port: 1993
  http:
    host: 127.0.0.1
    port: 1994

# MCP tool configurations
tools:
  mcp:
    # Filesystem access
    filesystem:
      command: npx
      args: ["-y", "@modelcontextprotocol/server-filesystem", "/tmp", "/Users"]

    # Memory/knowledge graph
    memory:
      command: npx
      args: ["-y", "@modelcontextprotocol/server-memory"]

    # GitHub (requires GITHUB_TOKEN env var)
    github:
      command: npx
      args: ["-y", "@modelcontextprotocol/server-github"]
      env:
        GITHUB_TOKEN: "${GITHUB_TOKEN}"

    # Wikipedia search
    wikipedia:
      command: npx
      args: ["-y", "@modelcontextprotocol/server-wikipedia"]

Sections

mode

Operating mode for Airstore.
mode: local   # Run gateway embedded in CLI
mode: remote  # Connect to external gateway

debugMode

Enable verbose debug logging.
debugMode: true

prettyLogs

Pretty-print log output (useful for development).
prettyLogs: true

gateway

Gateway server configuration.
gateway:
  grpc:
    port: 1993    # gRPC port for filesystem communication
  http:
    host: 127.0.0.1
    port: 1994    # HTTP port for API

tools.mcp

MCP server configurations. Each key becomes a tool name.
tools:
  mcp:
    # Tool name becomes the executable name in /tools/
    my-tool:
      command: npx           # Command to run
      args:                  # Arguments to pass
        - "-y"
        - "@company/mcp-server"
      env:                   # Environment variables
        API_KEY: "${API_KEY}"

Example configurations

Minimal config

mode: local

gateway:
  grpc:
    port: 1993
  http:
    host: 127.0.0.1
    port: 1994

tools:
  mcp:
    filesystem:
      command: npx
      args: ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"]

Full development config

mode: local
debugMode: true
prettyLogs: true

gateway:
  grpc:
    port: 1993
  http:
    host: 127.0.0.1
    port: 1994

tools:
  mcp:
    filesystem:
      command: npx
      args: ["-y", "@modelcontextprotocol/server-filesystem", "/tmp", "/Users"]

    memory:
      command: npx
      args: ["-y", "@modelcontextprotocol/server-memory"]

    github:
      command: npx
      args: ["-y", "@modelcontextprotocol/server-github"]
      env:
        GITHUB_TOKEN: "${GITHUB_TOKEN}"

    wikipedia:
      command: npx
      args: ["-y", "@modelcontextprotocol/server-wikipedia"]

Custom MCP server

mode: local

gateway:
  grpc:
    port: 1993
  http:
    host: 127.0.0.1
    port: 1994

tools:
  mcp:
    # Local binary
    internal-api:
      command: /usr/local/bin/internal-mcp
      env:
        API_URL: https://internal.company.com
        API_KEY: "${INTERNAL_API_KEY}"

    # Python-based MCP server
    my-python-tool:
      command: python
      args: ["-m", "my_mcp_server"]
      env:
        CONFIG_PATH: /etc/my-tool/config.json

Environment variables

Environment variables in the config file can be referenced using ${VAR_NAME} syntax:
tools:
  mcp:
    github:
      command: npx
      args: ["-y", "@modelcontextprotocol/server-github"]
      env:
        GITHUB_TOKEN: "${GITHUB_TOKEN}"  # Reads from environment
Set the environment variable before mounting:
export GITHUB_TOKEN=ghp_xxxxxxxxxxxx
airstore mount ~/airstore --config config.local.yaml

See also: CLI reference | Tools