Air Pipe
Build, validate, deploy — HTTP APIs, cron jobs, webhooks and MCP tools — from your AI client.
Should I use this
Quality & Safety
Findings (5)
- LOWin deploy_module_revision
- LOWin undeploy_module
- LOWin undeploy_config
- LOWin edit_config
- LOWin deploy_config_revision
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"airpipe": {
"url": "https://api.airpipe.io/mcp"
}
}
}Remote endpoints
https://api.airpipe.io/mcpstreamable-httpWhat it can do
Tool inventory
Tools (19)
🟡update_module(organization_uuid, module_uuid, handle, module_type, spec_yaml, ...)
Update an existing reusable module by module_uuid (adds a new revision; spec_yaml is base64-encoded YAML) and optionally redeploy.
Input Schema
{
"type": "object",
"properties": {
"organization_uuid": {
"type": "string",
"format": "uuid"
},
"module_uuid": {
"type": "string",
"format": "uuid"
},
"handle": {
"type": "string"
},
"module_type": {
"type": "string"
},
"spec_yaml": {
"type": "string"
},
"description": {
"type": "string"
},
"permission": {
"type": "string"
},
"role_uuid": {
"type": "string"
},
"deploy_staging": {
"type": "string"
},
"deploy_production": {
"type": "string"
}
},
"required": [
"handle",
"module_type",
"spec_yaml"
]
}🟡create_module(organization_uuid, handle, module_type, spec_yaml, description, ...)
Create a reusable module (a typed config fragment referenced by handle) and optionally deploy it to staging or production. spec_yaml is base64-encoded YAML of the module body; module_type is the config struct it represents (e.g. Database).
Input Schema
{
"type": "object",
"properties": {
"organization_uuid": {
"type": "string",
"format": "uuid"
},
"handle": {
"type": "string"
},
"module_type": {
"type": "string"
},
"spec_yaml": {
"type": "string"
},
"description": {
"type": "string"
},
"permission": {
"type": "string"
},
"role_uuid": {
"type": "string"
},
"deploy_staging": {
"type": "string"
},
"deploy_production": {
"type": "string"
}
},
"required": [
"handle",
"module_type",
"spec_yaml"
]
}🟡validate_config(yaml)
Schema-validate an airpipe YAML config. Send { "yaml": <the full YAML string> }. Returns { valid: true } when it passes, or { valid: false, error: <message> } when it fails — feed the error back into your fix and call again until valid. Schema check only; does not save. Use create_config to persist a valid config.
Input Schema
{
"type": "object",
"properties": {
"yaml": {
"type": "string",
"minLength": 1
}
},
"required": [
"yaml"
]
}🟢list_configs(organization_uuid)
List the organization's AirPipe configurations.
Input Schema
{
"type": "object",
"properties": {
"organization_uuid": {
"type": "string"
}
},
"required": [
"organization_uuid"
]
}🟢list_organizations
List the organizations you belong to and their organization_uuid. Call this first to get an organization_uuid for the config tools.
Input Schema
{
"type": "object"
}🟡deploy_module_revision(organization_uuid, revision_uuid, module_uuid)
Deploy a specific past revision of a module to staging or production.
Input Schema
{
"type": "object",
"properties": {
"organization_uuid": {
"type": "string",
"format": "uuid"
},
"revision_uuid": {
"type": "string",
"format": "uuid"
},
"module_uuid": {
"type": "string",
"format": "uuid"
}
},
"required": [
"organization_uuid",
"revision_uuid",
"module_uuid"
]
}🟡plan_config(request, limit, organization_uuid)
Get airpipe config-authoring instructions plus RAG-retrieved real action examples for a natural-language request, so YOU (the calling model) write the YAML yourself instead of the server generating it. Returns { instructions, context, request, protocol }. After writing the config, validate it with the validate_config tool (repair loop) then persist it with create_config. Prefer this over generate_config whenever you can author YAML yourself.
Input Schema
{
"type": "object",
"properties": {
"request": {
"type": "string",
"minLength": 1
},
"limit": {
"type": "string"
},
"organization_uuid": {
"type": "string"
}
},
"required": [
"request"
]
}🟢get_config(organization_uuid, config_uuid)
Get a single configuration's data by config_uuid, optionally with its revisions.
Input Schema
{
"type": "object",
"properties": {
"organization_uuid": {
"type": "string"
},
"config_uuid": {
"type": "string"
}
},
"required": [
"organization_uuid",
"config_uuid"
]
}🟢list_modules(organization_uuid)
List the organization's reusable modules (pass revisions=true to include revision history).
Input Schema
{
"type": "object",
"properties": {
"organization_uuid": {
"type": "string"
}
},
"required": [
"organization_uuid"
]
}🟢get_module(organization_uuid, module_uuid)
Get a single reusable module by uuid, including its revision history and spec.
Input Schema
{
"type": "object",
"properties": {
"organization_uuid": {
"type": "string",
"format": "uuid"
},
"module_uuid": {
"type": "string",
"format": "uuid"
}
},
"required": [
"organization_uuid",
"module_uuid"
]
}🟡update_config(organization_uuid, config_uuid, config_yaml, permission, role_uuid, ...)
Update an existing AirPipe configuration by config_uuid (config_yaml is base64-encoded YAML) and optionally redeploy.
Input Schema
{
"type": "object",
"properties": {
"organization_uuid": {
"type": "string",
"format": "uuid"
},
"config_uuid": {
"type": "string",
"format": "uuid"
},
"config_yaml": {
"type": "string"
},
"permission": {
"type": "string"
},
"role_uuid": {
"type": "string"
},
"deploy_staging": {
"type": "string"
},
"deploy_production": {
"type": "string"
}
},
"required": [
"config_yaml"
]
}⚪undeploy_module(organization_uuid, module_uuid, environment)
Undeploy a reusable module from an environment (STAGING or PRODUCTION).
Input Schema
{
"type": "object",
"properties": {
"organization_uuid": {
"type": "string",
"format": "uuid"
},
"module_uuid": {
"type": "string",
"format": "uuid"
},
"environment": {
"type": "string",
"minLength": 1
}
},
"required": [
"organization_uuid",
"module_uuid",
"environment"
]
}🟡create_config(organization_uuid, config_yaml, permission, role_uuid, deploy_staging, ...)
Create a new AirPipe configuration (config_yaml is base64-encoded YAML) and optionally deploy it to staging or production.
Input Schema
{
"type": "object",
"properties": {
"organization_uuid": {
"type": "string",
"format": "uuid"
},
"config_yaml": {
"type": "string"
},
"permission": {
"type": "string"
},
"role_uuid": {
"type": "string"
},
"deploy_staging": {
"type": "string"
},
"deploy_production": {
"type": "string"
}
},
"required": [
"config_yaml"
]
}⚪undeploy_config(organization_uuid, config_uuid, environment)
Undeploy a configuration from an environment (STAGING or PRODUCTION).
Input Schema
{
"type": "object",
"properties": {
"organization_uuid": {
"type": "string",
"format": "uuid"
},
"config_uuid": {
"type": "string",
"format": "uuid"
},
"environment": {
"type": "string",
"minLength": 1
}
},
"required": [
"organization_uuid",
"config_uuid",
"environment"
]
}🔴delete_config(organization_uuid, config_uuids)
Delete one or more AirPipe configurations by config_uuid.
Input Schema
{
"type": "object",
"properties": {
"organization_uuid": {
"type": "string",
"format": "uuid"
},
"config_uuids": {
"type": "array"
}
},
"required": [
"organization_uuid",
"config_uuids"
]
}🔴delete_module(organization_uuid, module_uuids)
Delete one or more reusable modules by module_uuid.
Input Schema
{
"type": "object",
"properties": {
"organization_uuid": {
"type": "string",
"format": "uuid"
},
"module_uuids": {
"type": "array"
}
},
"required": [
"organization_uuid",
"module_uuids"
]
}⚪toggle_config(organization_uuid, config_uuids)
Enable or disable one or more configurations by config_uuid.
Input Schema
{
"type": "object",
"properties": {
"organization_uuid": {
"type": "string",
"format": "uuid"
},
"config_uuids": {
"type": "array"
}
},
"required": [
"organization_uuid",
"config_uuids"
]
}🟡edit_config(organization_uuid, current_yaml, instruction)
Edit an AirPipe configuration YAML with a natural-language instruction.
Input Schema
{
"type": "object",
"properties": {
"organization_uuid": {
"type": "string"
},
"current_yaml": {
"type": "string",
"minLength": 1
},
"instruction": {
"type": "string",
"minLength": 1
}
},
"required": [
"organization_uuid",
"current_yaml",
"instruction"
]
}🟡deploy_config_revision(organization_uuid, revision_uuid, config_uuid)
Deploy a specific past revision of a configuration to staging or production.
Input Schema
{
"type": "object",
"properties": {
"organization_uuid": {
"type": "string",
"format": "uuid"
},
"revision_uuid": {
"type": "string",
"format": "uuid"
},
"config_uuid": {
"type": "string",
"format": "uuid"
}
},
"required": [
"organization_uuid",
"revision_uuid",
"config_uuid"
]
}Community
Evidence