Skip to main content
Version: 1.1.x

app.yaml

Lunar.dev’s app.yaml file defines core MCPX settings. This file allows you to define all your permissions including access control, tool groups, and tool customizations. It is located in the config file created during set up, and is populated as you create Agent Profiles, Custom Tools, and Tools Groups in the Control Plane.

Parameters​

default​

Required: True
Type: List of Strings
This defines the default behavior for all consumers that are not explicitly stated. You can state allow of block followed by a list of tool groups.

  default:
block: []

Note: In order to "allow all" use block: [] and allow: [] to "block all"


consumers​

Required: False
Type: List of arrays
A list of arrays which explicitly states the access permissions for a specific consumer group.

    consumers:
consumerGroup: # name of consumer group
block:
- toolGroup

toolGroups​

Required: False
Type: Map of objects
A map of objects, each with a name and a services map. Each service maps to an MCP server, and can reference either all tools using *, or specific tools as an array of strings.

  toolGroups:
- name: group1
services:
serverName1: # name of the server.
- myTool1 # name of tools in the group
- myTool2
serviceName2: "*" # the user can use a * to signify all the tools in one service

auth​

Required: False
Type: boolean
Enables basic API key authentication for controlling access to MCPX.

  auth:
enabled: false

toolExtensions​

Required: False
Type: Map of objects A map of customized tools, organized by service. Use this to override tool parameters or descriptions without modifying the original tool.

  toolExtensions:
services:
serviceName1:
toolName:
childTools:
- name: customToolName
description:
action: rewrite
text: "description of custom tool"
overrideParams:
my-param: overridenParam

Default configuration​

This is the default configuration for the your app.yaml. By default all requests via MCPX are allowed.

Default Configuration
permissions:
default:
block: []
consumers: {}
toolGroups: []
auth:
enabled: false
toolExtensions:
services: {}

Example​

Below is an example of a fully configured app.yaml

Example
  permissions:
default:
allow:
- group1
- group2
consumers:
developers:
block:
- group1
marketing:
block:
- group2
toolGroups:
- name: group1
services:
serviceName1:
- myTool1
- myTool2
serviceName2: "*"
- name: group2
services:
serviceName3:
- myTool3
auth:
enabled: false
toolExtensions:
services:
serviceName1:
toolName:
childTools:
- name: customToolName
description:
action: rewrite
text: "description of custom tool"
overrideParams:
my-param1: overriddenParam