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?
- Building custom tools for data processing in Elixir applications.
- Integrating MCP functionality into existing Phoenix/Bandit servers.
- 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.