{
  "workflow": {
    "id": 5502,
    "name": "Aws cost & usage report management for AI agents",
    "views": 1019,
    "recentViews": 0,
    "totalViews": 1019,
    "createdAt": "2025-07-01T05:03:43.730Z",
    "description": "Complete MCP server exposing 4 AWS Cost and Usage Report Service API operations to AI agents.\n\n## ⚡ Quick Setup\n\nNeed help? Want access to more workflows and even live Q&A sessions with a top verified n8n creator.. All 100% free?\n\n[Join the community](https://www.skool.com/n8n-nodes-automation-lab-1570/about)\n\n1. **Import** this workflow into your n8n instance\n2. **Credentials** Add AWS Cost and Usage Report Service credentials\n3. **Activate** the workflow to start your MCP server\n4. **Copy** the webhook URL from the MCP trigger node\n5. **Connect** AI agents using the MCP URL\n\n## 🔧 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• **MCP Trigger**: Serves as your server endpoint for AI agent requests\n• **HTTP Request Nodes**: Handle API calls to http://cur.{region}.amazonaws.com\n• **AI Expressions**: Automatically populate parameters via `$fromAI()` placeholders\n• **Native Integration**: Returns responses directly to the AI agent\n\n## 📋 Available Operations (4 total)\n\n### 🔧 #X-Amz-Target=Awsorigamiservicegatewayservice.Deletereportdefinition (1 endpoints)\n\n• **POST /#X-Amz-Target=AWSOrigamiServiceGatewayService.DeleteReportDefinition**: Deletes the specified report.\n\n### 🔧 #X-Amz-Target=Awsorigamiservicegatewayservice.Describereportdefinitions (1 endpoints)\n\n• **POST /#X-Amz-Target=AWSOrigamiServiceGatewayService.DescribeReportDefinitions**: Lists the AWS Cost and Usage reports available to this account.\n\n### 🔧 #X-Amz-Target=Awsorigamiservicegatewayservice.Modifyreportdefinition (1 endpoints)\n\n• **POST /#X-Amz-Target=AWSOrigamiServiceGatewayService.ModifyReportDefinition**: Allows you to programatically update your report preferences.\n\n### 🔧 #X-Amz-Target=Awsorigamiservicegatewayservice.Putreportdefinition (1 endpoints)\n\n• **POST /#X-Amz-Target=AWSOrigamiServiceGatewayService.PutReportDefinition**: Creates a new report using the description that you provide.\n\n## 🤖 AI Integration\n\n**Parameter Handling**: AI agents automatically provide values for:\n• Path parameters and identifiers\n• Query parameters and filters\n• Request body data\n• Headers and authentication\n\n**Response Format**: Native AWS Cost and Usage Report Service API responses with full data structure\n\n**Error Handling**: Built-in n8n HTTP request error management\n\n## 💡 Usage Examples\n\nConnect this MCP server to any AI agent or workflow:\n\n• **Claude Desktop**: Add MCP server URL to configuration\n• **Cursor**: Add MCP server SSE URL to configuration\n• **Custom AI Apps**: Use MCP URL as tool endpoint\n• **API Integration**: Direct HTTP calls to MCP endpoints\n\n## ✨ Benefits\n\n• **Zero Setup**: No parameter mapping or configuration needed\n• **AI-Ready**: Built-in `$fromAI()` expressions for all parameters\n• **Production Ready**: Native n8n HTTP request handling and logging\n• **Extensible**: Easily modify or add custom logic\n\n&gt; 🆓 **[Free for community use](https://github.com/Cfomodz/community-use)!** Ready to deploy in under 2 minutes.",
    "workflow": {
      "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": "### ⚙️ 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### 💡 Usage Notes\n• Parameters are auto-populated by AI using $fromAI() expressions\n• With 4 API endpoints available as tools\n• Responses maintain original API structure\n\n\n### 🛠️ Customization\n• Add data transformation nodes if needed\n• Implement custom error handling\n• Add logging or monitoring nodes\n\n• Modify parameter defaults in any HTTP request node as needed\n\n### 💬 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": "## 🛠️ AWS Cost and Usage Report Service MCP Server ✅ 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### 🔧 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• **MCP Trigger**: Serves as your server endpoint for AI agent requests\n• **HTTP Request Nodes**: Handle API calls to http://cur.{region}.amazonaws.com\n• **AI Expressions**: Automatically populate parameters via `$fromAI()` placeholders\n• **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
          ],
          "webhookId": "ae940a41-a1bf-4d76-8150-9258788ffce6",
          "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  • 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  • MaxResults (optional) - Pagination limit\n  • NextToken (optional) - Pagination token\n- Header parameters:\n  • 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  • 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  • 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"
        }
      ],
      "pinData": {},
      "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
    },
    "lastUpdatedBy": 29,
    "workflowInfo": {
      "nodeCount": 11,
      "nodeTypes": {
        "n8n-nodes-base.stickyNote": {
          "count": 6
        },
        "n8n-nodes-base.httpRequestTool": {
          "count": 4
        },
        "@n8n/n8n-nodes-langchain.mcpTrigger": {
          "count": 1
        }
      }
    },
    "status": "published",
    "user": {
      "name": "David Ashby",
      "username": "cfomodz",
      "bio": "Unlimited Access to my paid workflows 👇 For the cost of one a month",
      "verified": true,
      "links": [
        "https://www.skool.com/n8n-automation-lab"
      ],
      "avatar": "https://gravatar.com/avatar/0118796cfdab829a3307d407dfeeb01a3952eb402584a45a211e4ef7d15edbbf?r=pg&d=retro&size=200"
    },
    "nodes": [
      {
        "id": 565,
        "icon": "fa:sticky-note",
        "name": "n8n-nodes-base.stickyNote",
        "codex": {
          "data": {
            "alias": [
              "Comments",
              "Notes",
              "Sticky"
            ],
            "categories": [
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "Core Nodes": [
                "Helpers"
              ]
            }
          }
        },
        "group": "[\"input\"]",
        "defaults": {
          "name": "Sticky Note",
          "color": "#FFD233"
        },
        "iconData": {
          "icon": "sticky-note",
          "type": "icon"
        },
        "displayName": "Sticky Note",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 9,
            "name": "Core Nodes"
          }
        ]
      },
      {
        "id": 1293,
        "icon": "file:../mcp.svg",
        "name": "@n8n/n8n-nodes-langchain.mcpTrigger",
        "codex": {
          "data": {
            "alias": [
              "Model Context Protocol",
              "MCP Server"
            ],
            "resources": {
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-langchain.mcptrigger/"
                }
              ]
            },
            "categories": [
              "AI",
              "Core Nodes",
              "Langchain"
            ],
            "subcategories": {
              "AI": [
                "Root Nodes",
                "Model Context Protocol"
              ],
              "Core Nodes": [
                "Other Trigger Nodes"
              ]
            }
          }
        },
        "group": "[\"trigger\"]",
        "defaults": {
          "name": "MCP Server Trigger"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCIgdmlld0JveD0iMCAwIDE5NSAxOTUiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+Cgk8ZyBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+CgkJPHBhdGggZD0iTTI1IDk3Ljg1MjhMOTIuODgyMyAyOS45NzA2QzEwMi4yNTUgMjAuNTk4IDExNy40NTEgMjAuNTk4IDEyNi44MjMgMjkuOTcwNlYyOS45NzA2QzEzNi4xOTYgMzkuMzQzMSAxMzYuMTk2IDU0LjUzOTEgMTI2LjgyMyA2My45MTE3TDc1LjU1ODEgMTE1LjE3NyIvPgoJCTxwYXRoIGQ9Ik03Ni4yNjUzIDExNC40N0wxMjYuODIzIDYzLjkxMTdDMTM2LjE5NiA1NC41MzkxIDE1MS4zOTIgNTQuNTM5MSAxNjAuNzY1IDYzLjkxMTdMMTYxLjExOCA2NC4yNjUyQzE3MC40OTEgNzMuNjM3OCAxNzAuNDkxIDg4LjgzMzggMTYxLjExOCA5OC4yMDYzTDk5LjcyNDggMTU5LjZDOTYuNjAwNiAxNjIuNzI0IDk2LjYwMDYgMTY3Ljc4OSA5OS43MjQ4IDE3MC45MTNMMTEyLjMzMSAxODMuNTIiLz4KCQk8cGF0aCBkPSJNMTA5Ljg1MyA0Ni45NDExTDU5LjY0ODIgOTcuMTQ1N0M1MC4yNzU3IDEwNi41MTggNTAuMjc1NyAxMjEuNzE0IDU5LjY0ODIgMTMxLjA4N1YxMzEuMDg3QzY5LjAyMDggMTQwLjQ1OSA4NC4yMTY4IDE0MC40NTkgOTMuNTg5NCAxMzEuMDg3TDE0My43OTQgODAuODgyMiIvPgoJPC9nPgo8L3N2Zz4K"
        },
        "displayName": "MCP Server Trigger",
        "typeVersion": 2,
        "nodeCategories": [
          {
            "id": 9,
            "name": "Core Nodes"
          },
          {
            "id": 25,
            "name": "AI"
          },
          {
            "id": 26,
            "name": "Langchain"
          }
        ]
      }
    ],
    "categories": [
      {
        "id": 16,
        "name": "DevOps"
      },
      {
        "id": 48,
        "name": "AI RAG"
      }
    ],
    "image": []
  }
}