About ExMCP Test Server
ExMCP Test Server is an Elixir implementation for experimenting with the MCP protocol. It combines JSON-RPC 2.0 handling with schema-driven validation and middleware, and includes an OpenRPC specification.
Key features
- 01JSON-RPC 2.0 compliant server
- 02Supports standard MCP methods
- 03Pluggable validation and middleware
- 04Schema-driven request and response validation
- 05Includes OpenRPC specification
Use cases
- 01Experimenting with MCP in Elixir
- 02Testing schema-validated MCP requests
- 03Inspecting the server's OpenRPC specification
MCP support
The server implements MCP initialization, prompt and resource listing, and tool listing and calls, making these methods available to MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEExMCP 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:
PhxJsonRpcfor the RPC layerExJsonSchemafor schema validationJasonfor 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.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.