[{"data":1,"prerenderedAt":710},["ShallowReactive",2],{"navigation":3,"\u002Fdevelopers\u002Fcoding-agents":200,"\u002Fdevelopers\u002Fcoding-agents-surround":705},[4,9,14,40,53,70,91,108,129,146,183,192],{"title":5,"path":6,"stem":7,"icon":8},"Quick start","\u002Fgetting-started","01.getting-started","i-lucide-rocket",{"title":10,"path":11,"stem":12,"icon":13},"Set up from the terminal","\u002Fcli","02.cli","i-lucide-terminal",{"title":15,"path":16,"stem":17,"children":18,"page":39},"Domains & DNS","\u002Fdomains","03.domains",[19,23,27,31,35],{"title":20,"path":21,"stem":22},"Adding a domain","\u002Fdomains\u002Fadding-a-domain","03.domains\u002F01.adding-a-domain",{"title":24,"path":25,"stem":26},"Automatic DNS setup","\u002Fdomains\u002Fautomatic-dns-setup","03.domains\u002F02.automatic-dns-setup",{"title":28,"path":29,"stem":30},"Manual DNS records","\u002Fdomains\u002Fmanual-dns-records","03.domains\u002F03.manual-dns-records",{"title":32,"path":33,"stem":34},"Domain verification","\u002Fdomains\u002Fverification","03.domains\u002F04.verification",{"title":36,"path":37,"stem":38},"Troubleshooting DNS","\u002Fdomains\u002Ftroubleshooting","03.domains\u002F05.troubleshooting",false,{"title":41,"path":42,"stem":43,"children":44,"page":39},"Mailboxes & Aliases","\u002Fmailboxes","04.mailboxes",[45,49],{"title":46,"path":47,"stem":48},"Creating mailboxes","\u002Fmailboxes\u002Fcreating-mailboxes","04.mailboxes\u002F01.creating-mailboxes",{"title":50,"path":51,"stem":52},"Aliases","\u002Fmailboxes\u002Faliases","04.mailboxes\u002F02.aliases",{"title":54,"path":55,"stem":56,"children":57,"page":39},"Using Your Mail","\u002Fmail","05.mail",[58,62,66],{"title":59,"path":60,"stem":61},"Webmail","\u002Fmail\u002Fwebmail","05.mail\u002F01.webmail",{"title":63,"path":64,"stem":65},"IMAP & SMTP settings","\u002Fmail\u002Fimap-smtp-settings","05.mail\u002F02.imap-smtp-settings",{"title":67,"path":68,"stem":69},"iPhone setup","\u002Fmail\u002Fios-profile","05.mail\u002F03.ios-profile",{"title":71,"path":72,"stem":73,"children":74,"page":39},"Drive","\u002Fdrive","06.drive",[75,79,83,87],{"title":76,"path":77,"stem":78},"Drive overview","\u002Fdrive\u002Foverview","06.drive\u002F01.overview",{"title":80,"path":81,"stem":82},"Uploading & organising files","\u002Fdrive\u002Ffiles-and-folders","06.drive\u002F02.files-and-folders",{"title":84,"path":85,"stem":86},"Sharing files","\u002Fdrive\u002Fsharing","06.drive\u002F03.sharing",{"title":88,"path":89,"stem":90},"Connect Drive to other apps","\u002Fdrive\u002Fconnect-apps","06.drive\u002F04.connect-apps",{"title":92,"path":93,"stem":94,"children":95,"page":39},"Sending & Campaigns","\u002Fsending","07.sending",[96,100,104],{"title":97,"path":98,"stem":99},"Sending limits","\u002Fsending\u002Flimits","07.sending\u002F01.limits",{"title":101,"path":102,"stem":103},"Campaigns","\u002Fsending\u002Fcampaigns","07.sending\u002F02.campaigns",{"title":105,"path":106,"stem":107},"Deliverability & staying out of spam","\u002Fsending\u002Fdeliverability","07.sending\u002F03.deliverability",{"title":109,"path":110,"stem":111,"children":112,"page":39},"Transactional Email","\u002Ftransactional","08.transactional",[113,117,121,125],{"title":114,"path":115,"stem":116},"Transactional email","\u002Ftransactional\u002Foverview","08.transactional\u002F01.overview",{"title":118,"path":119,"stem":120},"Templates","\u002Ftransactional\u002Ftemplates","08.transactional\u002F02.templates",{"title":122,"path":123,"stem":124},"Sending via the API","\u002Ftransactional\u002Fsend-api","08.transactional\u002F03.send-api",{"title":126,"path":127,"stem":128},"Webhooks","\u002Ftransactional\u002Fwebhooks","08.transactional\u002F04.webhooks",{"title":130,"path":131,"stem":132,"children":133,"page":39},"Migrations","\u002Fmigrations","09.migrations",[134,138,142],{"title":135,"path":136,"stem":137},"Migrating your email","\u002Fmigrations\u002Foverview","09.migrations\u002F01.overview",{"title":139,"path":140,"stem":141},"Migrating from Gmail","\u002Fmigrations\u002Ffrom-gmail","09.migrations\u002F02.from-gmail",{"title":143,"path":144,"stem":145},"Migrating from Microsoft 365","\u002Fmigrations\u002Ffrom-microsoft-365","09.migrations\u002F03.from-microsoft-365",{"title":147,"path":148,"stem":149,"children":150,"page":39},"AI & Developers","\u002Fdevelopers","10.developers",[151,155,159,163,166,170,174,178],{"title":152,"path":153,"stem":154,"icon":8},"Quickstart","\u002Fdevelopers\u002Fquickstart","10.developers\u002F00.quickstart",{"title":156,"path":157,"stem":158},"Connect Claude","\u002Fdevelopers\u002Fconnect-claude","10.developers\u002F01.connect-claude",{"title":160,"path":161,"stem":162},"AI agents & API keys","\u002Fdevelopers\u002Fai-agents","10.developers\u002F02.ai-agents",{"title":126,"path":164,"stem":165},"\u002Fdevelopers\u002Fwebhooks","10.developers\u002F03.webhooks",{"title":167,"path":168,"stem":169},"Partner API","\u002Fdevelopers\u002Fpartners","10.developers\u002F04.partners",{"title":171,"path":172,"stem":173},"Intake and Lens","\u002Fdevelopers\u002Fintake","10.developers\u002F05.intake",{"title":175,"path":176,"stem":177},"Use Faivelo from your coding agent","\u002Fdevelopers\u002Fcoding-agents","10.developers\u002F06.coding-agents",{"title":179,"path":180,"stem":181,"icon":182},"Errors","\u002Fdevelopers\u002Ferrors","10.developers\u002F07.errors","i-lucide-circle-alert",{"title":184,"path":185,"stem":186,"children":187,"page":39},"Billing","\u002Fbilling","11.billing",[188],{"title":189,"path":190,"stem":191},"Billing & plans","\u002Fbilling\u002Fplans","11.billing\u002F01.plans",{"title":193,"path":194,"stem":195,"children":196,"page":39},"Security","\u002Fsecurity","12.security",[197],{"title":193,"path":198,"stem":199},"\u002Fsecurity\u002Foverview","12.security\u002F01.overview",{"id":201,"title":175,"body":202,"description":698,"extension":699,"links":700,"meta":701,"navigation":702,"path":176,"seo":703,"stem":177,"__hash__":704},"docs\u002F10.developers\u002F06.coding-agents.md",{"type":203,"value":204,"toc":686},"minimark",[205,214,243,246,251,254,264,267,303,310,314,326,337,374,378,386,401,405,439,443,446,465,469,480,506,510,528,534,538,556,632,637,641,671,675,682],[206,207,208,209,213],"p",{},"Your coding agent can set up email for the project it is building: put ",[210,211,212],"code",{},"hello@"," on the domain, wire the app's transactional email, and read replies. Two pieces make that work, and most tools take both in one command:",[215,216,217,229],"ul",{},[218,219,220,224,225,228],"li",{},[221,222,223],"strong",{},"The MCP server"," at ",[210,226,227],{},"https:\u002F\u002Ffaivelo.com\u002Fapi\u002Fmcp"," lets the agent read, search, send and organise mail, create mailboxes and edit DNS. It signs in through your browser the first time, and you tick which mailboxes it may use.",[218,230,231,238,239,242],{},[221,232,233,234,237],{},"The ",[210,235,236],{},"faivelo-email"," skill"," teaches the agent the setup path (",[210,240,241],{},"npx faivelo init","), the send API, the SDKs and how to verify webhooks, so it writes working code the first time.",[206,244,245],{},"The MCP server is included from the Growth plan and in the free trial. The skill and the CLI work on any plan.",[247,248,250],"h2",{"id":249},"claude-code","Claude Code",[206,252,253],{},"Plugin with both the MCP server and the skill:",[255,256,261],"pre",{"className":257,"code":259,"language":260},[258],"language-text","\u002Fplugin marketplace add ethannschwartz\u002Ffaivelo-mcp\n\u002Fplugin install faivelo@faivelo\n","text",[210,262,259],{"__ignoreMap":263},"",[206,265,266],{},"MCP server only:",[255,268,272],{"className":269,"code":270,"language":271,"meta":263,"style":263},"language-bash shiki shiki-themes github-light-high-contrast","claude mcp add --transport http faivelo https:\u002F\u002Ffaivelo.com\u002Fapi\u002Fmcp\n","bash",[210,273,274],{"__ignoreMap":263},[275,276,279,283,287,290,294,297,300],"span",{"class":277,"line":278},"line",1,[275,280,282],{"class":281},"sV4o_","claude",[275,284,286],{"class":285},"sYEJz"," mcp",[275,288,289],{"class":285}," add",[275,291,293],{"class":292},"sacAq"," --transport",[275,295,296],{"class":285}," http",[275,298,299],{"class":285}," faivelo",[275,301,302],{"class":285}," https:\u002F\u002Ffaivelo.com\u002Fapi\u002Fmcp\n",[206,304,305,306,309],{},"More on what Claude can do once connected: ",[307,308,156],"a",{"href":157},".",[247,311,313],{"id":312},"cursor","Cursor",[206,315,316],{},[307,317,321],{"href":318,"rel":319},"https:\u002F\u002Fcursor.com\u002Finstall-mcp?name=faivelo&config=eyJ1cmwiOiJodHRwczovL2ZhaXZlbG8uY29tL2FwaS9tY3AifQ%3D%3D",[320],"nofollow",[322,323],"img",{"alt":324,"src":325},"Add Faivelo to Cursor","https:\u002F\u002Fcursor.com\u002Fdeeplink\u002Fmcp-install-dark.svg",[206,327,328,329,332,333,336],{},"Or add it to ",[210,330,331],{},".cursor\u002Fmcp.json"," (this project) or ",[210,334,335],{},"~\u002F.cursor\u002Fmcp.json"," (every project):",[255,338,342],{"className":339,"code":340,"language":341,"meta":263,"style":263},"language-json shiki shiki-themes github-light-high-contrast","{ \"mcpServers\": { \"faivelo\": { \"url\": \"https:\u002F\u002Ffaivelo.com\u002Fapi\u002Fmcp\" } } }\n","json",[210,343,344],{"__ignoreMap":263},[275,345,346,350,354,357,360,362,365,368,371],{"class":277,"line":278},[275,347,349],{"class":348},"sigWx","{ ",[275,351,353],{"class":352},"s742_","\"mcpServers\"",[275,355,356],{"class":348},": { ",[275,358,359],{"class":352},"\"faivelo\"",[275,361,356],{"class":348},[275,363,364],{"class":352},"\"url\"",[275,366,367],{"class":348},": ",[275,369,370],{"class":285},"\"https:\u002F\u002Ffaivelo.com\u002Fapi\u002Fmcp\"",[275,372,373],{"class":348}," } } }\n",[247,375,377],{"id":376},"vs-code","VS Code",[206,379,380,385],{},[307,381,384],{"href":382,"rel":383},"https:\u002F\u002Finsiders.vscode.dev\u002Fredirect\u002Fmcp\u002Finstall?name=faivelo&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Ffaivelo.com%2Fapi%2Fmcp%22%7D",[320],"Install in VS Code",", or from a terminal:",[255,387,389],{"className":269,"code":388,"language":271,"meta":263,"style":263},"code --add-mcp '{\"name\":\"faivelo\",\"type\":\"http\",\"url\":\"https:\u002F\u002Ffaivelo.com\u002Fapi\u002Fmcp\"}'\n",[210,390,391],{"__ignoreMap":263},[275,392,393,395,398],{"class":277,"line":278},[275,394,210],{"class":281},[275,396,397],{"class":292}," --add-mcp",[275,399,400],{"class":285}," '{\"name\":\"faivelo\",\"type\":\"http\",\"url\":\"https:\u002F\u002Ffaivelo.com\u002Fapi\u002Fmcp\"}'\n",[247,402,404],{"id":403},"openai-codex","OpenAI Codex",[255,406,408],{"className":269,"code":407,"language":271,"meta":263,"style":263},"codex mcp add faivelo --url https:\u002F\u002Ffaivelo.com\u002Fapi\u002Fmcp\ncodex mcp login faivelo\n",[210,409,410,426],{"__ignoreMap":263},[275,411,412,415,417,419,421,424],{"class":277,"line":278},[275,413,414],{"class":281},"codex",[275,416,286],{"class":285},[275,418,289],{"class":285},[275,420,299],{"class":285},[275,422,423],{"class":292}," --url",[275,425,302],{"class":285},[275,427,429,431,433,436],{"class":277,"line":428},2,[275,430,414],{"class":281},[275,432,286],{"class":285},[275,434,435],{"class":285}," login",[275,437,438],{"class":285}," faivelo\n",[247,440,442],{"id":441},"gemini-cli","Gemini CLI",[206,444,445],{},"Extension with the MCP server and the skill:",[255,447,449],{"className":269,"code":448,"language":271,"meta":263,"style":263},"gemini extensions install https:\u002F\u002Fgithub.com\u002Fethannschwartz\u002Ffaivelo-mcp\n",[210,450,451],{"__ignoreMap":263},[275,452,453,456,459,462],{"class":277,"line":278},[275,454,455],{"class":281},"gemini",[275,457,458],{"class":285}," extensions",[275,460,461],{"class":285}," install",[275,463,464],{"class":285}," https:\u002F\u002Fgithub.com\u002Fethannschwartz\u002Ffaivelo-mcp\n",[247,466,468],{"id":467},"windsurf","Windsurf",[206,470,471,472,475,476,479],{},"Add to ",[210,473,474],{},"~\u002F.codeium\u002Fwindsurf\u002Fmcp_config.json",". Windsurf calls the field ",[210,477,478],{},"serverUrl",":",[255,481,483],{"className":339,"code":482,"language":341,"meta":263,"style":263},"{ \"mcpServers\": { \"faivelo\": { \"serverUrl\": \"https:\u002F\u002Ffaivelo.com\u002Fapi\u002Fmcp\" } } }\n",[210,484,485],{"__ignoreMap":263},[275,486,487,489,491,493,495,497,500,502,504],{"class":277,"line":278},[275,488,349],{"class":348},[275,490,353],{"class":352},[275,492,356],{"class":348},[275,494,359],{"class":352},[275,496,356],{"class":348},[275,498,499],{"class":352},"\"serverUrl\"",[275,501,367],{"class":348},[275,503,370],{"class":285},[275,505,373],{"class":348},[247,507,509],{"id":508},"any-agent-that-reads-agent-skills","Any agent that reads Agent Skills",[255,511,513],{"className":269,"code":512,"language":271,"meta":263,"style":263},"npx skills add ethannschwartz\u002Ffaivelo-mcp\n",[210,514,515],{"__ignoreMap":263},[275,516,517,520,523,525],{"class":277,"line":278},[275,518,519],{"class":281},"npx",[275,521,522],{"class":285}," skills",[275,524,289],{"class":285},[275,526,527],{"class":285}," ethannschwartz\u002Ffaivelo-mcp\n",[206,529,530,531,533],{},"Installs the ",[210,532,236],{}," skill for whichever agents you have (Claude Code, Codex, Cursor, OpenCode and others).",[247,535,537],{"id":536},"agents-with-no-browser","Agents with no browser",[206,539,540,541,544,545,550,551,555],{},"Servers, CI and long-running agents can't click through a sign-in. Give them an ",[221,542,543],{},"agent key"," instead: create one in ",[307,546,549],{"href":547,"rel":548},"https:\u002F\u002Ffaivelo.com\u002Fsettings\u002Fdevelopers",[320],"Settings → Developers"," with kind ",[552,553,554],"em",{},"agent",", and send it as a header.",[255,557,559],{"className":339,"code":558,"language":341,"meta":263,"style":263},"{\n  \"mcpServers\": {\n    \"faivelo\": {\n      \"url\": \"https:\u002F\u002Ffaivelo.com\u002Fapi\u002Fmcp\",\n      \"headers\": { \"Authorization\": \"Bearer fvl_live_...\" }\n    }\n  }\n}\n",[210,560,561,566,574,582,595,614,620,626],{"__ignoreMap":263},[275,562,563],{"class":277,"line":278},[275,564,565],{"class":348},"{\n",[275,567,568,571],{"class":277,"line":428},[275,569,570],{"class":352},"  \"mcpServers\"",[275,572,573],{"class":348},": {\n",[275,575,577,580],{"class":277,"line":576},3,[275,578,579],{"class":352},"    \"faivelo\"",[275,581,573],{"class":348},[275,583,585,588,590,592],{"class":277,"line":584},4,[275,586,587],{"class":352},"      \"url\"",[275,589,367],{"class":348},[275,591,370],{"class":285},[275,593,594],{"class":348},",\n",[275,596,598,601,603,606,608,611],{"class":277,"line":597},5,[275,599,600],{"class":352},"      \"headers\"",[275,602,356],{"class":348},[275,604,605],{"class":352},"\"Authorization\"",[275,607,367],{"class":348},[275,609,610],{"class":285},"\"Bearer fvl_live_...\"",[275,612,613],{"class":348}," }\n",[275,615,617],{"class":277,"line":616},6,[275,618,619],{"class":348},"    }\n",[275,621,623],{"class":277,"line":622},7,[275,624,625],{"class":348},"  }\n",[275,627,629],{"class":277,"line":628},8,[275,630,631],{"class":348},"}\n",[206,633,634,635,309],{},"An agent key only reaches the mailboxes it created or was granted. It can't read your other inboxes, change domains or billing, or make more keys. See ",[307,636,160],{"href":161},[247,638,640],{"id":639},"sdks","SDKs",[255,642,644],{"className":269,"code":643,"language":271,"meta":263,"style":263},"npm install faivelo     # Node.js and TypeScript\npip install faivelo     # Python\n",[210,645,646,659],{"__ignoreMap":263},[275,647,648,651,653,655],{"class":277,"line":278},[275,649,650],{"class":281},"npm",[275,652,461],{"class":285},[275,654,299],{"class":285},[275,656,658],{"class":657},"sFeEa","     # Node.js and TypeScript\n",[275,660,661,664,666,668],{"class":277,"line":428},[275,662,663],{"class":281},"pip",[275,665,461],{"class":285},[275,667,299],{"class":285},[275,669,670],{"class":657},"     # Python\n",[247,672,674],{"id":673},"when-the-agent-finishes","When the agent finishes",[206,676,677,678,681],{},"Ask it to call ",[210,679,680],{},"get_setup_summary",". It returns a short summary of what is set up, what is still waiting on DNS, and where to manage it, ready to paste into a README or send to a teammate.",[683,684,685],"style",{},"html pre.shiki code .sV4o_, html code.shiki .sV4o_{--shiki-default:#702C00}html pre.shiki code .sYEJz, html code.shiki .sYEJz{--shiki-default:#032563}html pre.shiki code .sacAq, html code.shiki .sacAq{--shiki-default:#023B95}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 pre.shiki code .sigWx, html code.shiki .sigWx{--shiki-default:#0E1116}html pre.shiki code .s742_, html code.shiki .s742_{--shiki-default:#024C1A}html pre.shiki code .sFeEa, html code.shiki .sFeEa{--shiki-default:#66707B}",{"title":263,"searchDepth":278,"depth":428,"links":687},[688,689,690,691,692,693,694,695,696,697],{"id":249,"depth":428,"text":250},{"id":312,"depth":428,"text":313},{"id":376,"depth":428,"text":377},{"id":403,"depth":428,"text":404},{"id":441,"depth":428,"text":442},{"id":467,"depth":428,"text":468},{"id":508,"depth":428,"text":509},{"id":536,"depth":428,"text":537},{"id":639,"depth":428,"text":640},{"id":673,"depth":428,"text":674},"One-command installs of the Faivelo MCP server and email skill for Claude Code, Cursor, Codex, VS Code, Gemini CLI, Windsurf and OpenClaw.","md",null,{},true,{"title":175,"description":698},"Ea6GN4zQ49825Z_7L3G7wDgaFvRuCX-9TZbYFk_LS80",[706,708],{"title":171,"path":172,"stem":173,"description":707,"children":-1},"Turn a mailbox into a parsing endpoint. Every email in comes back as structured data, with the fields you care about filled in by Lens.",{"title":179,"path":180,"stem":181,"description":709,"icon":182,"children":-1},"Every error code the Faivelo API returns, what it means and how to fix it.",1791124188144]