Elixir MCP Server
@epinault
About Elixir MCP Server
An example of how to implement an MCP server using Elixir and SSE transport
Config
No standard config provided
This server doesn't expose a parseable MCP config block in its README. See the repository for install instructions.
RepositoryTools
3List files in a directory
Echo a message back
Get weather information
Overview
What is Elixir MCP Server?
An Elixir implementation of the Model Context Protocol (MCP) server using Elixir with Bandit and Plug. It uses SSE (Server-Sent Events) as the transport protocol and provides example tools for AI models to interact with local and remote resources.
How to use Elixir MCP Server?
Install dependencies with mix deps.get, then start the server with the WEATHER_API_KEY environment variable set: WEATHER_API_KEY="your_key" mix run --no-halt. The server is available at http://localhost:4000/sse for SSE and http://localhost:4000/message for messages.
Key features of Elixir MCP Server
- Implements the Model Context Protocol (MCP) using SSE transport
- Built with Elixir, Bandit, and Plug
- Provides three built-in tools:
list_files,echo,get_weather - Supports custom tools by modifying
handle_initializeandhandle_call_tool - Can be tested with the NXP Inspector client
Use cases of Elixir MCP Server
- Integrate AI models with local file systems via the
list_filestool - Create echo or debugging endpoints for AI interactions
- Fetch weather data using the
get_weathertool and a free WeatherAPI key - Build custom MCP servers by extending the provided example
FAQ from Elixir MCP Server
What are the runtime requirements?
Elixir 1.18 or higher and Erlang/OTP 27 or higher are required.
How is the server transport configured?
The server uses Server-Sent Events (SSE) as the transport protocol. The SSE endpoint is at /sse and the message endpoint is at /message.
Where does the weather API key come from?
The WEATHER_API_KEY environment variable should hold your API key from the free tier of https://www.weatherapi.com/.
How can I test the server?
Use the NXP Inspector client with SSE transport to list tools, call them, and send ping/keepalive requests.
Can I add my own tools?
Yes. Update the handle_initialize/2 function to define new tools and implement corresponding handle_call_tool/3 clauses.
Frequently asked questions
What are the runtime requirements?
Elixir 1.18 or higher and Erlang/OTP 27 or higher are required.
How is the server transport configured?
The server uses Server-Sent Events (SSE) as the transport protocol. The SSE endpoint is at `/sse` and the message endpoint is at `/message`.
Where does the weather API key come from?
The `WEATHER_API_KEY` environment variable should hold your API key from the free tier of https://www.weatherapi.com/.
How can I test the server?
Use the NXP Inspector client with SSE transport to list tools, call them, and send ping/keepalive requests.
Can I add my own tools?
Yes. Update the `handle_initialize/2` function to define new tools and implement corresponding `handle_call_tool/3` clauses.
Basic information
More Other MCP servers
Blender
ahujasidOpen-source MCP to use Blender with any LLM
Nginx UI
0xJackyYet another WebUI for Nginx
FastMCP v2 ๐
jlowin๐ The fast, Pythonic way to build MCP servers and clients.

Peekaboo MCP โ lightning-fast macOS screenshots for AI agents
steipetePeekaboo is a macOS CLI & optional MCP server that enables AI agents to capture screenshots of applications, or the entire system, with optional visual question answering through local or remote AI models.
MCP Registry
modelcontextprotocolA community driven registry service for Model Context Protocol (MCP) servers.
Comments