    
温哥华
温哥华很容易添加 模型上下文协议(MCP) Phoenix/Bandit服务器的功能。Vancouver处理初始化、请求验证,并提供帮助函数以简化MCP工具和提示的创建。
入门
1.添加依赖关系
在……里面 mix.exs:
defp deps do
[
{:vancouver, "~> 0.3"}
]
end2.创建工具/提示
你可以实现这样的工具:
defmodule MyApp.Tools.CalculateSum do
use Vancouver.Tool
def name, do: "calculate_sum"
def description, do: "Add two numbers together"
def input_schema do
%{
"type" => "object",
"properties" => %{
"a" => %{"type" => "number"},
"b" => %{"type" => "number"}
},
"required" => ["a", "b"]
}
end
def run(conn, %{"a" => a, "b" => b}) do
send_text(conn, "#{a + b}")
end
end提示如下:
defmodule MyApp.Prompts.CodeReview do
use Vancouver.Prompt
def name, do: "code_review"
def description, do: "Asks the LLM to analyze code quality and suggest improvements"
def arguments do
[
%{
"name" => "code",
"description" => "The code to review",
"required" => true
}
]
end
def run(conn, %{"code" => code}) do
send_text(conn, "Please review this code: #{code}")
end
end3.添加配置
在……里面 config.ex:
config :vancouver,
name: "My MCP Server",
version: "1.0.0"4.添加您的MCP路线
在……里面 router.ex:
forward "/mcp", Vancouver.Router,
tools: [MyApp.Tools.CalculateSum],
prompts: [MyApp.Prompts.CodeReview]5.(可选)添加到您的MCP客户端
例如,对于Claude Desktop,您可以修改配置 Settings -> Developer -> Edit config 如下:
{
"mcpServers": {
"MyApp": {
"command": "npx",
"args": [
"mcp-remote",
"http://localhost:4000/mcp"
]
}
}
}运行您的服务器,并重新启动Claude以开始使用您的MCP工具。 🚀
常见问题解答
温哥华是否支持模型上下文协议规范的所有部分?
还没有。温哥华目前支持:
- 工具
- 鼓励
- 同步响应(无流媒体)
然而,该库非常简单,您应该能够根据需要对其进行修改。
有关协议本身的更多信息,请参阅 MCP用户指南.
温哥华是否稳定/准备投产?
没有。这个图书馆还处于早期开发阶段。期待突破性的变化。
为什么这个图书馆叫温哥华?
温哥华是MCP(山、咖啡和凤凰城)的天然家园。
