{
    "format": "getmcp/server-v1",
    "generator": {
        "product": "GetMCP",
        "version": "1.7.0"
    },
    "server": {
        "name": "Content calendar (Airtable)",
        "slug": "airtable",
        "status": "active",
        "transport_type": "streamable-http",
        "auth_type": "api-key",
        "auth_config": null,
        "outbound_auth_type": "bearer",
        "outbound_auth_config": null,
        "cors_origins": null,
        "rate_limit_per_min": 60,
        "settings": {
            "description": "List, add and update records in your Airtable base.",
            "version": "1.0.0",
            "instructions": "Use these tools on the user's Airtable base. Read a few records first to learn the table's field names, then write to those exact fields."
        }
    },
    "tools": [
        {
            "name": "list_records",
            "slug": "list_records",
            "description": "List records from an Airtable table with optional filtering.",
            "endpoint_url": "https://api.airtable.com/v0/{{base_id}}/{{table_name}}",
            "http_method": "GET",
            "tool_type": "http",
            "handler": "",
            "input_schema": {
                "type": "object",
                "properties": {
                    "base_id": {
                        "type": "string",
                        "description": "Airtable base ID (starts with \"app\")"
                    },
                    "table_name": {
                        "type": "string",
                        "description": "Table name or table ID"
                    },
                    "filterByFormula": {
                        "type": "string",
                        "description": "Airtable formula to filter records (e.g. {Status}=\"Active\")"
                    },
                    "maxRecords": {
                        "type": "integer",
                        "description": "Maximum records to return",
                        "default": 20
                    },
                    "sort_field": {
                        "type": "string",
                        "description": "Field name to sort by"
                    },
                    "sort_direction": {
                        "type": "string",
                        "description": "Sort direction",
                        "enum": [
                            "asc",
                            "desc"
                        ],
                        "default": "desc"
                    }
                },
                "required": [
                    "base_id",
                    "table_name"
                ]
            },
            "body_template": null,
            "parameter_mapping": {
                "base_id": {
                    "target": "path"
                },
                "table_name": {
                    "target": "path"
                },
                "filterByFormula": {
                    "target": "query"
                },
                "maxRecords": {
                    "target": "query"
                },
                "sort_field": {
                    "target": "query",
                    "key": "sort[0][field]"
                },
                "sort_direction": {
                    "target": "query",
                    "key": "sort[0][direction]"
                }
            },
            "response_mapping": null,
            "headers": null,
            "timeout": 30,
            "cache_ttl": 0,
            "retry_count": 0,
            "retry_backoff": "exponential",
            "ssl_verify": true,
            "rate_limit_per_min": 0,
            "status": "active",
            "tags": [],
            "annotations": null,
            "sort_order": 0
        },
        {
            "name": "create_record",
            "slug": "create_record",
            "description": "Create a new record in an Airtable table.",
            "endpoint_url": "https://api.airtable.com/v0/{{base_id}}/{{table_name}}",
            "http_method": "POST",
            "tool_type": "http",
            "handler": "",
            "input_schema": {
                "type": "object",
                "properties": {
                    "base_id": {
                        "type": "string",
                        "description": "Airtable base ID"
                    },
                    "table_name": {
                        "type": "string",
                        "description": "Table name or ID"
                    },
                    "fields": {
                        "type": "object",
                        "description": "Record fields as key-value pairs (e.g. {\"Name\": \"John\", \"Status\": \"Active\"})"
                    }
                },
                "required": [
                    "base_id",
                    "table_name",
                    "fields"
                ]
            },
            "body_template": null,
            "parameter_mapping": {
                "base_id": {
                    "target": "path"
                },
                "table_name": {
                    "target": "path"
                },
                "fields": {
                    "target": "body"
                }
            },
            "response_mapping": null,
            "headers": {
                "Content-Type": "application/json"
            },
            "timeout": 30,
            "cache_ttl": 0,
            "retry_count": 0,
            "retry_backoff": "exponential",
            "ssl_verify": true,
            "rate_limit_per_min": 0,
            "status": "active",
            "tags": [],
            "annotations": null,
            "sort_order": 1
        },
        {
            "name": "update_record",
            "slug": "update_record",
            "description": "Update fields on an existing Airtable record.",
            "endpoint_url": "https://api.airtable.com/v0/{{base_id}}/{{table_name}}/{{record_id}}",
            "http_method": "PATCH",
            "tool_type": "http",
            "handler": "",
            "input_schema": {
                "type": "object",
                "properties": {
                    "base_id": {
                        "type": "string",
                        "description": "Airtable base ID"
                    },
                    "table_name": {
                        "type": "string",
                        "description": "Table name or ID"
                    },
                    "record_id": {
                        "type": "string",
                        "description": "Record ID (starts with \"rec\")"
                    },
                    "fields": {
                        "type": "object",
                        "description": "Fields to update as key-value pairs"
                    }
                },
                "required": [
                    "base_id",
                    "table_name",
                    "record_id",
                    "fields"
                ]
            },
            "body_template": null,
            "parameter_mapping": {
                "base_id": {
                    "target": "path"
                },
                "table_name": {
                    "target": "path"
                },
                "record_id": {
                    "target": "path"
                },
                "fields": {
                    "target": "body"
                }
            },
            "response_mapping": null,
            "headers": {
                "Content-Type": "application/json"
            },
            "timeout": 30,
            "cache_ttl": 0,
            "retry_count": 0,
            "retry_backoff": "exponential",
            "ssl_verify": true,
            "rate_limit_per_min": 0,
            "status": "active",
            "tags": [],
            "annotations": null,
            "sort_order": 2
        }
    ],
    "resources": [],
    "prompts": [],
    "excluded": {
        "fields": [
            "auth_credentials",
            "outbound_auth_credentials",
            "test_auth_credentials"
        ],
        "reason": "Stored credentials are encrypted with a key unique to the site that saved them, so they cannot be restored elsewhere. Re-enter them after importing."
    }
}
