Build a Hermes Plugin
This guide walks through building a complete Hermes plugin from scratch. By the end you'll have a working plugin with multiple tools, lifecycle hooks, shipped d
This guide walks through building a complete Hermes plugin from scratch. By the end you'll have a working plugin with multiple tools, lifecycle hooks, shipped data files, and a bundled skill — everything the plugin system supports. A calculator plugin with two tools: Plus a hook that logs every tool call, and a bundled skill file. …
What this page covers
- What you're building
- Step 1: Create the plugin directory
- Step 2: Write the manifest
- Step 3: Write the tool schemas
- Step 4: Write the tool handlers
- Step 5: Write the registration
- Step 6: Test it
- Debugging plugin discovery
- Your plugin's final structure
- What else can plugins do?
- Ship data files
- Bundle skills
- Gate on environment variables
- Lazy-install optional Python dependencies
- Thread-safe lazy singletons
- Conditional tool availability
- Overriding a built-in tool
- Register multiple hooks
- Hook reference
- prellmcall context injection
- Register CLI commands
- Register slash commands
- Dispatch tools from slash commands
- Handle Slack Block Kit button clicks
- Specialized plugin types
- Model provider plugins — add an LLM backend
- Platform plugins — add a gateway channel
- Memory provider plugins — add a cross-session knowledge backend
- Context engine plugins — replace the context compressor
- Image-generation backends
- Non-Python extension surfaces
- MCP servers — register external tools
- Gateway event hooks — fire on lifecycle events
- Shell hooks — run a shell command on tool calls
- Skill sources — add a custom skill registry
- TTS / STT via command templates
- Distribute via pip
- Distribute for NixOS
- Common mistakes
Section outline mirrored from the official Hermes Agent documentation. Follow any heading to read the complete text on the source site.
More in Guides & Tutorials
Tips & Best Practices
A quick wins collection of practical tips that make you immediately more effective with Hermes Agent. Each section targets a different aspect — scan the headers
Run Local LLMs on Mac
This guide walks you through running a local LLM server on macOS with an OpenAI compatible API. You get full privacy, zero API costs, and surprisingly good perf
Tutorial: Daily Briefing Bot
Tutorial: Build a Daily Briefing Bot In this tutorial, you'll build a personal briefing bot that wakes up every morning, researches topics you care about, summa
Tutorial: Team Telegram Assistant
Set Up a Team Telegram Assistant This tutorial walks you through setting up a Telegram bot powered by Hermes Agent that multiple team members can use. By the en
Using Hermes as a Python Library
Hermes isn't just a CLI tool. You can import directly and use it programmatically in your own Python scripts, web applications, or automation pipelines. This gu
Use MCP with Hermes
This guide shows how to actually use MCP with Hermes Agent in day to day workflows. If the feature page explains what MCP is, this guide is about how to get val