[{"data":1,"prerenderedAt":1174},["ShallowReactive",2],{"post-how-to-use-freecad-opencode-mcp-it":3,"related-posts-how-to-use-freecad-opencode-mcp-it":1164,"related-categories-how-to-use-freecad-opencode-mcp-it":1173},{"id":4,"title":5,"author":6,"authorImageUrl":7,"authorUrl":8,"body":9,"categorySlug":1131,"categoryText":1132,"dateModified":1133,"datePublished":1133,"description":1134,"extension":1135,"faqs":1136,"image":1152,"language":1153,"meta":1154,"navigation":1155,"path":1156,"seo":1157,"sitemap":1158,"stem":1159,"tags":1160,"__hash__":1163},"blog\u002Fit\u002Fblog\u002Fhow-to-use-freecad-opencode-mcp.md","Come usare FreeCAD con OpenCode e MCP","Bruma","\u002Fimages\u002Fauthors\u002Fbruma.jpg","https:\u002F\u002Fbrumaombra.com",{"type":10,"value":11,"toc":1108},"minimark",[12,17,32,35,38,41,44,55,58,61,65,68,72,83,88,91,97,104,109,112,115,118,122,128,133,141,144,147,150,153,156,160,175,184,187,191,194,196,200,203,206,232,238,252,255,263,266,268,272,284,287,293,303,310,316,319,325,328,333,340,343,347,360,366,381,391,393,397,400,406,412,436,439,458,469,481,487,505,507,511,522,525,531,534,548,709,723,725,729,745,748,757,781,790,796,799,807,809,813,816,822,836,843,847,850,852,856,859,862,868,887,891,894,900,911,914,920,923,925,929,942,945,951,954,960,963,970,972,976,979,982,999,1009,1011,1015,1022,1025,1028,1031,1033,1037,1054,1057,1060,1073,1076,1082,1095,1101,1104],[13,14,16],"h2",{"id":15},"introduzione","Introduzione",[18,19,20,31],"p",{},[21,22,27],"a",{"href":23,"rel":24,"target":26},"https:\u002F\u002Fwww.freecad.org\u002F",[25],"nofollow","_blank",[28,29,30],"strong",{},"FreeCAD"," è senza dubbio una delle applicazioni CAD parametriche più potenti disponibili, ma a volte costruire un modello da zero può richiedere molto lavoro ripetitivo, la ricerca online delle funzionalità e una valanga di annullamenti... davvero tanti!",[18,33,34],{},"Selezioni un ambiente di lavoro, crei un documento, aggiungi schizzi, applichi vincoli, crei funzioni, controlli l'albero e ripeti il processo finché il risultato non è corretto. Un po' scomodo, no?",[18,36,37],{},"Ma cosa succederebbe se potessi descrivere il pezzo che vuoi costruire e lasciare che un coding agent ti aiuti a crearlo dentro FreeCAD, proprio come fai con il codice?",[18,39,40],{},"Sarebbe davvero fantastico, non credi?",[18,42,43],{},"Allora sei decisamente nel posto giusto, perché è esattamente ciò che spiegheremo in questa guida.",[18,45,46,47,54],{},"Questa è l'idea alla base del ",[21,48,51],{"href":49,"rel":50,"target":26},"https:\u002F\u002Fgithub.com\u002Fneka-nat\u002Ffreecad-mcp",[25],[28,52,53],{},"server MCP di FreeCAD",", un progetto open source che permette di collegare FreeCAD a un client AI compatibile con MCP, così possiamo controllarlo direttamente tramite prompt in linguaggio naturale!",[18,56,57],{},"L'obiettivo non è sostituire le conoscenze CAD o accettare alla cieca la geometria generata, ma rendere l'interazione tra persona e macchina più conversazionale e programmabile. Possiamo chiedere all'agente di creare un documento, generare un componente semplice, ispezionare l'albero degli oggetti, modificare una dimensione o spiegare perché una funzione non è riuscita, proprio come faremmo con un essere umano!",[59,60],"hr",{},[13,62,64],{"id":63},"cosa-ci-serve","Cosa ci serve",[18,66,67],{},"Per prima cosa, iniziamo elencando tutto ciò che ci serve per questo piccolo progetto:",[69,70],"blog-list",{":items":71},"[\"Un'installazione recente di FreeCAD.\",\"Python e uv installati, così OpenCode può avviare il server MCP.\",\"OpenCode installato e configurato con un provider AI.\",\"Il repository FreeCAD MCP di neka-nat.\",\"Una conoscenza di base dell'interfaccia di FreeCAD e della modellazione parametrica.\"]",[18,73,74,75,82],{},"La configurazione più semplice per questo progetto consiste nell'eseguire FreeCAD e ",[21,76,79],{"href":77,"rel":78,"target":26},"https:\u002F\u002Fopencode.ai\u002F",[25],[28,80,81],{},"OpenCode"," sulla stessa macchina. In questo modo, il server MCP può usare la connessione locale predefinita e non dobbiamo esporre FreeCAD alla rete o modificare configurazioni complesse.",[84,85,87],"h3",{"id":86},"perché-freecad","Perché FreeCAD",[18,89,90],{},"Va bene, ma perché FreeCAD invece di un'altra soluzione CAD 3D popolare?",[18,92,93,94,96],{},"Ho scelto ",[28,95,30],{}," semplicemente perché è completamente open source e gratuito, senza regole di licenza oscure o strane politiche basate sul numero di dipendenti di un'azienda. Vuoi creare un progetto 3D per te, la tua famiglia o la tua azienda con un milione di dipendenti? Nessun problema, non serve alcuna licenza!",[18,98,99],{},[100,101],"img",{"alt":102,"src":103},"Funzionalità di modellazione 3D parametrica open source di FreeCAD","\u002Fimages\u002Fblog\u002Ffreecad-opencode\u002Ffreecad-infos.png",[18,105,106,108],{},[28,107,30],{}," ci offre tutti gli strumenti necessari per creare componenti precisi, assiemi, disegni tecnici e molto altro, mantenendo modificabili dimensioni, schizzi e relazioni.",[18,110,111],{},"A differenza di un semplice programma di disegno, FreeCAD ricorda come è stato costruito il modello. Se cambiamo la lunghezza di uno schizzo, la posizione di un foro o lo spessore di una funzione, il resto del modello può aggiornarsi in base a quelle relazioni invece di costringerci a ridisegnare tutto manualmente!",[18,113,114],{},"FreeCAD organizza i suoi strumenti in diversi ambienti di lavoro, così possiamo scegliere solo l'insieme di funzioni adatto al compito da svolgere, rendendo il processo di creazione molto più semplice e ordinato.",[18,116,117],{},"Un'altra funzionalità davvero interessante di FreeCAD è che il suo comportamento può essere esteso tramite addon e script. È quindi la scelta perfetta per sperimentare con un coding agent AI mantenendo comunque il controllo sul design e sui file che creiamo.",[84,119,121],{"id":120},"perché-opencode","Perché OpenCode",[18,123,124,125,127],{},"Per la parte relativa all'agente, ho deciso di usare ",[28,126,81],{},".",[18,129,130,132],{},[28,131,81],{}," è un coding agent molto popolare e, vista la sua natura open source, si abbina perfettamente a FreeCAD.",[18,134,135],{},[100,136],{"alt":137,"src":138,"height":139,"width":140},"Funzionalità del coding agent AI OpenCode","\u002Fimages\u002Fblog\u002Ffreecad-opencode\u002Fopencode-infos.png",941,1672,[18,142,143],{},"Con i modelli disponibili, può comprendere richieste in linguaggio naturale, pianificare una sequenza di azioni e usare strumenti collegati per aiutare a completare un'attività. Puoi usare OpenCode con il tuo LLM o abbonamento AI preferito, come GitHub Copilot, oppure collegarlo a una piattaforma esterna basata su API come OpenRouter.",[18,145,146],{},"Invece di considerare il terminale come un luogo in cui dobbiamo digitare ogni comando alla perfezione, possiamo descrivere ciò che vogliamo ottenere e lasciare che l'agente ci aiuti a scegliere i passaggi successivi.",[18,148,149],{},"Nel nostro caso specifico, OpenCode ci offre un modo conversazionale per chiedere a FreeCAD di creare documenti, costruire modelli, ispezionare oggetti e spiegare chiaramente come ha raggiunto quegli obiettivi.",[18,151,152],{},"Possiamo descrivere in linguaggio semplice il risultato che vogliamo, poi verificare il lavoro dell'agente e chiedere una modifica precisa quando qualcosa deve essere corretto. OpenCode può anche restituirci le risposte degli strumenti, permettendoci di chiedergli di controllare l'albero del documento, verificare le dimensioni o acquisire uno screenshot prima di prendere un'altra decisione.",[18,154,155],{},"Essendo open source, possiamo esaminare il suo progetto, configurarlo localmente e collegarlo a strumenti come il server FreeCAD MCP invece di affidarci soltanto a un flusso di lavoro chiuso e immutabile.",[84,157,159],{"id":158},"perché-usare-un-server-mcp","Perché usare un server MCP?",[18,161,162,163,170,171,174],{},"Il ",[21,164,167],{"href":165,"rel":166,"target":26},"https:\u002F\u002Fmodelcontextprotocol.io\u002F",[25],[28,168,169],{},"Model Context Protocol",", o ",[28,172,173],{},"MCP"," in breve, offre a un client AI un modo standard per scoprire e chiamare strumenti esterni che possono fornire contesto alle chiamate LLM.",[18,176,177,178,180,181,183],{},"Invece di controllare FreeCAD tramite clic sullo schermo e movimenti del mouse, ",[28,179,81],{}," può chiamare direttamente gli strumenti esposti dal ",[28,182,53],{},", permettendogli di controllare il software CAD attraverso un'API adatta all'AI.",[18,185,186],{},"Il progetto FreeCAD MCP che useremo in questa guida fornisce strumenti per attività come queste:",[69,188],{":items":189,"variant":190},"[\"Creare e aprire documenti FreeCAD.\",\"Creare, modificare ed eliminare oggetti FreeCAD.\",\"Eseguire codice Python all'interno di FreeCAD.\",\"Ispezionare gli oggetti e l'albero del documento.\",\"Richiedere uno screenshot della vista corrente.\",\"Inserire componenti dalla libreria di parti di FreeCAD.\"]","circle",[18,192,193],{},"Questo fornisce all'agente un utile ciclo di feedback. Può apportare una modifica, ispezionare il risultato e adattare l'azione successiva invece di limitarsi a scrivere codice che dovremmo incollare manualmente. Piuttosto utile, vero?",[59,195],{},[13,197,199],{"id":198},"_1-scaricare-freecad-mcp","1. Scaricare FreeCAD MCP",[18,201,202],{},"Bene, la prima cosa da fare è scaricare il repository ufficiale creato dall'incredibile neka-nat.",[18,204,205],{},"Per farlo, apri un terminale, spostati nella directory che preferisci ed esegui il comando seguente:",[207,208,213],"pre",{"className":209,"code":210,"language":211,"meta":212,"style":212},"language-bash shiki shiki-themes github-light github-dark","git clone https:\u002F\u002Fgithub.com\u002Fneka-nat\u002Ffreecad-mcp.git\n","bash","",[214,215,216],"code",{"__ignoreMap":212},[217,218,221,225,229],"span",{"class":219,"line":220},"line",1,[217,222,224],{"class":223},"sScJk","git",[217,226,228],{"class":227},"sZZnC"," clone",[217,230,231],{"class":227}," https:\u002F\u002Fgithub.com\u002Fneka-nat\u002Ffreecad-mcp.git\n",[18,233,234],{},[100,235],{"alt":236,"src":237},"Repository FreeCAD MCP clonato nella cartella Documenti","\u002Fimages\u002Fblog\u002Ffreecad-opencode\u002Ffreecad-mcp-download.png",[18,239,240,241,244,245,248,249,251],{},"Il repository contiene sia il ",[28,242,243],{},"server MCP Python"," sia l'",[28,246,247],{},"addon FreeCAD",". Mantieni il repository in una posizione stabile, perché ",[28,250,81],{}," userà il suo percorso quando avvierà il server.",[18,253,254],{},"Su Windows, ti consiglio di conservarlo nella cartella Documenti. Per esempio, puoi usare:",[207,256,261],{"className":257,"code":259,"language":260,"meta":212},[258],"language-text","C:\\Users\\YourName\\Documents\\freecad-mcp\n","text",[214,262,259],{"__ignoreMap":212},[18,264,265],{},"Se usi una posizione diversa, non preoccuparti. Dovremo semplicemente sostituire il percorso di esempio nella configurazione di OpenCode più avanti in questa guida.",[59,267],{},[13,269,271],{"id":270},"_2-installare-laddon-freecad","2. Installare l'addon FreeCAD",[18,273,162,274,277,278,280,281,127],{},[28,275,276],{},"server MCP"," ha bisogno anche di un addon installato in ",[28,279,30],{},". Il repository ufficiale contiene tutto ciò che ci serve nella directory ",[214,282,283],{},"addon\u002FFreeCADMCP",[18,285,286],{},"Su Windows, FreeCAD 1.1 usa la seguente directory per gli addon specifica della versione:",[207,288,291],{"className":289,"code":290,"language":260,"meta":212},[258],"C:\\Users\\YourName\\AppData\\Roaming\\FreeCAD\\v1-1\\Mod\\FreeCADMCP\n",[214,292,290],{"__ignoreMap":212},[18,294,295,296,299,300,127],{},"Per installare l'addon, apri il repository clonato e copia la cartella ",[28,297,298],{},"FreeCADMCP"," da ",[214,301,302],{},"addon",[18,304,305,306,309],{},"Incollala poi nella seguente cartella di FreeCAD. Crea la cartella ",[214,307,308],{},"Mod"," se non esiste ancora:",[207,311,314],{"className":312,"code":313,"language":260,"meta":212},[258],"C:\\Users\\YourName\\AppData\\Roaming\\FreeCAD\\v1-1\\Mod\n",[214,315,313],{"__ignoreMap":212},[18,317,318],{},"In breve, copia la cartella seguente:",[207,320,323],{"className":321,"code":322,"language":260,"meta":212},[258],"C:\\Users\\YourName\\Documents\\freecad-mcp\\addon\\FreeCADMCP\n",[214,324,322],{"__ignoreMap":212},[18,326,327],{},"in questa cartella:",[207,329,331],{"className":330,"code":313,"language":260,"meta":212},[258],[214,332,313],{"__ignoreMap":212},[18,334,335,336,339],{},"Le versioni precedenti di FreeCAD potrebbero usare la cartella ",[214,337,338],{},"C:\\Users\\YourName\\AppData\\Roaming\\FreeCAD\\Mod"," per gli addon. Usa la directory che corrisponde alla cartella specifica della versione creata dalla tua installazione di FreeCAD.",[18,341,342],{},"Dopo aver copiato l'addon, riavvia FreeCAD se era già aperto. Il repository documenta anche le posizioni degli addon per Linux e macOS, nel caso tu stia usando un altro sistema operativo.",[84,344,346],{"id":345},"selezionare-lambiente-di-lavoro-mcp-addon","Selezionare l'ambiente di lavoro MCP Addon",[18,348,349,350,352,353,356,357,127],{},"Dopo aver riavviato ",[28,351,30],{},", apri il selettore degli ambienti di lavoro e scegli ",[28,354,355],{},"MCP Addon",". A questo punto dovresti vedere la barra degli strumenti o il menu ",[28,358,359],{},"FreeCAD MCP",[18,361,362],{},[100,363],{"alt":364,"src":365},"Ambiente di lavoro FreeCAD MCP e controlli del server RPC","\u002Fimages\u002Fblog\u002Ffreecad-opencode\u002Ffreecad-mcp-addon.png",[18,367,368,369,372,373,375,376,378,379,127],{},"Fai clic su ",[28,370,371],{},"Start RPC Server"," per avviare il bridge locale. Il ",[28,374,276],{}," avviato da ",[28,377,81],{}," userà questo bridge per comunicare con ",[28,380,30],{},[18,382,383,384,386,387,390],{},"Il server RPC normalmente deve essere avviato ogni volta che FreeCAD viene aperto. Se vuoi avviarlo automaticamente, apri il menu ",[28,385,359],{}," e abilita ",[28,388,389],{},"Auto-Start Server",". L'impostazione viene salvata dall'addon e rimane attiva tra una sessione e l'altra.",[59,392],{},[13,394,396],{"id":395},"_3-installare-opencode","3. Installare OpenCode",[18,398,399],{},"Il passaggio successivo consiste nell'installare OpenCode.",[18,401,402],{},[100,403],{"alt":404,"src":405},"Pagina di installazione di OpenCode","\u002Fimages\u002Fblog\u002Ffreecad-opencode\u002Fopencode-website.jpg",[18,407,408,409,411],{},"Possiamo installare ",[28,410,81],{}," usando l'installer ufficiale con il seguente comando Bash:",[207,413,415],{"className":209,"code":414,"language":211,"meta":212,"style":212},"curl -fsSL https:\u002F\u002Fopencode.ai\u002Finstall | bash\n",[214,416,417],{"__ignoreMap":212},[217,418,419,422,426,429,433],{"class":219,"line":220},[217,420,421],{"class":223},"curl",[217,423,425],{"class":424},"sj4cs"," -fsSL",[217,427,428],{"class":227}," https:\u002F\u002Fopencode.ai\u002Finstall",[217,430,432],{"class":431},"szBVR"," |",[217,434,435],{"class":223}," bash\n",[18,437,438],{},"Se, come me, preferisci usare npm, puoi usare invece il comando seguente:",[207,440,442],{"className":209,"code":441,"language":211,"meta":212,"style":212},"npm i -g opencode-ai\n",[214,443,444],{"__ignoreMap":212},[217,445,446,449,452,455],{"class":219,"line":220},[217,447,448],{"class":223},"npm",[217,450,451],{"class":227}," i",[217,453,454],{"class":424}," -g",[217,456,457],{"class":227}," opencode-ai\n",[18,459,460,461,464,465,468],{},"Al termine dell'installazione, apri un nuovo terminale in modo che il comando ",[214,462,463],{},"opencode"," sia disponibile nel tuo ",[214,466,467],{},"PATH",". Controlliamo che funzioni:",[207,470,472],{"className":209,"code":471,"language":211,"meta":212,"style":212},"opencode --version\n",[214,473,474],{"__ignoreMap":212},[217,475,476,478],{"class":219,"line":220},[217,477,463],{"class":223},[217,479,480],{"class":424}," --version\n",[18,482,483],{},[100,484],{"alt":485,"src":486},"Output del comando della versione di OpenCode","\u002Fimages\u002Fblog\u002Ffreecad-opencode\u002Fopencode-version.png",[18,488,489,490,493,494,496,497,504],{},"Dovrai anche configurare un ",[28,491,492],{},"provider AI"," prima che ",[28,495,81],{}," possa agire come coding agent. Se questa è la tua prima installazione di OpenCode, segui la ",[21,498,501],{"href":499,"rel":500,"target":26},"https:\u002F\u002Fopencode.ai\u002Fdocs\u002F",[25],[28,502,503],{},"documentazione di OpenCode"," per configurare il provider.",[59,506],{},[13,508,510],{"id":509},"_4-configurare-opencode","4. Configurare OpenCode",[18,512,513,514,517,518,521],{},"OpenCode legge la configurazione del progetto da un file ",[214,515,516],{},"opencode.json"," o ",[214,519,520],{},"opencode.jsonc",". Possiamo collocare questo file nella radice di un progetto oppure usare la configurazione globale di OpenCode se vogliamo che FreeCAD sia disponibile ovunque.",[18,523,524],{},"Su Windows, il file di configurazione globale si trova di solito qui:",[207,526,529],{"className":527,"code":528,"language":260,"meta":212},[258],"C:\\Users\\YourName\\.config\\opencode\\opencode.json\n",[214,530,528],{"__ignoreMap":212},[18,532,533],{},"Se la directory o il file non esistono ancora, creali prima di aggiungere la configurazione.",[18,535,536,537,540,541,543,544,547],{},"Ora crea o modifica la ",[28,538,539],{},"configurazione di OpenCode"," e aggiungi il ",[28,542,53],{}," sotto la chiave ",[214,545,546],{},"mcp",", come mostrato qui sotto:",[207,549,553],{"className":550,"code":551,"language":552,"meta":212,"style":212},"language-json shiki shiki-themes github-light github-dark","{\n    \"$schema\": \"https:\u002F\u002Fopencode.ai\u002Fconfig.json\",\n    \"mcp\": {\n        \"freecad\": {\n            \"type\": \"local\",\n            \"command\": [\n                \"uv\",\n                \"--directory\",\n                \"C:\\\\Users\\\\YourName\\\\Documents\\\\freecad-mcp\",\n                \"run\",\n                \"freecad-mcp\"\n            ],\n            \"enabled\": true\n        }\n    }\n}\n","json",[214,554,555,561,576,585,593,606,615,623,631,660,668,674,680,691,697,703],{"__ignoreMap":212},[217,556,557],{"class":219,"line":220},[217,558,560],{"class":559},"sVt8B","{\n",[217,562,564,567,570,573],{"class":219,"line":563},2,[217,565,566],{"class":424},"    \"$schema\"",[217,568,569],{"class":559},": ",[217,571,572],{"class":227},"\"https:\u002F\u002Fopencode.ai\u002Fconfig.json\"",[217,574,575],{"class":559},",\n",[217,577,579,582],{"class":219,"line":578},3,[217,580,581],{"class":424},"    \"mcp\"",[217,583,584],{"class":559},": {\n",[217,586,588,591],{"class":219,"line":587},4,[217,589,590],{"class":424},"        \"freecad\"",[217,592,584],{"class":559},[217,594,596,599,601,604],{"class":219,"line":595},5,[217,597,598],{"class":424},"            \"type\"",[217,600,569],{"class":559},[217,602,603],{"class":227},"\"local\"",[217,605,575],{"class":559},[217,607,609,612],{"class":219,"line":608},6,[217,610,611],{"class":424},"            \"command\"",[217,613,614],{"class":559},": [\n",[217,616,618,621],{"class":219,"line":617},7,[217,619,620],{"class":227},"                \"uv\"",[217,622,575],{"class":559},[217,624,626,629],{"class":219,"line":625},8,[217,627,628],{"class":227},"                \"--directory\"",[217,630,575],{"class":559},[217,632,634,637,640,643,645,648,650,653,655,658],{"class":219,"line":633},9,[217,635,636],{"class":227},"                \"C:",[217,638,639],{"class":424},"\\\\",[217,641,642],{"class":227},"Users",[217,644,639],{"class":424},[217,646,647],{"class":227},"YourName",[217,649,639],{"class":424},[217,651,652],{"class":227},"Documents",[217,654,639],{"class":424},[217,656,657],{"class":227},"freecad-mcp\"",[217,659,575],{"class":559},[217,661,663,666],{"class":219,"line":662},10,[217,664,665],{"class":227},"                \"run\"",[217,667,575],{"class":559},[217,669,671],{"class":219,"line":670},11,[217,672,673],{"class":227},"                \"freecad-mcp\"\n",[217,675,677],{"class":219,"line":676},12,[217,678,679],{"class":559},"            ],\n",[217,681,683,686,688],{"class":219,"line":682},13,[217,684,685],{"class":424},"            \"enabled\"",[217,687,569],{"class":559},[217,689,690],{"class":424},"true\n",[217,692,694],{"class":219,"line":693},14,[217,695,696],{"class":559},"        }\n",[217,698,700],{"class":219,"line":699},15,[217,701,702],{"class":559},"    }\n",[217,704,706],{"class":219,"line":705},16,[217,707,708],{"class":559},"}\n",[18,710,711,712,715,716,719,720,722],{},"Sostituisci ",[214,713,714],{},"C:\\\\Users\\\\YourName\\\\Documents\\\\freecad-mcp"," con il percorso effettivo del tuo clone. I percorsi JSON usano barre rovesciate con escape, quindi un percorso Windows come ",[214,717,718],{},"C:\\Users\\YourName\\Documents\\freecad-mcp"," deve essere scritto come ",[214,721,714],{}," all'interno del file JSON.",[59,724],{},[13,726,728],{"id":727},"_5-avviare-opencode","5. Avviare OpenCode",[18,730,731,732,734,735,737,738,740,741,744],{},"Prima di avviare ",[28,733,81],{},", assicuriamoci che ",[28,736,30],{}," sia aperto, che l'ambiente di lavoro ",[28,739,355],{}," sia selezionato e che il ",[28,742,743],{},"server RPC"," sia in esecuzione.",[18,746,747],{},"Se sembra tutto corretto, avvia OpenCode dalla directory che contiene la configurazione:",[207,749,751],{"className":209,"code":750,"language":211,"meta":212,"style":212},"opencode\n",[214,752,753],{"__ignoreMap":212},[217,754,755],{"class":219,"line":220},[217,756,750],{"class":223},[18,758,759,761,762,764,765,768,769,771,772,464,775,777,778,127],{},[28,760,81],{}," dovrebbe rilevare il ",[28,763,276],{}," ",[214,766,767],{},"freecad"," durante l'avvio. Se il server non compare, controlla il percorso in ",[214,770,516],{},", verifica che ",[214,773,774],{},"uv",[214,776,467],{}," e controlla lo ",[28,779,780],{},"stato del server MCP di OpenCode",[18,782,783,784,786,787,789],{},"Possiamo anche chiedere a ",[28,785,81],{}," se riesce ad accedere a ",[28,788,359],{}," con un prompt semplice:",[207,791,794],{"className":792,"code":793,"language":260,"meta":212},[258],"Do you have access to the FreeCAD MCP?\n",[214,795,793],{"__ignoreMap":212},[18,797,798],{},"Non iniziare con un progetto CAD complesso. Un piccolo test di connettività rende molto più facile capire se un problema successivo dipende da OpenCode, dal server MCP o da FreeCAD stesso.",[18,800,801,802,804,805,127],{},"Se la risposta è positiva, congratulazioni! ",[28,803,81],{}," è ora connesso correttamente a ",[28,806,359],{},[59,808],{},[13,810,812],{"id":811},"_6-creare-il-primo-progetto","6. Creare il primo progetto",[18,814,815],{},"Bene, continuiamo con una richiesta un po' più dettagliata:",[207,817,820],{"className":818,"code":819,"language":260,"meta":212},[258],"Use the freecad MCP server to create a new document named AgentTest, then list the objects in the document.\n",[214,821,819],{"__ignoreMap":212},[18,823,824,825,828,829,832,833,127],{},"L'agente dovrebbe chiamare ",[214,826,827],{},"create_document"," e poi ",[214,830,831],{},"get_objects",". A seconda delle impostazioni del server, la risposta potrebbe includere anche uno screenshot della ",[28,834,835],{},"vista di FreeCAD",[18,837,838,839,842],{},"Se la richiesta va a buon fine, hai verificato l'intera ",[28,840,841],{},"catena di connessione",":",[69,844],{":items":845,"variant":846},"[\"OpenCode riesce a vedere il server MCP configurato.\",\"Il server MCP riesce a connettersi al bridge RPC di FreeCAD.\",\"L'addon FreeCAD riesce a ricevere ed elaborare una richiesta.\",\"L'agente riesce a leggere una risposta restituita da FreeCAD.\"]","numbered",[18,848,849],{},"Ottimo! A questo punto, salva manualmente il documento oppure chiedi all'agente di salvarlo usando Python per FreeCAD. Conservare questo primo documento di test è utile per risolvere eventuali problemi in seguito.",[59,851],{},[13,853,855],{"id":854},"_7-creare-un-componente-parametrico-semplice","7. Creare un componente parametrico semplice",[18,857,858],{},"Quando la connessione funziona, possiamo chiedere all'agente di creare un piccolo modello con dimensioni esplicite. Una piastra semplice con quattro fori è un buon primo progetto, perché ha una geometria chiara ed è facile da ispezionare.",[18,860,861],{},"Per esempio, possiamo usare un prompt come questo:",[207,863,866],{"className":864,"code":865,"language":260,"meta":212},[258],"Use the freecad MCP tools to create a new document containing a parametric rectangular plate.\n\nRequirements:\n- The plate should be 100 mm long, 60 mm wide, and 8 mm thick.\n- Add four through-holes with a diameter of 6 mm.\n- Place the holes symmetrically, 10 mm from the nearest two edges.\n- Use meaningful object names.\n- Recompute the document and report the objects and final dimensions.\n- Do not overwrite any existing document.\n",[214,867,865],{"__ignoreMap":212},[18,869,870,871,874,875,878,879,882,883,886],{},"L'implementazione esatta dipende dall'agente. Potrebbe creare ",[28,872,873],{},"primitive Part",", usare uno ",[28,876,877],{},"schizzo"," e un ",[28,880,881],{},"pad",", oppure eseguire ",[28,884,885],{},"Python per FreeCAD"," per costruire la forma. La cosa importante è indicare chiaramente dimensioni, vincoli, aspettative sui nomi e limiti di sicurezza.",[84,888,890],{"id":889},"ispezionare-il-risultato","Ispezionare il risultato",[18,892,893],{},"Dopo aver creato il modello, chiediamo all'agente di ispezionarlo invece di richiedere subito un'altra funzione:",[207,895,898],{"className":896,"code":897,"language":260,"meta":212},[258],"Inspect the current FreeCAD document with the freecad MCP tools. List every object, its type, its dimensions, and any visible errors. Take an isometric view screenshot if available.\n",[214,899,897],{"__ignoreMap":212},[18,901,902,903,906,907,910],{},"È qui che il ",[28,904,905],{},"flusso di lavoro MCP"," diventa più utile della generazione di codice in un unico passaggio. Possiamo confrontare il resoconto dell'agente con l'",[28,908,909],{},"albero di FreeCAD"," e la vista, poi chiedere una correzione mirata.",[18,912,913],{},"Per esempio, se i fori non si trovano nella posizione corretta, possiamo dire:",[207,915,918],{"className":916,"code":917,"language":260,"meta":212},[258],"The plate looks correct, but the holes are not symmetric around the center. Inspect the model and move only the hole locations so the four hole centers are 10 mm from the corresponding edges. Preserve the plate thickness and hole diameter.\n",[214,919,917],{"__ignoreMap":212},[18,921,922],{},"Usa richieste di modifica precise. Chiedere all'agente di \"rendere il modello più bello\" gli lascia troppa libertà e rende il risultato più difficile da verificare.",[59,924],{},[13,926,928],{"id":927},"_8-lavorare-con-python-per-freecad","8. Lavorare con Python per FreeCAD",[18,930,931,932,935,936,938,939,941],{},"Lo strumento ",[214,933,934],{},"execute_code"," permette all'agente di eseguire Python dentro ",[28,937,30],{},". È una funzionalità davvero potente, perché ",[28,940,30],{}," espone gran parte delle sue funzioni di modellazione tramite Python, ma significa anche che dovremmo controllare il codice generato prima di consentirgli di apportare modifiche importanti.",[18,943,944],{},"Iniziamo con una richiesta esplorativa sicura:",[207,946,949],{"className":947,"code":948,"language":260,"meta":212},[258],"Use execute_code only to inspect the active document. Return the document name and a list of object names and types. Do not create, delete, or modify anything.\n",[214,950,948],{"__ignoreMap":212},[18,952,953],{},"Per un'attività di modellazione controllata, chiedi prima all'agente di spiegare le operazioni previste:",[207,955,958],{"className":956,"code":957,"language":260,"meta":212},[258],"Before executing code, describe the FreeCAD objects and operations you plan to use to create the plate. Wait for confirmation before modifying the document.\n",[214,959,957],{"__ignoreMap":212},[18,961,962],{},"Questo passaggio aggiuntivo è utile quando stiamo imparando l'API o lavorando con un modello che contiene un lavoro di progettazione importante.",[18,964,965,966,969],{},"Ricorda che le ",[28,967,968],{},"operazioni di FreeCAD"," possono avere dipendenze. Eliminare o modificare un oggetto può influire su schizzi, pad, tagli o funzioni successive. Un modello che sembra corretto in uno screenshot potrebbe comunque contenere relazioni parametriche fragili o errate.",[59,971],{},[13,973,975],{"id":974},"risoluzione-dei-problemi","Risoluzione dei problemi",[18,977,978],{},"Quando qualcosa non funziona, ecco una breve checklist da seguire:",[69,980],{":items":981},"[\"Se OpenCode non riesce a trovare il server, controlla la chiave mcp, il nome del server, l'array dei comandi e il percorso in opencode.json.\",\"Se uv non si avvia, installa uv e verifica che il comando sia disponibile nel terminale usato per avviare OpenCode.\",\"Se il server si avvia ma FreeCAD non risponde, apri FreeCAD, seleziona l'ambiente di lavoro MCP Addon e avvia o riavvia il server RPC.\",\"Se uno strumento segnala un problema di dispatch della GUI, usa get_rpc_status e attendi che FreeCAD torni a uno stato operativo prima di inviare un'altra richiesta GUI.\",\"Se la geometria generata è errata, controlla l'albero del documento e le dimensioni prima di chiedere all'agente una correzione mirata.\"]",[18,983,162,984,987,988,991,992,995,996,998],{},[28,985,986],{},"progetto FreeCAD MCP"," avverte che le ",[28,989,990],{},"operazioni GUI"," non possono sempre essere annullate forzatamente in modo sicuro. Se un'operazione GUI si blocca, inviare altre richieste GUI può peggiorare la situazione. Controlla lo ",[28,993,994],{},"stato RPC"," e riavvia ",[28,997,30],{}," quando necessario.",[18,1000,1001,1002,1004,1005,1008],{},"Se ",[214,1003,934],{}," genera un'eccezione durante la creazione di un oggetto ",[214,1006,1007],{},"FeaturePython",", ispeziona il nuovo oggetto prima di provare a modificarlo o eliminarlo. Un oggetto creato solo parzialmente potrebbe non avere il proxy previsto.",[59,1010],{},[13,1012,1014],{"id":1013},"consigli-pratici","Consigli pratici",[18,1016,1017,1018,1021],{},"Un ",[28,1019,1020],{},"coding agent AI"," è più utile quando lo consideriamo un collaboratore capace il cui lavoro deve essere verificato. Forniscigli requisiti misurabili, chiedigli di ispezionare il risultato e mantieni le modifiche abbastanza piccole da poter essere annullate.",[18,1023,1024],{},"Per il lavoro ripetitivo, descrivi dimensioni e vincoli invece di limitarti all'aspetto visivo. \"Crea una piastra di 100 mm per 60 mm con quattro fori da 6 mm\" è molto più utile di \"crea una piccola piastra di montaggio\".",[18,1026,1027],{},"È inoltre buona abitudine salvare versioni dei nostri file FreeCAD prima di modifiche più ampie. I modelli parametrici possono contenere dipendenze nascoste e una modifica apparentemente piccola può invalidare una funzione successiva.",[18,1029,1030],{},"Infine, ricorda che il CAD generato non è automaticamente sicuro da produrre. Controlla personalmente unità, tolleranze, spessori delle pareti, spazi per i dispositivi di fissaggio, ipotesi sui materiali e impostazioni di esportazione. L'agente può velocizzare il processo di progettazione, ma la responsabilità ingegneristica resta della persona che approva il modello.",[59,1032],{},[13,1034,1036],{"id":1035},"conclusione","Conclusione",[18,1038,1039,1040,1042,1043,1046,1047,1049,1050,1053],{},"Siamo finalmente arrivati alla fine di questo viaggio! ",[28,1041,359],{}," permette di collegare una sessione FreeCAD in esecuzione a un ",[28,1044,1045],{},"agente compatibile con MCP",". Con ",[28,1048,81],{},", possiamo descrivere un'attività di modellazione in linguaggio naturale, lasciare che l'agente crei o modifichi ",[28,1051,1052],{},"oggetti FreeCAD",", ispezionare il risultato e procedere con istruzioni mirate.",[18,1055,1056],{},"Ecco un breve riepilogo di ciò che abbiamo fatto:",[69,1058],{":items":1059,"variant":846},"[\"Clonare il repository FreeCAD MCP.\",\"Installare l'addon FreeCADMCP e riavviare FreeCAD.\",\"Avviare il server RPC di FreeCAD.\",\"Aggiungere il server MCP di FreeCAD alla configurazione di OpenCode.\",\"Verificare la connessione con un nuovo documento e un elenco di oggetti.\",\"Creare un componente piccolo e misurabile e ispezionarlo con attenzione.\"]",[18,1061,1062,1063,1067,1068,127],{},"Per altri esempi e per le informazioni di installazione più recenti, consulta il ",[21,1064,1066],{"href":49,"rel":1065,"target":26},[25],"repository FreeCAD MCP"," e la ",[21,1069,1072],{"href":1070,"rel":1071,"target":26},"https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fmcp-servers\u002F",[25],"documentazione MCP di OpenCode",[18,1074,1075],{},"Se il test di connessione ha funzionato e l'agente ha creato il tuo primo componente, congratulazioni! Ora hai un bridge conversazionale tra OpenCode e FreeCAD e puoi iniziare a sperimentare con i tuoi modelli parametrici!",[18,1077,1078,1079,1081],{},"Ricordati di mantenere aggiornati FreeCAD, il repository FreeCAD MCP, OpenCode e ",[214,1080,774],{},", così la configurazione continuerà a funzionare in modo affidabile. Prima di apportare modifiche importanti, salva una copia del modello e controlla sempre la geometria generata prima di usarla in un progetto reale.",[18,1083,1084,1085,1089,1090,1094],{},"Se ti piacciono i progetti open source pratici come questo, puoi anche consultare la nostra guida per ",[21,1086,1088],{"href":1087},"\u002Fit\u002Fblog\u002Fhow-to-configure-pi-hole-and-mullvad-on-a-raspberry-pi","configurare Pi-hole e Mullvad su un Raspberry Pi"," per una soluzione di privacy a livello di rete, oppure la nostra guida per ",[21,1091,1093],{"href":1092},"\u002Fit\u002Fblog\u002Fhow-to-setup-and-use-mullvad-vpn-mobile-app","usare l'app mobile Mullvad VPN"," quando vuoi proteggere i singoli dispositivi mentre sei fuori casa!",[18,1096,1097],{},[100,1098],{"alt":1099,"src":1100},"Ragazza che usa FreeCAD con un coding agent AI","\u002Fimages\u002Fblog\u002Ffreecad-opencode\u002Fgirl-using-freecad.png",[18,1102,1103],{},"Ecco tutto per oggi! Spero che questa guida ti sia piaciuta e spero di rivederti presto in un altro articolo!",[1105,1106,1107],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":212,"searchDepth":563,"depth":563,"links":1109},[1110,1111,1116,1117,1120,1121,1122,1123,1124,1127,1128,1129,1130],{"id":15,"depth":563,"text":16},{"id":63,"depth":563,"text":64,"children":1112},[1113,1114,1115],{"id":86,"depth":578,"text":87},{"id":120,"depth":578,"text":121},{"id":158,"depth":578,"text":159},{"id":198,"depth":563,"text":199},{"id":270,"depth":563,"text":271,"children":1118},[1119],{"id":345,"depth":578,"text":346},{"id":395,"depth":563,"text":396},{"id":509,"depth":563,"text":510},{"id":727,"depth":563,"text":728},{"id":811,"depth":563,"text":812},{"id":854,"depth":563,"text":855,"children":1125},[1126],{"id":889,"depth":578,"text":890},{"id":927,"depth":563,"text":928},{"id":974,"depth":563,"text":975},{"id":1013,"depth":563,"text":1014},{"id":1035,"depth":563,"text":1036},"guides","Guide","2026-08-22","Una guida pratica per controllare FreeCAD con il server MCP di FreeCAD e OpenCode, dall'installazione dell'addon alla creazione e all'ispezione di un modello parametrico tramite istruzioni in linguaggio naturale.","md",[1137,1140,1143,1146,1149],{"question":1138,"answer":1139},"Che cos'è il server MCP di FreeCAD?","FreeCAD MCP collega a FreeCAD un coding agent compatibile con MCP. Usa l'addon FreeCADMCP e un piccolo server MCP, così l'agente può creare documenti, eseguire codice Python di FreeCAD, ispezionare gli oggetti e richiedere viste del modello.",{"question":1141,"answer":1142},"OpenCode può controllare FreeCAD direttamente?","Sì. OpenCode può avviare il server MCP di FreeCAD come processo MCP locale. Il server comunica con l'addon di FreeCAD, che deve essere in esecuzione in una sessione FreeCAD aperta.",{"question":1144,"answer":1145},"Devo conoscere Python per FreeCAD per usare questa configurazione?","No, ma è utile avere conoscenze di base di FreeCAD e Python. Un agente può scrivere gran parte del codice, mentre capire documenti, corpi, schizzi, vincoli e misure ti aiuta a verificare il risultato.",{"question":1147,"answer":1148},"Dove devo eseguire il server MCP di FreeCAD?","Eseguilo sullo stesso computer di FreeCAD per ottenere la configurazione più semplice. Il progetto FreeCAD MCP supporta anche le connessioni remote quando l'addon è configurato per consentire l'indirizzo IP o la subnet del computer dell'agente.",{"question":1150,"answer":1151},"L'agente può creare automaticamente modelli CAD pronti per la produzione?","Può creare modelli parametrici utili e velocizzare il lavoro ripetitivo, ma ogni modello generato deve comunque essere verificato da una persona. Controlla dimensioni, vincoli, topologia, spazi liberi, producibilità e file salvato prima di usarlo in un progetto reale.","\u002Fimages\u002Fblog\u002Ffreecad-opencode\u002Fguy-using-freecad.png","it",{},true,"\u002Fit\u002Fblog\u002Fhow-to-use-freecad-opencode-mcp",{"title":5,"description":1134},{"loc":1156},"it\u002Fblog\u002Fhow-to-use-freecad-opencode-mcp",[30,81,173,1161,1162],"CAD","AI","hSK_Ku6IwBGHVkzqnff58RFfhpv-55t16MhOC0six2M",[1165,1169],{"title":1166,"description":1167,"image":1168,"categoryText":1132,"path":1087},"Come usare Pi-hole e la VPN Mullvad su un Raspberry Pi","Guida pratica per installare Pi-hole e configurare un Raspberry Pi come gateway Mullvad WireGuard, includendo DNS, forwarding, NAT e risoluzione delle perdite.","\u002Fimages\u002Fblog\u002Fpi-hole-and-mullvad\u002Fraspberry-pi-network.png",{"title":1170,"description":1171,"image":1172,"categoryText":1132,"path":1092},"Come configurare e usare l'app mobile Mullvad VPN","Una guida pratica per installare, configurare e usare l'app mobile Mullvad VPN su Android e iOS, inclusi la configurazione dell'account, la scelta del server, il comportamento del kill switch e la risoluzione dei problemi di connessione.","\u002Fimages\u002Fblog\u002Fmullvad-app\u002Fmullvad-app.png",[],1789897414168]