Hermes
Elixir Model Context Protocol (MCP) SDK
What is Hermes?
Hermes is a Model Context Protocol (MCP) server that allows AI assistants like Claude, Cursor, and VS Code to elixir model context protocol (mcp) sdk
Elixir Model Context Protocol (MCP) SDK
This server falls under the Developer Tools category on MCPgee, the world's largest MCP server directory with 33,000+ servers.
Features
- Elixir Model Context Protocol (MCP) SDK
Use Cases
Maintainer
Works with
Installation
Manual Installation
npx hermesConfiguration
Configuration Details
claude_desktop_config.json
Performance
Response Metrics
Resource Usage
How to Set Up and Use Hermes
Hermes MCP is an Elixir SDK for building Model Context Protocol servers and clients, developed by CloudWalk. It provides a native Elixir abstraction over the MCP specification, allowing Elixir developers to expose tools, resources, and prompts to AI assistants without leaving the BEAM ecosystem. Teams building fintech or real-time applications in Elixir can use Hermes to add AI assistant integration directly into their OTP applications.
Prerequisites
- Elixir 1.14 or later and Erlang/OTP 25 or later installed
- Mix build tool (included with Elixir)
- An MCP-compatible client such as Claude Desktop for testing your server
- Basic familiarity with OTP supervision trees and Mix projects
Add Hermes MCP to your Mix project
Add the hermes_mcp package as a dependency in your mix.exs file.
def deps do
[
{:hermes_mcp, "~> 0.1"}
]
endFetch dependencies
Download and compile the Hermes MCP dependency and its transitive dependencies.
mix deps.get && mix deps.compileDefine an MCP server module
Create an Elixir module that uses the Hermes.Server behaviour and implements the required callbacks to define your tools, resources, and prompts.
defmodule MyApp.McpServer do
use Hermes.Server
@impl true
def handle_tool("greet", %{"name" => name}, state) do
{:ok, "Hello, #{name}!", state}
end
endStart the server in your supervision tree
Add the MCP server to your application's supervision tree in application.ex so it starts automatically with your OTP app.
def start(_type, _args) do
children = [
{MyApp.McpServer, transport: :stdio}
]
Supervisor.start_link(children, strategy: :one_for_one)
endConfigure Claude Desktop to use your Elixir MCP server
Add the server entry to claude_desktop_config.json using the mix run command to launch your Elixir application.
{
"mcpServers": {
"hermes": {
"command": "mix",
"args": ["run", "--no-halt"],
"cwd": "/path/to/your/elixir/app"
}
}
}Hermes Examples
Client configuration
Claude Desktop configuration for an Elixir MCP server built with Hermes, launched via Mix.
{
"mcpServers": {
"hermes": {
"command": "mix",
"args": ["run", "--no-halt"],
"cwd": "/path/to/your_hermes_app"
}
}
}Prompts to try
Example prompts to interact with an Elixir MCP server built with Hermes.
- "Call the greet tool with name 'Alice'"
- "List all available tools exposed by this MCP server"
- "Fetch the resource at elixir://myapp/status"
- "Use the hermes server to check the health of the application"Troubleshooting Hermes
mix deps.get fails to find hermes_mcp package
Ensure you have the correct package name and version in mix.exs. Check Hex.pm for the latest version of hermes_mcp and update your dependency accordingly.
MCP server starts but Claude Desktop cannot connect
Verify the transport is set to :stdio in your server configuration, as Claude Desktop uses stdio transport. Check that the cwd in claude_desktop_config.json points to the correct Mix project directory.
handle_tool callback not being called
Ensure your tool names in handle_tool match exactly what is registered in the server's tool definitions, including case sensitivity. Add a catch-all clause to return an error for unknown tools.
Frequently Asked Questions about Hermes
What is Hermes?
Hermes is a Model Context Protocol (MCP) server that elixir model context protocol (mcp) sdk It connects AI assistants to external tools and data sources through a standardized interface.
How do I install Hermes?
Follow the installation instructions on the Hermes GitHub repository. Clone the repo, install dependencies, and add the server config to your AI client.
Which AI clients work with Hermes?
Hermes works with all major MCP-compatible AI clients including Claude Desktop, Claude Code, Cursor, VS Code (GitHub Copilot), Windsurf, and Cline.
Is Hermes free to use?
Yes, Hermes is open source and available under the MIT license. You can use it freely in both personal and commercial projects.
Hermes Alternatives — Similar Developer Tools Servers
Looking for alternatives to Hermes? Here are other popular developer tools servers you can use with Claude, Cursor, and VS Code.
Ecc
★ 188.2kThe agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.
Javaguide
★ 155.8kJava 面试 & 后端通用面试指南,覆盖计算机基础、数据库、分布式、高并发、系统设计与 AI 应用开发
Gemini CLI
★ 104.5kA secure MCP server that wraps the Google Gemini CLI, allowing clients to query Gemini models using local OAuth sessions without requiring an API key. It provides tools for model interaction and diagnostics with built-in protection against command in
Awesome MCP Servers
★ 87.3k⭐ Curated list of Model Context Protocol (MCP) servers - tools that extend Claude Desktop, Cursor, Windsurf, and other MCP clients with custom capabilities.
MCP Servers
★ 86.0kModel Context Protocol Servers
CC Switch
★ 77.5kA cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Gemini CLI & Hermes Agent. Only official website: ccswitch.io
Browse More Developer Tools MCP Servers
Explore all developer tools servers available in the MCPgee directory. Each server includes setup guides for Claude, Cursor, and VS Code.
Set Up Hermes in Your Editor
Choose your AI client for step-by-step setup instructions.
Quick Config Preview
Add this to your claude_desktop_config.json or .cursor/mcp.json
Ready to use Hermes?
Browse our complete directory of 33,000+ MCP servers, read setup guides for your editor, and start building with the Model Context Protocol.