{
  "_comment": "Generated by packages/fabhub-mcp/scripts/generate-manifest.ts (npm run mcp:generate). Do not edit by hand; CI fails on drift.",
  "server": "fabhub-public-api",
  "toolCount": 12,
  "tools": [
    {
      "name": "list_items",
      "description": "List inventory items for the authenticated tenant (GET /v1/items). Requires items:read scope.",
      "scopes": [
        "items:read"
      ],
      "riskLevel": "read_only",
      "requiresConfirmation": false,
      "input": {
        "properties": [
          "page",
          "page_size",
          "search"
        ],
        "required": []
      }
    },
    {
      "name": "get_item",
      "description": "Fetch one inventory item by UUID (GET /v1/items/{item_id}). Requires items:read scope.",
      "scopes": [
        "items:read"
      ],
      "riskLevel": "read_only",
      "requiresConfirmation": false,
      "input": {
        "properties": [
          "item_id"
        ],
        "required": [
          "item_id"
        ]
      }
    },
    {
      "name": "get_organization",
      "description": "Read tenant organization profile metadata (GET /v1/organization). Requires organization:read scope.",
      "scopes": [
        "organization:read"
      ],
      "riskLevel": "read_only",
      "requiresConfirmation": false,
      "input": {
        "properties": [],
        "required": []
      }
    },
    {
      "name": "list_orders",
      "description": "List MRP orders for a module (buy, sell, make, check, fix) via GET /v1/orders. Requires orders:read scope.",
      "scopes": [
        "orders:read"
      ],
      "riskLevel": "read_only",
      "requiresConfirmation": false,
      "input": {
        "properties": [
          "module",
          "page",
          "page_size",
          "search",
          "status"
        ],
        "required": [
          "module"
        ]
      }
    },
    {
      "name": "list_contacts",
      "description": "List customer/supplier contacts (GET /v1/contacts). Requires contacts:read scope.",
      "scopes": [
        "contacts:read"
      ],
      "riskLevel": "read_only",
      "requiresConfirmation": false,
      "input": {
        "properties": [
          "contact_types",
          "page",
          "page_size",
          "search"
        ],
        "required": []
      }
    },
    {
      "name": "get_usage_summary",
      "description": "Read tenant public API usage and rate-limit state (GET /v1/usage). Requires usage:read scope.",
      "scopes": [
        "usage:read"
      ],
      "riskLevel": "read_only",
      "requiresConfirmation": false,
      "input": {
        "properties": [],
        "required": []
      }
    },
    {
      "name": "list_webhooks",
      "description": "List outbound webhook endpoints for the authenticated tenant (GET /v1/webhooks). Requires webhooks:read scope.",
      "scopes": [
        "webhooks:read"
      ],
      "riskLevel": "read_only",
      "requiresConfirmation": false,
      "input": {
        "properties": [],
        "required": []
      }
    },
    {
      "name": "get_webhook",
      "description": "Fetch one outbound webhook endpoint by UUID (GET /v1/webhooks/{webhook_id}). Requires webhooks:read scope.",
      "scopes": [
        "webhooks:read"
      ],
      "riskLevel": "read_only",
      "requiresConfirmation": false,
      "input": {
        "properties": [
          "webhook_id"
        ],
        "required": [
          "webhook_id"
        ]
      }
    },
    {
      "name": "create_webhook",
      "description": "Create an outbound webhook endpoint (POST /v1/webhooks). Requires webhooks:write scope and confirm=true.",
      "scopes": [
        "webhooks:write"
      ],
      "riskLevel": "write",
      "requiresConfirmation": true,
      "input": {
        "properties": [
          "confirm",
          "description",
          "environment",
          "idempotency_key",
          "name",
          "status",
          "subscribed_events",
          "target_url"
        ],
        "required": [
          "confirm",
          "idempotency_key",
          "name",
          "subscribed_events",
          "target_url"
        ]
      }
    },
    {
      "name": "update_webhook",
      "description": "Update an outbound webhook endpoint (PATCH /v1/webhooks/{webhook_id}). Requires webhooks:write scope and confirm=true.",
      "scopes": [
        "webhooks:write"
      ],
      "riskLevel": "write",
      "requiresConfirmation": true,
      "input": {
        "properties": [
          "confirm",
          "description",
          "environment",
          "idempotency_key",
          "name",
          "status",
          "subscribed_events",
          "target_url",
          "webhook_id"
        ],
        "required": [
          "confirm",
          "idempotency_key",
          "webhook_id"
        ]
      }
    },
    {
      "name": "delete_webhook",
      "description": "Delete an outbound webhook endpoint (DELETE /v1/webhooks/{webhook_id}). Requires webhooks:delete scope and confirm_delete=true.",
      "scopes": [
        "webhooks:delete"
      ],
      "riskLevel": "destructive",
      "requiresConfirmation": true,
      "input": {
        "properties": [
          "confirm_delete",
          "webhook_id"
        ],
        "required": [
          "confirm_delete",
          "webhook_id"
        ]
      }
    },
    {
      "name": "list_webhook_deliveries",
      "description": "List delivery attempts for one outbound webhook (GET /v1/webhooks/{webhook_id}/deliveries). Requires webhooks:deliveries:read scope.",
      "scopes": [
        "webhooks:deliveries:read"
      ],
      "riskLevel": "read_only",
      "requiresConfirmation": false,
      "input": {
        "properties": [
          "page",
          "page_size",
          "status",
          "webhook_id"
        ],
        "required": [
          "webhook_id"
        ]
      }
    }
  ]
}
