[{"data":1,"prerenderedAt":385},["ShallowReactive",2],{"docs-navigation-en-developer":3,"docs-sections-en":66,"docs-/en/developer/mcp/troubleshooting":78},[4,9,13,33,51],{"title":5,"path":6,"stem":7,"icon":8,"children":-1},"Overview","/docs/developer","en/3.developer/0.index","tabler:layout",{"title":10,"path":11,"stem":12,"children":-1},"Handlebars","/docs/developer/handlebars","en/3.developer/1.handlebars",{"title":14,"toc":15,"icon":16,"path":17,"stem":18,"children":19,"page":32},"Plugins",true,"tabler:packages","/docs/developer/plugins","en/3.developer/3.plugins",[20,24,28],{"title":21,"path":22,"stem":23,"children":-1},"First Steps","/docs/developer/plugins/first-steps","en/3.developer/3.plugins/first-steps",{"title":25,"path":26,"stem":27,"children":-1},"Plugin-CLI","/docs/developer/plugins/plugin-cli","en/3.developer/3.plugins/plugin-cli",{"title":29,"path":30,"stem":31,"children":-1},"Setting Up Your Development Environment","/docs/developer/plugins/setup","en/3.developer/3.plugins/setup",false,{"title":34,"icon":35,"path":36,"stem":37,"children":38,"page":32},"API","tabler:code","/docs/developer/api","en/3.developer/4.api",[39,43,47],{"title":40,"path":41,"stem":42,"children":-1},"API Endpoints","/docs/developer/api/api-endpoints","en/3.developer/4.api/api-endpoints",{"title":44,"path":45,"stem":46,"children":-1},"Property-Types","/docs/developer/api/components","en/3.developer/4.api/components",{"title":48,"path":49,"stem":50,"children":-1},"Image-scaling","/docs/developer/api/image-scaling","en/3.developer/4.api/image-scaling",{"title":52,"path":53,"stem":54,"children":55,"icon":65},"MCP","/docs/developer/mcp","en/3.developer/5.mcp/index",[56,57,61],{"title":52,"path":53,"stem":54,"children":-1},{"title":58,"path":59,"stem":60,"children":-1},"Tools Reference","/docs/developer/mcp/tools","en/3.developer/5.mcp/tools",{"title":62,"path":63,"stem":64,"children":-1},"Troubleshooting","/docs/developer/mcp/troubleshooting","en/3.developer/5.mcp/troubleshooting","tabler:robot",[67,70,73,76],{"label":68,"to":69,"active":32},"Get Started","/docs/get-started",{"label":71,"to":72,"active":32},"Guides","/docs/guides",{"label":74,"to":75,"active":32},"Resources","/docs/resources",{"label":77,"to":6,"active":15},"Developers",{"id":79,"title":62,"body":80,"description":378,"extension":379,"icon":380,"meta":381,"navigation":15,"next":380,"order":380,"path":382,"seo":383,"soon":32,"stem":64,"__hash__":384},"docs/en/3.developer/5.mcp/troubleshooting.md",{"type":81,"value":82,"toc":373},"minimark",[83,92,97,364],[84,85,86,87,91],"p",{},"Most problems when building content through the ",[88,89,90],"a",{"href":59},"MCP tools","\ncome from a handful of recurring mistakes. This page lists the ones that actually\nbite, each with its fix.",[93,94,96],"h2",{"id":95},"gotchas","Gotchas",[98,99,100,113],"table",{},[101,102,103],"thead",{},[104,105,106,110],"tr",{},[107,108,109],"th",{},"Symptom",[107,111,112],{},"Fix",[114,115,116,137,169,183,204,234,266,294,312,330,351],"tbody",{},[104,117,118,125],{},[119,120,121],"td",{},[122,123,124],"strong",{},"Build is slow",[119,126,127,128,132,133,136],{},"You're uploading and converting images, or creating an empty page and then updating it. Attach images inline with a ",[129,130,131],"code",{},"sourceUrl"," ingest and send a single ",[129,134,135],{},"page_create"," carrying all elements.",[104,138,139,147],{},[119,140,141],{},[122,142,143,146],{},[129,144,145],{},"imgBroken > 0"," after ingest",[119,148,149,150,152,153,156,157,160,161,164,165,168],{},"The ",[129,151,131],{}," is wrong or unreachable, or you passed an ",[129,154,155],{},"f_cover","-style option. Check the URL is fetchable, and remember ",[129,158,159],{},"f_"," sets the ",[88,162,163],{"href":49},"format"," only, never the fit — use CSS ",[129,166,167],{},"object-fit: cover"," for cropping.",[104,170,171,176],{},[119,172,173],{},[122,174,175],{},"Blank page after building",[119,177,178,179,182],{},"Create the page with ",[129,180,181],{},"renderMode: \"dynamic\"",". A page that was prerendered while it was still empty stays blank.",[104,184,185,193],{},[119,186,187],{},[122,188,189,192],{},[129,190,191],{},"{{ relations.image }}"," renders nothing",[119,194,195,196,199,200,203],{},"Bind the relation first, then pass the bound file to ",[129,197,198],{},"image_path",": ",[129,201,202],{},"{{#if relations.image as file}}\u003Cimg src=\"{{ image_path(file, \"w_900,f_webp\") }}\">{{/if}}",".",[104,205,206,217],{},[119,207,208],{},[122,209,210,213,214],{},[129,211,212],{},"file_upload_multipart"," returns ",[129,215,216],{},"failedIndices",[119,218,219,220,222,223,226,227,229,230,233],{},"This path is only for local-only images (no ",[129,221,131],{},"). Resend only the failed parts; ",[129,224,225],{},"-strip"," the image and keep parts ≤ ~1.5 KB so they pass first try. Prefer ",[129,228,131],{}," on ",[129,231,232],{},"file_upload"," whenever the image is reachable by URL.",[104,235,236,244],{},[119,237,238],{},[122,239,240,241],{},"Builder rows read as ",[129,242,243],{},"item.title",[119,245,246,247,250,251,254,255,258,259,262,263,203],{},"Row values live under ",[129,248,249],{},"item.data.title"," — each row is ",[129,252,253],{},"{ id, data: { … } }",". In the property definition the row-template's ",[129,256,257],{},"data"," and ",[129,260,261],{},"defaultValue"," must be ",[129,264,265],{},"\"\"",[104,267,268,273],{},[119,269,270],{},[122,271,272],{},"Duplicated elements on update",[119,274,275,276,258,279,282,283,286,287,290,291,203],{},"Resend both ",[129,277,278],{},"id",[129,280,281],{},"tempId"," on every element, including existing ones. To remove an element, drop it from ",[129,284,285],{},"elements"," ",[122,288,289],{},"and"," add its numeric id to ",[129,292,293],{},"deletedElements",[104,295,296,301],{},[119,297,298],{},[122,299,300],{},"A bare icon name doesn't render",[119,302,303,304,307,308,311],{},"Prefix it with ",[129,305,306],{},"tabler:"," (e.g. ",[129,309,310],{},"tabler:calendar","). A bare word does not resolve.",[104,313,314,319],{},[119,315,316],{},[122,317,318],{},"Nav / Footer (or styles) render twice",[119,320,321,322,258,326,329],{},"They live in both the ",[88,323,325],{"href":324},"/docs/resources/layouts","layout",[129,327,328],{},"page.elements",". Shared components belong in the layout only; the page carries just its own section elements.",[104,331,332,337],{},[119,333,334],{},[122,335,336],{},"Layout renders but page content is missing",[119,338,339,340,343,344,347,348,203],{},"The layout is missing the ",[129,341,342],{},"PageContent"," element (or ",[129,345,346],{},"{{ render_elements(page.layout.elements) }}"," in its template), or the page has no ",[129,349,350],{},"layoutId",[104,352,353,361],{},[119,354,355],{},[122,356,357,360],{},[129,358,359],{},"layout_create"," returns a DB error",[119,362,363],{},"The instance has no layout table. Use the no-layout fallback: put Nav/Footer, global styles and site scripts as page elements, and font links in the page template.",[365,366,367],"tip",{},[84,368,369,370,372],{},"Many of these are covered in more depth in the ",[88,371,58],{"href":59},"\ncallouts — check there for the exact payload shapes.",{"title":374,"searchDepth":375,"depth":375,"links":376},"",2,[377],{"id":95,"depth":375,"text":96},"Common gotchas when building content with the MCP tools, and how to fix them","md",null,{},"/en/developer/mcp/troubleshooting",{"title":62,"description":378},"XSeiwhUJc0Jq3EA0pzeMalbPZ0hzcfCre_FitE6AVTQ",1789740399256]