Deploy agents Connect your tools. Your agents, MCP servers, and website in one Farm.js codebase, connected, managed, and observable together .
Enable JavaScript to join the agent infrastructure waitlist.
Farm.js / Agents [ Concept ]
...::+++====++++======++:... ..:++=****==+::::+++===***==++:::... ....:::++++++::::......:::::::.... ......:::.....::::::..... ...::++======++:::... ..:++=****==+::.. ...::+++===*====++::... ....:::++++++++:::.... ....:::::::... ......:::::...... ...:::++===+++:++======+++::.... ..:++=****==+::.. ....::++========++::... ...:::+++++++++:::... ....:::::::... .......:::......:::::..... ....::++++++++::.......::++=======+++::.... ..::+=****==+::.. ...:::++=======++::.::+++====+++::.... ...:::::::... ........:........ .....:::::...... ::+++++++::.... ...::+++=======+++::.... ..::+==***==+::.. ...::++============++::.... ...:::::::... ........::....... .....::::::: +++:::.... ....::++=========++:::..::+==***==+::.. ..::++==========++::... ...::::::.... ........::::....... .....:: :.... ...:::++===**======***==+::.. ...::+=======++:::++======++::.. ...::::::..:::::::...... .. ....::++===****===+++::.... ..::++==**===+::... ...::++=====++::... ......:::::::::...... ..::++=====+++++===****===++:::... ...::+==***==++::.. ...::++====++::... .....:::::::::::.....:::::.... ..::++=====++::......:::++===*****==+++::.... ...:++=****==++:... ...::+++===++::... .....:::::::::::::..... ....:::::.... :.... ..::++=====++:... ...:::++===*****===++::......::+==****==+::.. ...::++===+++:... ....::::++++++::::..... ....:::::.... ... ::::::.... ...::++====++::... ....::++===*****===+++==****=++::.. ...::+++==+++::::++++++++::::.... .....::::..... .....:: .::::++::::.... ...::+++==+++::... ....::++===*******=++::... ....:::++++++++++:::.... .....::::..... ......:::... ....:::++++:::......::+++++++::... ..::+==***====*****===+:::... ...:::+++====+++++++++::... .....:::..... .......:....... ...::::++++::++++++:::... ..::+==***==+::..::++===*****==++::... ...:::++======+++:::....::++++++::... .....:::......:....... ...::::+++++++:::.... ..::+==***==+::.. ....::++==*****===+::... ...::++=======+++::.... ...::++++++::... .......::::....... ....::::++::::.:::+++++++:::.... ...:++==**==+::.. ....::++==*****==+::... ...::++=======+++::... ...::++++++::... ......:::::.........::....... .....:::::::::.... ....:::++++++++:::.... ...:++======+::.. ...::++==*****==+:::+===***==++:::... ...:::+++++::... ......::::::::..... ......:........ :::::::::.... ....:::+++++++++:::..... ...::+=====++::.. ...::++==****=***===+::... ...:::+++++::... .....::::::::::..... ........... :::..... ....:::++++++++++:::..::++====++::.. ..::++==****=****==++::.. ..:::++++:::......:::::::::::..... ...... .. ....:::++++====++====++::.. ...:++==****==++:.:++==****==+::... ..:::++++:::+++:::::.... . ...::+++========+++:::.... ..::+==*****=++::... ...::++==***==++:... .....::::+++++++++:::... ...::++++++:::::+++======+++:::.... ..::+==****==+::... ...::+===**==++::.. .....:::+++++++++::::..:::++::::... ...::++++++::... ....:::+++=======+++:::... ...::+==****=++::.. ...:++==**===+::.. ....:::++++===++++:::.... ...:::++::::... ..... ...::+++++:::... ....:::+++========++:::.....:++==***==+::... ...::+===*===+::......::+++======+++:::.... ...:::::::::... ... ::::...... ...:::+++:::... ...:::++=========+++==**===+::.. ..::++======+++========+++::.... ...:::::::::... ......:: ....::::::..... ....:::::::::... ....::++====**===++:::... ...:::++========+++::.... ....::::::::... ......::::.... .....::::::........::::::::.... ..::+======++===***===++::.... ....::++===***===++======+::.. ....::::::::........::::::..... .....:::::::::::::.... ..::++====++::....:::++===***===++::... ...::++==*****==++:::....::+======+::.. ...::::::::::::::..... .....:::::::::::..... ..::++====++::.. ...::++===****==++::... ...::++==****===++::... ..::+======+::.. .....:::::::::::::.... ......:::::.......:::::::::..... ...:+++===++::.. ....::++==****===+::... ...::+==*****==++::.... ..::++====++::.. .....:::::::::::.....:::::::..... .......:::...... .....::::::::::..... ...::++++++::... ...::++==*****==+:+==*****==++::... ..::++====++::.. ....::::++++++:::.... .....:::::::.... ..::....... ....::::::::::::..... ...::++++++::... ...::++==*******==++::... ..::++====++::.. ....:::++++++++:::.... .....:::::: ...... .....::::::::::::...:::+++++::... ...:++==****===****==++::.. ..::++====++:::::++++++++++:::.... ...... . ....:::::++++++++:::... ..::++==***==++::.::++==****==+::... ..::++========++++:::.... ...:::++::++++++::::..... ...::+===**==++::... ...::+==*****=++:... ....:::+++======+===+++:... ...::::::::.....::::+++++++::::.... ...:++======++::... ...:++==****==+::.. ...:::+++========+++::.::++===+++:... ....:::::::... .....:::+++++++++:::..... ...:++======++:... ..::+==****==+::.. ....:::++====*====+++::.... ..::+++==+++::.. ..... ....::::::.... ....:::++++++++++:::.....:++=====++::... ...:++=****==+::...::++===****===+++::.... ..::+++==+++::... ....: ..:....... ....:::::..... ....:::++++++++++++===+++:... ...::+==****====*****==+++::.... ...::+++++++::... ....:::::: .......:....... .....:::::.... ....:::+++====+++:::.... ...::++===******=+++::.... ...::+++++++::... ....::::::::::.. ....................:::..... ...::+++++++::++++====+++:::... ...:::+===*****===++==****=++:.. ...:::++++++:::..:::++++::::... .......:...:...... ..:::+++++::... ...:::+++=====+++::.... ...::++==*****===++::.....::+==****=++:.. ...::++++++++++:::.... ............:........ ...::++++:::... ....:::++======++:::... ...::++==*****==++::... ..::+==***==++:.. ....:::+++++++++++++:::... .......::...... .......::........ ...:::+++:::... ....::++=======++::.....::++==****==++::.... ...:+==***==+::.. ....:::++++==+++:::...:::+++++:::.... .....::::...... .......::::....... ....:::::::.... ....::++=======+++===**===++::... ...:+==***==+::.. ....:::++======+++::... ....:::+++++:::. :::::..... ......:::::....... ...:::::::... ...::++=======++:::... ..::+==***==+::.. ....::+++=======++:::... ....:::++++ ..... .......::::::......:::::::... ..::++======+++=======+::... ..::+==***==+::++=========++::.... ....:: ......:::::::::..... ...::++=====++::.....::+===*===++::.. ....::+==******===++:::... . ....:::::.:::::::::...... ...::+++===++::... ...::++==**===+::... ...:::++===*****===***==+::.. .....:::..... ......::::::::::..... ...::+++++++::.... ...::+==***==++:... ....::+++==******==+++::.::++==**==+::.. .. .....::...... .....:::::::::::...... ...::++++++:::... ..::++==**==++::.. ....::++===******==++:::... ..::++==*===+::... .. ::..... ............ .....::::::::::::......:::+++++::... ...:++==***==+::.::++===*****===++::.... ...:++======++:... ...:::+ :::::::.... ............. .....:::::::::::++++:::... ...::+==***===*****===++::.... ...:++======++::.. ...:::++++++ Farm.js Routes it all
Your site Markdown, WebMCP
Farm.js Routes it all
Your site Markdown, WebMCP
Deploy · Connect · Observe + + +
06.1 / Available today
Agent-native by default. Every Farm.js v0.1.0 app can run an agent, answer agents in Markdown, and expose the tools you choose. Discovery never grants permission; your app still authorizes every action.
01 / Agent runtimes [ v0.1.0 ] Run agents beside your app. integrations: { agent: eve() }Register Eve or Cloudflare Agents in farm.config.ts. farm dev starts the runtime and serves its routes on your app's origin. In production they ship together on Vercel (Eve) or in one Worker built with the cloudflare-module preset (Cloudflare Agents). On other targets, deploy the runtime separately and set its origin; Farm proxies to it.
Agent integrations 02 / Readable by default [ Default ] Every page in Markdown. curl -H "Accept: text/markdown" /pricingPages answer agents with a Markdown mirror, by .md suffix or Accept header. Turn on OpenAPI and llms.txt with ordinary config.
Markdown mirrors 03 / MCP tools [ Experimental ] API routes as MCP tools. mcp: { tools: [listProjects] }Expose selected endpoints and standalone tools through one Streamable HTTP server. Each route keeps its validation and middleware, under one shared authorization policy.
MCP example 04 / WebMCP [ Experimental ] Tools inside the open page. registerWebMCPTool(listProjects)Components register named tools while the page is open. They call your same-origin APIs with the user's own session, in browsers that support WebMCP.
WebMCP plugin 06.2 / What we're building next
From your codebase. To the agent web. We're building a home for your agents, their tools, and the websites they work with. Connected through the framework you already use.
01 / Deployment Your agents. Your codebase. Deploy and manage agents alongside your Farm.js app, from the same codebase, with one shared place to follow each agent's lifecycle and status.
02 / MCP & connections One gateway for every MCP server. Deploy MCP servers and connect compatible clients to them. Farm.js gathers your servers behind a single tool that orchestrates them on each client's behalf.
03 / Agent-ready websites A website agents can use. Publish readable content and discoverable tool descriptions. Let compatible agents talk to your app, use approved actions, and receive results—not just read pages.
04 / Observability See the whole run. Follow runs, tool calls, logs, and failures together in one timeline, from the first request to the final response, with the timing of each step.
06.3 / Built for the open web
Your stack. Your permissions. Bring the tools and agent frameworks you already use. The goal is to connect through standard APIs and MCP, with access you explicitly allow. Discovery helps agents understand your website; it never grants them permission to act.
This infrastructure is upcoming, not part of Farm.js v0.1.0. The waitlist is for updates and early access—not a deployment console.