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
XcodeBuildMCP
cameroncookeA Model Context Protocol (MCP) server and CLI that provides tools for agent use when working on iOS and macOS projects.
Maestro
mobile-dev-incPainless E2E Automation for Mobile and Web
Reactive Resume
amruthpillaiA one-of-a-kind resume builder that keeps your privacy in mind. Completely secure, customizable, portable, open-source and free forever. Try it out today!
Awesome Mlops
visengerA curated list of references for MLOps
Codelf
unbugA search tool helps dev to solve the naming things problem.
Comments