hermes-agent/website/docs/user-guide/features/recipes.md

3.1 KiB

Recipes — Shareable Setup Bundles

Recipes let you share a working Hermes setup — cron automations, remote MCP integrations, recommended skills, and a starter prompt — as a single YAML file that anyone can preview and install with one command.

Inspired by Poke's Recipes feature (shareable one-link setups), adapted for a self-hosted, security-first agent: secrets never travel, installs are consent-first, and recipes can never carry executable configuration.

Sharing your setup

hermes recipe export \
  --name "AI Research Kit" \
  --description "Daily arXiv digest + Exa search" \
  --jobs "ai digest" \
  --mcp exa \
  --skills official/research/arxiv \
  --starter-prompt "Give me today's paper highlights" \
  -o research-kit.yaml

Share research-kit.yaml anywhere — a gist, a repo, Discord. Anything with an https URL works as an install source.

What export includes and strips:

  • Cron jobs — prompt, schedule, skills, toolset restrictions. Run history, chat-specific delivery targets, and script/monitor_script fields are stripped (script jobs can't be exported at all — they're host-specific and executable).
  • MCP servers — remote (http/sse) servers only, minus every credential: headers, env, and any secret-shaped key are removed and recorded by name in required_secrets so installers know what to supply.
  • Skills — referenced by hub identifier, not bundled; installs go through the normal hermes skills install quarantine/consent flow.

Installing a recipe

# Preview first — shows everything the recipe would add
hermes recipe show https://example.com/research-kit.yaml

# Install (interactive confirmation; --yes to skip)
hermes recipe install research-kit.yaml

Install behavior:

  • Cron jobs are created paused. Review them, then hermes cron resume <id> — or pass --enable to activate immediately.
  • MCP servers are merged into config.yaml. Existing entries with the same name are never overwritten. Server URLs are validated through the SSRF guard before being written.
  • Missing credentials are called out. Any required_secrets the recipe recorded are printed with instructions — recipes never contain keys.
  • Skills are suggested, not auto-installed. The output prints the hermes skills install … commands so the hub's trust flow stays in charge.

Security model

A recipe is data, not a program:

  • stdio MCP servers (command:) are refused on export and install.
  • Cron script, monitor_script, no_agent, and workdir fields are refused on install.
  • Secret-shaped fields anywhere in a recipe fail validation.
  • URL sources are fetched through the SSRF-safe client with a 256 KiB cap.

Recipe format

recipe: 1
name: AI Research Kit
description: Daily arXiv digest + Exa search
author: yourhandle
starter_prompt: Give me today's paper highlights
skills:
  - official/research/arxiv
cron_jobs:
  - name: ai digest
    prompt: Summarize today's AI news
    schedule: 0 8 * * *
    deliver: local
mcp_servers:
  exa:
    transport: http
    url: https://mcp.exa.ai/mcp
required_secrets:
  exa:
    - api_key