{
  "id": "PC34zn93Tjcxxnnk",
  "meta": null,
  "name": "AWS Cost and Usage Report Service MCP Server",
  "tags": [],
  "nodes": [
    {
      "id": "86a5f931-a4e4-4cf6-84b6-280671e6dbfb",
      "name": "Setup Instructions",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1380,
        -240
      ],
      "parameters": {
        "color": 4,
        "height": 1060,
        "content": "### \u2699\ufe0f Setup Instructions\n\n1. **Import Workflow**: \nLoad this workflow into your n8n instance\n\n2. **Configure Authentication**: \nSet up apiKey credentials\n   - Type: API Key in header\n   - Key name: Authorization\n\n3. **Activate Workflow**:\nEnable the workflow to start the MCP server\n\n4. **Get MCP URL**: \nCopy the webhook URL from the MCP trigger\n\n5. **Connect AI Agent**:\nUse the MCP URL in your AI agent configuration\n\n\n### \ud83d\udca1 Usage Notes\n\u2022 Parameters are auto-populated by AI using $fromAI() expressions\n\u2022 With 4 API endpoints available as tools\n\u2022 Responses maintain original API structure\n\n\n### \ud83d\udee0\ufe0f Customization\n\u2022 Add data transformation nodes if needed\n\u2022 Implement custom error handling\n\u2022 Add logging or monitoring nodes\n\n\u2022 Modify parameter defaults in any HTTP request node as needed\n\n### \ud83d\udcac Need Help?\nPing me on [discord](https://discord.me/cfomodz) for integration guidance and custom automations. Check the [n8n documentation](https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolmcp/) for more information."
      },
      "typeVersion": 1
    },
    {
      "id": "9324c2d7-d72a-4dc2-99ca-f8c8c79e69e9",
      "name": "Workflow Overview",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1120,
        -100
      ],
      "parameters": {
        "width": 320,
        "height": 920,
        "content": "## \ud83d\udee0\ufe0f AWS Cost and Usage Report Service MCP Server \u2705 4 operations\n\n### About\nThe AWS Cost and Usage Report API enables you to programmatically create, query, and delete AWS Cost and Usage report definitions. AWS Cost and Usage reports track the monthly AWS costs and usage associated with your AWS account. The report contains line items for each unique combination of AWS product, usage type, and operation that your AWS account uses. You can configure the AWS Cost and Usage report to show only the data that you want, using the AWS Cost and Usage API. Service Endpoint The AWS Cost and Usage Report API provides the following endpoint: cur.us-east-1.amazonaws.com\n\n### \ud83d\udd27 How it Works\n\nThis workflow converts the AWS Cost and Usage Report Service API into an MCP-compatible interface for AI agents.\n\n\u2022 **MCP Trigger**: Serves as your server endpoint for AI agent requests\n\u2022 **HTTP Request Nodes**: Handle API calls to http://cur.{region}.amazonaws.com\n\u2022 **AI Expressions**: Automatically populate parameters via `$fromAI()` placeholders\n\u2022 **Native Integration**: Returns responses directly to the AI agent\n"
      },
      "typeVersion": 1
    },
    {
      "id": "6da3d323-bc86-4e2b-aa87-b623fbd3c71a",
      "name": "AWS Cost and Usage Report Service MCP Server",
      "type": "@n8n/n8n-nodes-langchain.mcpTrigger",
      "position": [
        -940,
        -240
      ],
      "parameters": {
        "path": "aws-cost-and-usage-report-service-mcp"
      },
      "typeVersion": 1
    },
    {
      "id": "e26fd347-1ec3-4545-9e62-14911c1d193b",
      "name": "Deletes the specified report.",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -400,
        -200
      ],
      "parameters": {
        "url": "=http://cur.{region}.amazonaws.com/#X-Amz-Target=AWSOrigamiServiceGatewayService.DeleteReportDefinition",
        "method": "POST",
        "options": {},
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "toolDescription": "Deletes the specified report.\n\nParameters:\n- Header parameters:\n  \u2022 X-Amz-Target (required)",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Amz-Target",
              "value": "={{ $fromAI('X-Amz-Target', 'X Amz Target', 'string') }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "4f320e5a-d034-40a2-900e-c2b0c9357d08",
      "name": "Grid Note 1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -500,
        -260
      ],
      "parameters": {
        "color": 7,
        "height": 220,
        "content": "### Delete Report Definition"
      },
      "typeVersion": 1
    },
    {
      "id": "41668414-f5bd-4886-9ae6-413626fde12c",
      "name": "Lists the AWS Cost and Usage reports available to ",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -120,
        -200
      ],
      "parameters": {
        "url": "=http://cur.{region}.amazonaws.com/#X-Amz-Target=AWSOrigamiServiceGatewayService.DescribeReportDefinitions",
        "method": "POST",
        "options": {},
        "sendQuery": true,
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "MaxResults",
              "value": "={{ $fromAI('MaxResults', 'Pagination limit', 'string') }}"
            },
            {
              "name": "NextToken",
              "value": "={{ $fromAI('NextToken', 'Pagination token', 'string') }}"
            }
          ]
        },
        "toolDescription": "Lists the AWS Cost and Usage reports available to this account.\n\nParameters:\n- Query parameters:\n  \u2022 MaxResults (optional) - Pagination limit\n  \u2022 NextToken (optional) - Pagination token\n- Header parameters:\n  \u2022 X-Amz-Target (required)",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Amz-Target",
              "value": "={{ $fromAI('X-Amz-Target', 'X Amz Target', 'string') }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "bda5d18e-0082-4221-a962-55450edff0cc",
      "name": "Grid Note 2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -220,
        -260
      ],
      "parameters": {
        "color": 7,
        "height": 220,
        "content": "### Describe Report Definitions"
      },
      "typeVersion": 1
    },
    {
      "id": "446e80a2-fc90-43aa-8f55-484cdf9733a4",
      "name": "Allows you to programatically update your report p",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        160,
        -200
      ],
      "parameters": {
        "url": "=http://cur.{region}.amazonaws.com/#X-Amz-Target=AWSOrigamiServiceGatewayService.ModifyReportDefinition",
        "method": "POST",
        "options": {},
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "toolDescription": "Allows you to programatically update your report preferences.\n\nParameters:\n- Header parameters:\n  \u2022 X-Amz-Target (required)",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Amz-Target",
              "value": "={{ $fromAI('X-Amz-Target', 'X Amz Target', 'string') }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "165854b7-f680-49a5-8192-25d4c4d25d63",
      "name": "Grid Note 3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        60,
        -260
      ],
      "parameters": {
        "color": 7,
        "height": 220,
        "content": "### Modify Report Definition"
      },
      "typeVersion": 1
    },
    {
      "id": "47091cfc-9c64-43d7-abe4-d0e6bbd98a1f",
      "name": "Creates a new report using the description that yo",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        440,
        -200
      ],
      "parameters": {
        "url": "=http://cur.{region}.amazonaws.com/#X-Amz-Target=AWSOrigamiServiceGatewayService.PutReportDefinition",
        "method": "POST",
        "options": {},
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "toolDescription": "Creates a new report using the description that you provide.\n\nParameters:\n- Header parameters:\n  \u2022 X-Amz-Target (required)",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Amz-Target",
              "value": "={{ $fromAI('X-Amz-Target', 'X Amz Target', 'string') }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "4e966520-2d39-442e-ad7e-bdc249d3b313",
      "name": "Grid Note 4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        320,
        -260
      ],
      "parameters": {
        "color": 7,
        "width": 280,
        "height": 220,
        "content": "## Put Report Definition"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "shared": [
    {
      "role": "workflow:owner",
      "project": {
        "id": "G5fce9xGuBAsWBXe",
        "icon": null,
        "name": "David Ashby <david.ashby.lds@gmail.com>",
        "type": "personal",
        "createdAt": "2025-06-04T02:55:02.013Z",
        "updatedAt": "2025-06-04T02:56:01.361Z",
        "projectRelations": [
          {
            "role": "project:personalOwner",
            "user": {
              "id": "715c1c00-cb48-4712-9a32-f1f4b6db2b30",
              "role": "global:owner",
              "email": "david.ashby.lds@gmail.com",
              "disabled": false,
              "lastName": "Ashby",
              "settings": {
                "npsSurvey": {
                  "responded": true,
                  "lastShownAt": 1749357655581
                },
                "userActivated": true,
                "userActivatedAt": 1749075994495,
                "easyAIWorkflowOnboarded": true,
                "firstSuccessfulWorkflowId": "3N3vVikZb3MckFYm"
              },
              "createdAt": "2025-06-04T02:55:01.745Z",
              "firstName": "David",
              "isPending": false,
              "updatedAt": "2025-06-08T04:40:58.399Z",
              "mfaEnabled": false,
              "personalizationAnswers": {
                "version": "v4",
                "personalization_survey_n8n_version": "1.95.3",
                "personalization_survey_submitted_at": "2025-06-04T02:56:07.075Z"
              }
            },
            "userId": "715c1c00-cb48-4712-9a32-f1f4b6db2b30",
            "createdAt": "2025-06-04T02:55:02.013Z",
            "projectId": "G5fce9xGuBAsWBXe",
            "updatedAt": "2025-06-04T02:55:02.013Z"
          }
        ]
      },
      "createdAt": "2025-07-01T05:03:00.792Z",
      "projectId": "G5fce9xGuBAsWBXe",
      "updatedAt": "2025-07-01T05:03:00.792Z",
      "workflowId": "PC34zn93Tjcxxnnk"
    }
  ],
  "settings": {
    "timezone": "America/New_York"
  },
  "createdAt": "2025-07-01T05:03:00.789Z",
  "updatedAt": "2025-07-01T05:03:30.000Z",
  "versionId": "d9d701ef-7c2d-457f-9edb-1038f00432c4",
  "isArchived": false,
  "staticData": null,
  "connections": {
    "Deletes the specified report.": {
      "ai_tool": [
        [
          {
            "node": "AWS Cost and Usage Report Service MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Allows you to programatically update your report p": {
      "ai_tool": [
        [
          {
            "node": "AWS Cost and Usage Report Service MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Creates a new report using the description that yo": {
      "ai_tool": [
        [
          {
            "node": "AWS Cost and Usage Report Service MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Lists the AWS Cost and Usage reports available to ": {
      "ai_tool": [
        [
          {
            "node": "AWS Cost and Usage Report Service MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  },
  "triggerCount": 0
}