Air Pipe

Build, validate, deploy — HTTP APIs, cron jobs, webhooks and MCP tools — from your AI client.

Should I use this

Quality & Safety

A
Description quality
92%
Schema completeness
77%
Naming quality
93%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (5)

  • LOWTool 'deploy_module_revision' description lacks action verbin deploy_module_revision
  • LOWTool 'undeploy_module' description lacks action verbin undeploy_module
  • LOWTool 'undeploy_config' description lacks action verbin undeploy_config
  • LOWTool 'edit_config' description lacks action verbin edit_config
  • LOWTool 'deploy_config_revision' description lacks action verbin deploy_config_revision

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,604Tokens (tool definitions)
~621 BTypical response size
Moderate attention impact (1.25% of 128k context)

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-http

What it can do

Tool inventory

Tools (19)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟡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

Rate this Server

Evidence

Recent observations

verifiedversion not recorded19 tools
verifiedversion not recorded19 tools