{"id":"kS9EfgZeaK3QV6Mw","meta":{"instanceId":"workflow-43fbc197","versionId":"1.0.0","createdAt":"2025-09-29T07:07:55.112491","updatedAt":"2025-09-29T07:07:55.112506","owner":"n8n-user","license":"MIT","category":"automation","status":"active","priority":"high","environment":"production"},"name":"Build an MCP server with Airtable","nodes":[{"id":"trigger-6aa5d43b","name":"Manual Trigger","type":"n8n-nodes-base.manualTrigger","typeVersion":1,"position":[100,100],"parameters":{}},{"id":"357649f0-43c5-4d6c-97b9-079fa3b5c1f3","name":"When chat message received","type":"n8n-nodes-base.noOp","position":[-100,-80],"webhookId":"c42d1e2e-b175-48cf-bfd4-aa8289266a20","parameters":{"options":{}},"typeVersion":1,"notes":"This chatTrigger node performs automated tasks as part of the workflow."},{"id":"ddf28f88-d76c-4ab6-82c4-c1ab1b746009","name":"AI Agent","type":"n8n-nodes-base.noOp","position":[152,-180],"parameters":{"options":{}},"typeVersion":1,"notes":"This agent node performs automated tasks as part of the workflow."},{"id":"3170d4fd-700c-4449-a800-0395c06711aa","name":"Simple Memory","type":"n8n-nodes-base.noOp","position":[260,40],"parameters":{},"typeVersion":1,"notes":"This memoryBufferWindow node performs automated tasks as part of the workflow."},{"id":"557b0e0a-133b-4e80-afba-408803ed9898","name":"Airtable MCP Client","type":"n8n-nodes-base.noOp","position":[600,100],"parameters":{"sseEndpoint":"{{ $env.WEBHOOK_URL }}"},"typeVersion":1,"notes":"This mcpClientTool node performs automated tasks as part of the workflow."},{"id":"a0bc9aa3-decb-42f1-bee4-b9e425db81e8","name":"OpenAI Chat Model","type":"n8n-nodes-base.noOp","position":[80,40],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-4o","cachedResultName":"gpt-4o"},"options":{}},"credentials":{"openAiApi":{"id":"vupAk5StuhOafQcb","name":"OpenAi account"}},"typeVersion":1,"notes":"This lmChatOpenAi node performs automated tasks as part of the workflow."},{"id":"7737e491-ddd4-4e4f-a34d-73f518497990","name":"MCP Server Trigger","type":"n8n-nodes-base.noOp","position":[140,240],"webhookId":"a93f35fb-3a86-4475-9ebd-1434aef8e433","parameters":{"path":"insert-your-cool-path-here"},"typeVersion":1,"notes":"This mcpTrigger node performs automated tasks as part of the workflow."},{"id":"0ce9e128-be31-41d8-ae06-894316781358","name":"Get","type":"n8n-nodes-base.airtableTool","position":[0,460],"parameters":{"id":"={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Record_ID', ``, 'string') }}","base":{"__rl":true,"mode":"list","value":"appltMFy409fOqCVt","cachedResultUrl":"{{ $env.WEBHOOK_URL }}","cachedResultName":"AI news and social posts"},"table":{"__rl":true,"mode":"list","value":"tblZwA0JCNPeORaGi","cachedResultUrl":"{{ $env.WEBHOOK_URL }}","cachedResultName":"Social Posts"},"options":{}},"credentials":{"airtableTokenApi":{"id":"4hNTBxRPe8ft4Iic","name":"Airtable Personal Access Token account"}},"typeVersion":2.1,"notes":"This airtableTool node performs automated tasks as part of the workflow."},{"id":"1f9c6a61-9357-4fa1-81e0-42719284d291","name":"Search","type":"n8n-nodes-base.airtableTool","position":[140,460],"parameters":{"base":{"__rl":true,"mode":"list","value":"appltMFy409fOqCVt","cachedResultUrl":"{{ $env.WEBHOOK_URL }}","cachedResultName":"AI news and social posts"},"table":{"__rl":true,"mode":"list","value":"tblZwA0JCNPeORaGi","cachedResultUrl":"{{ $env.WEBHOOK_URL }}","cachedResultName":"Social Posts"},"options":{},"operation":"search","returnAll":"={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Return_All', ``, 'boolean') }}","filterByFormula":"={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Filter_By_Formula', ``, 'string') }}"},"credentials":{"airtableTokenApi":{"id":"4hNTBxRPe8ft4Iic","name":"Airtable Personal Access Token account"}},"typeVersion":2.1,"notes":"This airtableTool node performs automated tasks as part of the workflow."},{"id":"061a0eb9-26de-47f1-b444-5dd98c984d70","name":"Update","type":"n8n-nodes-base.airtableTool","position":[260,460],"parameters":{"base":{"__rl":true,"mode":"list","value":"appltMFy409fOqCVt","cachedResultUrl":"{{ $env.WEBHOOK_URL }}","cachedResultName":"AI news and social posts"},"table":{"__rl":true,"mode":"list","value":"tblZwA0JCNPeORaGi","cachedResultUrl":"{{ $env.WEBHOOK_URL }}","cachedResultName":"Social Posts"},"columns":{"value":{},"schema":[{"id":"id","type":"string","display":true,"removed":false,"readOnly":true,"required":false,"displayName":"id","defaultMatch":true},{"id":"sourceHeadline","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"sourceHeadline","defaultMatch":false,"canBeUsedToMatch":true},{"id":"sourceSummary","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"sourceSummary","defaultMatch":false,"canBeUsedToMatch":true},{"id":"goToArticle","type":"string","display":true,"removed":true,"readOnly":true,"required":false,"displayName":"goToArticle","defaultMatch":false,"canBeUsedToMatch":true},{"id":"sourceURL","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"sourceURL","defaultMatch":false,"canBeUsedToMatch":true},{"id":"socialChannels","type":"array","display":true,"options":[{"name":"Twitter","value":"Twitter"},{"name":"LinkedIn","value":"LinkedIn"},{"name":"Blog","value":"Blog"},{"name":"Instagram","value":"Instagram"},{"name":"Facebook","value":"Facebook"}],"removed":false,"readOnly":false,"required":false,"displayName":"socialChannels","defaultMatch":false,"canBeUsedToMatch":true},{"id":"needsImage?","type":"options","display":true,"options":[{"name":"Yes","value":"Yes"},{"name":"No","value":"No"}],"removed":false,"readOnly":false,"required":false,"displayName":"needsImage?","defaultMatch":false,"canBeUsedToMatch":true},{"id":"twitterCopy","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"twitterCopy","defaultMatch":false,"canBeUsedToMatch":true},{"id":"linkedinCopy","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"linkedinCopy","defaultMatch":false,"canBeUsedToMatch":true},{"id":"instagramCopy","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"instagramCopy","defaultMatch":false,"canBeUsedToMatch":true},{"id":"facebookCopy","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"facebookCopy","defaultMatch":false,"canBeUsedToMatch":true},{"id":"blogCopy","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"blogCopy","defaultMatch":false,"canBeUsedToMatch":true},{"id":"imagePrompt","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"imagePrompt","defaultMatch":false,"canBeUsedToMatch":true},{"id":"postImage","type":"array","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"postImage","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Status","type":"options","display":true,"options":[{"name":"Waiting for Content","value":"Waiting for Content"},{"name":"Needs Approval","value":"Needs Approval"},{"name":"Approved","value":"Approved"},{"name":"Posted","value":"Posted"}],"removed":false,"readOnly":false,"required":false,"displayName":"Status","defaultMatch":false,"canBeUsedToMatch":true},{"id":"datePosted","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"datePosted","defaultMatch":false,"canBeUsedToMatch":true},{"id":"ID","type":"string","display":true,"removed":true,"readOnly":true,"required":false,"displayName":"ID","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"autoMapInputData","matchingColumns":["id"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"update"},"credentials":{"airtableTokenApi":{"id":"4hNTBxRPe8ft4Iic","name":"Airtable Personal Access Token account"}},"typeVersion":2.1,"notes":"This airtableTool node performs automated tasks as part of the workflow."},{"id":"b0e17724-5a56-4b71-997d-f9f44d16e5bc","name":"Delete","type":"n8n-nodes-base.airtableTool","position":[400,460],"parameters":{"id":"={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Record_ID', ``, 'string') }}","base":{"__rl":true,"mode":"list","value":"appltMFy409fOqCVt","cachedResultUrl":"{{ $env.WEBHOOK_URL }}","cachedResultName":"AI news and social posts"},"table":{"__rl":true,"mode":"list","value":"tblZwA0JCNPeORaGi","cachedResultUrl":"{{ $env.WEBHOOK_URL }}","cachedResultName":"Social Posts"},"operation":"deleteRecord"},"credentials":{"airtableTokenApi":{"id":"4hNTBxRPe8ft4Iic","name":"Airtable Personal Access Token account"}},"typeVersion":2.1,"notes":"This airtableTool node performs automated tasks as part of the workflow."},{"id":"2d0273b6-520b-45b7-8192-a83b10661028","name":"Create","type":"n8n-nodes-base.airtableTool","position":[520,460],"parameters":{"base":{"__rl":true,"mode":"list","value":"appltMFy409fOqCVt","cachedResultUrl":"{{ $env.WEBHOOK_URL }}","cachedResultName":"AI news and social posts"},"table":{"__rl":true,"mode":"list","value":"tblZwA0JCNPeORaGi","cachedResultUrl":"{{ $env.WEBHOOK_URL }}","cachedResultName":"Social Posts"},"columns":{"value":{},"schema":[{"id":"sourceHeadline","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"sourceHeadline","defaultMatch":false,"canBeUsedToMatch":true},{"id":"sourceSummary","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"sourceSummary","defaultMatch":false,"canBeUsedToMatch":true},{"id":"goToArticle","type":"string","display":true,"removed":true,"readOnly":true,"required":false,"displayName":"goToArticle","defaultMatch":false,"canBeUsedToMatch":true},{"id":"sourceURL","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"sourceURL","defaultMatch":false,"canBeUsedToMatch":true},{"id":"socialChannels","type":"array","display":true,"options":[{"name":"Twitter","value":"Twitter"},{"name":"LinkedIn","value":"LinkedIn"},{"name":"Blog","value":"Blog"},{"name":"Instagram","value":"Instagram"},{"name":"Facebook","value":"Facebook"}],"removed":false,"readOnly":false,"required":false,"displayName":"socialChannels","defaultMatch":false,"canBeUsedToMatch":true},{"id":"needsImage?","type":"options","display":true,"options":[{"name":"Yes","value":"Yes"},{"name":"No","value":"No"}],"removed":false,"readOnly":false,"required":false,"displayName":"needsImage?","defaultMatch":false,"canBeUsedToMatch":true},{"id":"twitterCopy","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"twitterCopy","defaultMatch":false,"canBeUsedToMatch":true},{"id":"linkedinCopy","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"linkedinCopy","defaultMatch":false,"canBeUsedToMatch":true},{"id":"instagramCopy","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"instagramCopy","defaultMatch":false,"canBeUsedToMatch":true},{"id":"facebookCopy","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"facebookCopy","defaultMatch":false,"canBeUsedToMatch":true},{"id":"blogCopy","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"blogCopy","defaultMatch":false,"canBeUsedToMatch":true},{"id":"imagePrompt","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"imagePrompt","defaultMatch":false,"canBeUsedToMatch":true},{"id":"postImage","type":"array","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"postImage","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Status","type":"options","display":true,"options":[{"name":"Waiting for Content","value":"Waiting for Content"},{"name":"Needs Approval","value":"Needs Approval"},{"name":"Approved","value":"Approved"},{"name":"Posted","value":"Posted"}],"removed":false,"readOnly":false,"required":false,"displayName":"Status","defaultMatch":false,"canBeUsedToMatch":true},{"id":"datePosted","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"datePosted","defaultMatch":false,"canBeUsedToMatch":true},{"id":"ID","type":"string","display":true,"removed":true,"readOnly":true,"required":false,"displayName":"ID","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"autoMapInputData","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"create"},"credentials":{"airtableTokenApi":{"id":"4hNTBxRPe8ft4Iic","name":"Airtable Personal Access Token account"}},"typeVersion":2.1,"notes":"This airtableTool node performs automated tasks as part of the workflow."},{"id":"69e906cf-82da-45c4-bacc-00970902d1f5","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[480,-60],"parameters":{"width":360,"height":280,"content":"## Update SSE endpoint "},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"819d82c9-da54-48c6-a007-2e8750cfb3e2","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[-520,-220],"parameters":{"width":380,"height":540,"content":"## Talk to your Airtable database \nPoint to your SSE endpoint, update your credentials and talk to your Airtable to:\n\n- Get records\n- Search records\n- Update records\n- Delete records\n- Create records\n\nand more!\n\nThis example showcases basic yet powerful functionality for a table.\n\nFeel free to combine it with other tools, connect a Slack channel as trigger node or another as output to receive the updates for the stakeholders and project owners.\n\nEnjoy!\n\nAitor\n[1 Node]({{ $env.WEBHOOK_URL }}"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"error-1a307010","name":"Error Handler","type":"n8n-nodes-base.stopAndError","typeVersion":1,"position":[1000,400],"parameters":{"message":"Workflow execution error","options":{}}}],"active":false,"settings":{"executionOrder":"v1","saveManualExecutions":true,"callerPolicy":"workflowsFromSameOwner","errorWorkflow":null,"timezone":"UTC","executionTimeout":3600,"maxExecutions":1000,"retryOnFail":true,"retryCount":3,"retryDelay":1000},"versionId":"2355fe0d-0515-4d1b-8a02-42712191f466","connections":{"OpenAI Chat Model":{"main":[[]]}},"description":"Automated workflow: Build an MCP server with Airtable. This workflow integrates 9 different services: stickyNote, agent, mcpClientTool, mcpTrigger, stopAndError. It contains 14 nodes and follows best practices for error handling and security.","notes":"Excellent quality workflow: Build an MCP server with Airtable. This workflow has been optimized for production use with comprehensive error handling, security, and documentation."}