Early AccessEvery agent is free to connect — no card, no checkout.

Documentation menu
Building agents

The Code part of an agent

Code is one of the four parts of an agent: a creator's real code from a GitHub repo, run 1:1 — the platform hosts the repository unchanged. It can run two ways: HOSTED (the default) — server-side in an isolated, ephemeral sandbox that FindAgent provisions for each run, connected over the hosted gateway; and LOCAL — the buyer downloads the built bundle and runs it on their own machine. A creator can offer either, or both.

On this page

Where Code fits in an agent

An agent is one package of up to four parts: Instructions, Skills, Actions and Code. Instructions, Skills and Actions run no code of their own; only the Code part does. The other three parts reach buyers through the same two doors as Code: Connect (the hosted gateway) and Install (a plugin from the catalog). See the docs home for the whole model.

Runtimes

A code agent declares one runtime. Node 22/24 and Python 3.13 are equal choices: the agent runs the same way, and only the build step differs.

RuntimeWhat the build doesWhat to plan for
Node 22/24npm install, then your build command, with a real node_modules in the sandbox.Commit package-lock.json to pin the install (other lockfiles are ignored), and build with npm run <script>.
Python 3.13pip install -r requirements.txt --target, vendoring the dependencies next to your code.No native or compiled dependencies: pin pure-Python packages in requirements.txt.

Bring your repo as-is

The Code part is the repository you already have — FindAgent runs it 1:1, unchanged. You don't rewrite it for the platform and you never write a findagent.json by hand: the submit flow reads the repo and generates the manifest from what's already there.

FindAgent reads the artifacts your repo already carries — an Anthropic DXT manifest.json, an MCP server config, your .env.example, package.json, and README — and auto-detects:

  • Tools — the capabilities your code exposes, surfaced as the agent's skills.
  • Credentials — the secrets your code needs, read from your DXT env and .env.example keys (never the values), each captured as a host-bound credential slot.
  • Hosts — the external hosts your code talks to, derived into the default-deny egress allowlist.

You confirm or edit what was detected and submit. That's the 1:1 promise: the repo you bring is the agent that runs.

Not sure where to start? FindAgent/agent-template is a code agent template in Node and Python, and FindAgent/agent-creators holds playbooks that work with any AI assistant.

Submit with GitHub connected

Code needs a GitHub repo for now. The Code part comes in through the GitHub-connected submit flow — your own repo, gated by an OAuth token you authorize. The other three parts also come in through Upload or the Editor; see What are you adding?.

  1. Connect GitHub. Authorize the FindAgent GitHub App so the platform can read the repo you choose. Only repos your connected token can read are reachable.
  2. Pick the repo. Choose the repository to publish. FindAgent snapshots it and generates the manifest from the code — tools, credential slots, and the egress allowlist are detected for you.
  3. Review & submit. Confirm the detected fields and submit. The bundle is statically scanned and human-reviewed before it can publish; a manifest the sandbox can't accept fails closed rather than being waved through.
Only your own repo
A code agent comes in through this OAuth-token-gated, ownership-checked flow, from a repository you can push to. There is no path that imports someone else's repository as an agent's code.

Autobuild & native dependencies

When an agent with code is approved, FindAgent builds it for the hosted runtime. The build installs dependencies and runs in the sandbox with a real node_modules — your code runs the way it does locally, not as a single flattened file.

  • Native dependencies are supported. Packages with native add-ons — the better-sqlite3 / playwright / onnxruntime class — build and run, because the runtime keeps a full node_modules rather than bundling everything into one module.
  • Prebuilds are fetched during the build. The build step reaches the package registries and prebuilt-binary hosts a native dependency needs, through an admin-managed build-egress allowlist.
  • The build fails closed. If a native dependency can't fetch or compile its binary, the build is marked failed and the agent does not serve — a broken bundle is never shipped.
Egress is admin-managed and per-agent
The hosts an agent with code may reach at build time and at run time are governed by allowlists. Run-time egress is the default-deny allowlist derived from your manifest's declared hosts; build-time egress (registries, prebuilt-binary hosts) is managed by FindAgent per agent. The sandbox can't reach anything outside them.
Service-account keys need the token-mint host too
Import detects the hosts your code talks to, but a Google/GCP service-account key has a hidden one. A service-account call first exchanges its signed JWT for a short-lived token at oauth2.googleapis.com before it reaches the data API (e.g. analyticsdata.googleapis.com for GA4), so the run-time allowlist must include the Google auth hosts — oauth2.googleapis.com, www.googleapis.com, and accounts.google.com — alongside the data host, or the token mint is blocked and the agent returns empty output with no error. A plain API key (e.g. a Gemini key on generativelanguage.googleapis.com) hits the data host directly and needs no auth host. FindAgent seeds these hosts for common vendor keys, but confirm them for your own code.

Connect to a hosted agent with code

A hosted agent with code runs in FindAgent's sandbox, so you use it by connecting your client to its gateway URL — nothing runs on your machine and there's nothing to keep running. The CTA on a hosted agent with code reads Get, never “Install”.

Add its remote MCP server URL — in the form https://mcp.findagent.cloud/agents/<slug> — as a connector in Claude, ChatGPT, Gemini, or any MCP-capable client, and sign in once. The full walkthrough is on the Connect page.

Run on your machine (local code-bundle)

A creator can also offer an agent with code you run on your own machine instead of — or in addition to — the hosted option. A local agent with code is downloaded and run by you via the FindAgent CLI, so it can reach your localhost and local tools. FindAgent never runs it: it runs on your computer, with your own access, like an npm package or a local MCP server.

  • Hosted, local, or both. An agent with code declares how it can serve. Hosted is the default; a creator may add a local option, or offer a local-only agent. A local-only agent has no hosted gateway URL — it is never run by FindAgent.
  • Buyer-run, buyer-consented. When you run a local agent it executes with your user's access — it can read your files, use your local tools, and make network requests, just like any program you run. There is no FindAgent-enforced egress allowlist on a local run — your machine is the boundary.
  • Review the source first. A local agent still passes the same automated scan and human review as any listing, but that is not a guarantee it is safe to run on your machine. Review the source before you run it — and if the source is private, only run it if you trust the publisher.
  • Your credentials stay local. A local agent uses your own keys, set through the CLI; they stay on your machine and are never sent to FindAgent.

The listing's Setup section shows the exact run command and client-config snippet when a local option is offered. The security model explains the hosted-vs-local trust boundary in full.

Readiness & degraded states

An agent with code moves through build and readiness states after it's approved. The gateway only serves a ready agent:

StateWhat it means
BuildingThe bundle is installing dependencies and building in the sandbox.
ReadyThe build succeeded — the agent serves over the hosted gateway.
Build failedA build or native-dependency step failed. The agent is held back rather than serving a broken bundle (fail-closed).
DegradedRepeated runtime failures trip a circuit breaker into a short cooldown, then a probe; healthy runs restore normal serving.

Publishing a new version of an already-published agent with code creates a fresh pending version and builds it separately — the live version keeps serving until the new one is approved, so an in-progress build never takes a working agent down.

Fixed your repo? Re-pull to rebuild
The build compiles a snapshot of your repository taken at pull time, not its live state on GitHub. If a build failed and you've since fixed the repo, editing GitHub alone won't change the result — re-running the build recompiles the same snapshot. Use Re-pull from GitHub & rebuild (on the failed build, or via “Publish new version” → “Re-pull from your repository”) to pull your latest code into a fresh snapshot and rebuild from it.

Metering

Calls to an agent with code over the hosted gateway are the metered surface — usage is recorded per call on the gateway path. This is what makes hosted agents with code the primary, billable way to run real code on FindAgent. A local agent with code runs offline on the buyer's own machine, so — like any offline local run — it is inherently unmeterable and isn't counted.

Security

The security keystone is unchanged. Instructions, Skills and Actions run no code of their own; only the Code part does. The Code part is scanned statically and human-reviewed before it publishes. Where it runs depends on how it's served:

  • Hosted — the code runs only inside the isolated, ephemeral sandbox FindAgent provisions, walled off from FindAgent's own app and data and from your machine, with default-deny egress, host-bound credentials, and platform-enforced guardrails.
  • Local — the code runs on your machine with your own access; FindAgent never runs it and there is no platform-enforced sandbox or egress allowlist. The scan and review still ran, but they are not a guarantee it is safe to run — review the source first (like an npm package or a local MCP server).

See the security model for the full reasoning.