Submit

Vancouver

@jameslong

Simple MCP server library for Elixir.
Overview

What is Vancouver?

Vancouver is a simple Model Context Protocol (MCP) server library for Elixir that facilitates the integration of MCP functionality into Phoenix/Bandit servers.

How to use Vancouver?

To use Vancouver, add it as a dependency in your Elixir project, create your MCP tools by defining modules, configure the server, and set up the necessary routes in your application.

Key features of Vancouver?

  • Simplifies the creation of MCP tools for Elixir applications.
  • Handles initialization and request validation for MCP.
  • Provides helper functions to streamline MCP tool development.

Use cases of Vancouver?

  1. Building custom tools for data processing in Elixir applications.
  2. Integrating MCP functionality into existing Phoenix/Bandit servers.
  3. Developing applications that require real-time data processing and communication.

FAQ from Vancouver?

  • Does Vancouver support all parts of the Model Context Protocol specification?

Not yet. Vancouver currently supports streamable HTTP transport, tools, sync responses (no streaming), and single messages (no batching).

  • Is Vancouver stable / ready for production?

No. This library is in early development and may have breaking changes.

  • Why is this library called Vancouver?

Vancouver is named as a nod to the Mountain, Coffee, and Phoenix, which are associated with the MCP.

© 2025 MCP.so. All rights reserved.

Build with ShipAny.