Hermes

v1.0.0Developer Toolsstable

Elixir Model Context Protocol (MCP) SDK

agentic-aielixirmcpmcp-server
Share:
370
Stars
0
Downloads
0
Weekly
0/5

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

Build MCP servers in Elixir.
Access Model Context Protocol SDK.
Integrate with Elixir applications.
cloudwalk

Maintainer

LicenseMIT
Languageelixir
Versionv1.0.0
UpdatedMay 18, 2026
Statushealthy
Maintenanceactive

Works with

ClaudeOpenAIwindowsmacoslinux

Installation

Manual Installation

npx hermes

Configuration

Configuration Details

Config File

claude_desktop_config.json

Performance

Response Metrics

Response Time< 200ms
ThroughputMedium

Resource Usage

Memory UsageLow
CPU UsageLow

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
1

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"}
  ]
end
2

Fetch dependencies

Download and compile the Hermes MCP dependency and its transitive dependencies.

mix deps.get && mix deps.compile
3

Define 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
end
4

Start 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)
end
5

Configure 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.

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.

Quick Config Preview

{ "mcpServers": { "hermes": { "command": "npx", "args": ["-y", "hermes"] } } }

Add this to your claude_desktop_config.json or .cursor/mcp.json

Read the full setup guide →

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.

33,000+ ServersFree & Open SourceStep-by-Step Guides