MCPSERV.CLUB
y86

ExMCP Test Server

MCP Server

Elixir MCP server for protocol experimentation and testing

Stale(55)
9stars
2views
Updated Jun 21, 2025

About

An Elixir-based Model Context Protocol (MCP) server that implements JSON‑RPC 2.0, supports standard MCP methods, and offers pluggable validation, middleware pipelines, and schema‑driven request/response checks. Ideal for developers experimenting with MCP.

Capabilities

Resources
Access data sources
Tools
Execute functions
Prompts
Pre-built templates
Sampling
AI model interactions

ExMCP Test Server in Action

Overview

The ExMCP Test Server is a lightweight, fully‑compliant implementation of the Model Context Protocol (MCP) written in Elixir. It serves as a sandbox for developers and researchers who want to experiment with MCP without the overhead of building a production‑ready server from scratch. By exposing all core MCP methods—initialization, prompts, resources, and tools—the server demonstrates how a typical MCP host can be structured around modern Elixir libraries such as , , and .

Problem Solved

Integrating an AI assistant with external systems requires a reliable, standards‑based interface that can validate requests, enforce schemas, and route calls to the correct tool or resource. Many existing examples are either incomplete or tightly coupled to a specific framework, making it hard to prototype new features. The ExMCP Test Server removes this friction by providing a ready‑made, testable MCP stack that follows JSON‑RPC 2.0 and OpenRPC specifications. Developers can focus on the logic of their tools or prompts while trusting that communication, validation, and error handling are handled consistently.

Core Capabilities

  • JSON‑RPC 2.0 Compliance – The server uses to implement a robust, asynchronous RPC layer that supports both requests and notifications.
  • Schema‑Driven Validation validates incoming payloads against OpenRPC schemas, ensuring that clients receive meaningful errors before any business logic runs.
  • Pluggable Middleware – A flexible pipeline allows developers to inject authentication, logging, or custom pre‑processing steps without modifying the core RPC logic.
  • OpenRPC Specification – The included file makes the API self‑documenting, enabling tools like Swagger UI or Postman to generate interactive docs automatically.
  • Tool and Prompt Management – Built‑in methods (, , ) provide a foundation for extending the server with new capabilities or integrating existing libraries.

Real‑World Use Cases

  • Rapid Prototyping: A data scientist can spin up the server, expose a new analysis tool, and immediately test it with Claude or another MCP‑compliant assistant.
  • Testing Toolchains: QA engineers can use the server to validate that a set of tools behaves correctly under different request patterns before deploying them in production.
  • Educational Demonstrations: Instructors can showcase how MCP works by walking through the server’s OpenRPC docs and live RPC calls, giving students hands‑on experience.
  • Integration Testing: Continuous integration pipelines can start the server as a test service, ensuring that any changes to tool logic or schema definitions do not break existing contracts.

Integration with AI Workflows

Because the server follows MCP standards, it can be plugged into any AI assistant that supports the protocol—Claude Desktop, LlamaIndex, or custom agents. Developers simply add a configuration entry pointing to the server’s executable and arguments, after which the assistant can discover available tools and prompts via or . The assistant then issues requests to execute logic, receiving structured responses that can be rendered or further processed. This seamless integration eliminates the need for bespoke adapters, reducing friction when adding new data sources or automation capabilities to an AI workflow.