Content
# Elixir MCP Server
An Elixir implementation of the Model Context Protocol (MCP) server using Elixir with Bandit and Plug.
The Model Context Protocol (MCP) is an open protocol that enables AI models to securely interact with local and remote resources through standardized server implementations.
This project is a basic example of an MCP server using SSE (Server-Sent Events) as the transport protocol. It is based off the example at https://modelcontextprotocol.io/quickstart/server
## Prerequisites
- Elixir 1.18 or higher
- Erlang/OTP 27 or higher
- The weather API key can be set through the `WEATHER_API_KEY` environment variable.
The default service is using the free tier of https://www.weatherapi.com/.
## Getting Started
1. Install dependencies:
```
mix deps.get
```
2. Start the server:
```
WEATHER_API_KEY="1234567890abcdef" mix run --no-halt
3. The server will be available at:
- SSE endpoint: http://localhost:4000/sse
- Message endpoint: http://localhost:4000/message
## Available Tools
- `list_files`: List files in a directory
- `echo`: Echo a message back
- `get_weather`: Get weather information
## Testing with MCP Client
Install the [NXP Inspector client](https://modelcontextprotocol.io/docs/tools/inspector#inspector) and follow the instructions to connect to the server.
Make sure to use SSE (Server-Sent Events) as the transport protocol, then you should be able to list available tools and call them. Also to ping/keepalive the connection, you can use the `ping` tool.
## Adding Custom Tools
To add custom tools, update the `handle_initialize/2` function to include your tool definitions and implement corresponding `handle_call_tool/3` clauses.
Connection Info
You Might Also Like
markitdown
MarkItDown-MCP is a lightweight server for converting URIs to Markdown.
servers
Model Context Protocol Servers
Time
A Model Context Protocol server for time and timezone conversions.
Filesystem
Node.js MCP Server for filesystem operations with dynamic access control.
Sequential Thinking
A structured MCP server for dynamic problem-solving and reflective thinking.
git
A Model Context Protocol server for Git automation and interaction.