Skip to main content
This quickstart uses the Fentaris CLI to generate a ready-to-run local project with one remote HTTP upstream MCP server.

Choose a Setup Path

Setup with an agent

Install the Fentaris agent skills when you want an agent to ask setup questions, choose the project shape, configure upstream MCP servers, and run validation.

Setup with the CLI

Install @fentaris/cli when you want generated files, fentaris.json, package scripts, and a local proxy running at the default endpoint.

Manual setup

Install @fentaris/core directly when you already have a TypeScript project or want full control over the proxy declaration.

CLI Setup

Install the CLI and generate a project:
For automation, pass the project name and scaffold choices explicitly:
If you omit --skip-install, the package manager passed to --package-manager must be installed and available on PATH. The proxy listens on http://localhost:4000/mcp by default. Generated projects read port and path from fentaris.json, so fentaris dev and app.start() stay aligned without hardcoding the endpoint in src/index.ts.
The generated app explicitly allows all upstream operations and does not configure authentication. Replace the development policy with API-key auth and an allow-list policy before exposing the proxy outside your machine.

Generated Project

fentaris init creates these files:
  • src/index.ts with the runnable proxy example.
  • fentaris.json for CLI project discovery and runtime port/path defaults.
  • .gitignore, TypeScript config, and package scripts.
The generated dev and start scripts load an optional project .env. The file is ignored by Git. Fentaris creates FENTARIS_AUTH_KEY there only when the first local encrypted credential is written; projects without encrypted credentials do not need a key. The generated package.json pins @fentaris/core to a caret range that matches the CLI release (currently ^2.0.0). This makes local SDK/CLI integration tests deterministic — the app installs the same core the CLI was validated against instead of whatever happens to be latest on npm.
fentaris init initializes a git repository when git is available. Pass --skip-git to create only the project files.

Local development against the monorepo

If you are working inside the Fentaris repository and want a generated project to import the local @fentaris/core instead of the pinned range, pass a workspace or file reference to --core-version:
or
The doctor check skips installed-version validation for workspace and file references. Use your package manager to update released dependencies:

Connect a Client

Point your MCP client to the endpoint printed by fentaris dev, usually:
For a direct curl smoke test, initialize the MCP session and save the response headers:
Capture the mcp-session-id header from the initialize response:
Send the MCP initialized notification on the same session:
Then list tools with the same mcp-session-id header:
You can also use npx @modelcontextprotocol/inspector and point it at http://127.0.0.1:4000/mcp.
For client-specific JSON snippets, see Client Configs.

Add a Local Edge Device

Enable the disabled-by-default edge.controlPlane block in fentaris.json, set publicOrigin to http://127.0.0.1:4000, and restart the app. In one terminal join the device:
In the project terminal approve the displayed code for an application subject:
The running app enrolls the device, derives its assignments from your Edge targets and placements, and publishes capabilities after local setup and readiness succeed. See Set Up an Edge Device for workload declarations and production guidance.

Validate the Project

Run the local checks before connecting a client:
Use fentaris doctor --runtime when you want to verify the MCP endpoint and enabled integrated Edge routes.