Fire in da houseTop Tip:Most people pay up to $340 per month for Perplexity, MidJourney, Runway, ChatGPT, and more - but you can get them all your AI tools for $15 with Galaxy. It's free to test!Fire in da houseCheck it out

ex-mcp-test

MCP.Pizza Chef: y86

ex-mcp-test is a test implementation of an MCP (Model Context Protocol) server written in Elixir. It supports JSON-RPC 2.0, standard MCP protocol methods, and features a pluggable validation and middleware pipeline. The server uses schema-driven request and response validation to ensure protocol compliance and includes an OpenRPC specification. Built with PhxJsonRpc for RPC handling, ExJsonSchema for validation, and Jason for JSON encoding/decoding, it is designed for developers experimenting with MCP in Elixir environments. It can be run locally or deployed as a release, making it suitable for integration with AI model hosts like Claude Desktop.

Use This MCP server To

Test MCP protocol implementations in Elixir environments Validate MCP JSON-RPC requests and responses with schemas Experiment with middleware pipelines for MCP servers Integrate MCP server with AI model hosts for protocol testing Develop and debug MCP server features using Elixir tools

README

ExMCP Test Server

An MCP (Model Context Protocol) server implementation in Elixir that provides a test implementation for experimenting with the protocol.

Features

  • JSON-RPC 2.0 compliant server implementation
  • Standard MCP protocol methods supported
  • Pluggable validation and middleware pipeline
  • Schema-driven request/response validation
  • OpenRPC specification included

Architecture

The server is built using:

  • PhxJsonRpc for the RPC layer
  • ExJsonSchema for schema validation
  • Jason for JSON encoding/decoding

Usage

Run the server locally:

mix run --no-halt

Configuration

The best way to run the model is to generate a release with

mix release

and add it to to your claude_desktop_config.json:

{
  "mcpServers": {
    "ex-mcp-test": {
      "command": "path/to/your/realease/bin/my_app",
      "args": [
        "start"
      ]
    }
  }
}

Development

Requirements:

  • Elixir 1.14+
  • Mix

Install dependencies:

mix deps.get

Run tests:

mix test

API Documentation

The server implements the following MCP methods:

initialize - Initialize the server
notifications/initialized - Handle initialization notification

prompts/list - List available prompts
resources/list - List available resources

tools/list - List available tools
tools/call - Call a specific tool

The OpenRPC specification can be found in priv/static/mcp-openrpc.json.

License

This project is licensed under the MIT License - see the LICENSE file for details.

ex-mcp-test FAQ

How do I run the ex-mcp-test server locally?
Use the command `mix run --no-halt` in your terminal to start the server locally.
What Elixir version is required to use ex-mcp-test?
ex-mcp-test requires Elixir version 1.14 or higher.
How can I include ex-mcp-test in my MCP client configuration?
Generate a release with `mix release` and add the executable path and start arguments to your `claude_desktop_config.json` under `mcpServers`.
What JSON-RPC version does ex-mcp-test support?
ex-mcp-test supports JSON-RPC 2.0 compliant communication.
Does ex-mcp-test support request and response validation?
Yes, it uses schema-driven validation with ExJsonSchema to validate MCP requests and responses.
Can I extend ex-mcp-test with custom middleware?
Yes, the server supports a pluggable middleware pipeline for custom validation and processing.
What libraries does ex-mcp-test use for JSON and RPC handling?
It uses PhxJsonRpc for RPC, ExJsonSchema for schema validation, and Jason for JSON encoding/decoding.
Is ex-mcp-test suitable for production use?
ex-mcp-test is primarily a test implementation for experimentation and development, not optimized for production environments.