mcpField
V
Vancouver

Vancouver

本地服务
github.com/jameslong开发工具3871 周前更新

关于 Vancouver

Vancouver 是用于 Elixir 的简单 MCP 服务库,可为 Phoenix 或 Bandit 服务器添加 MCP 功能。它处理初始化与请求校验,并提供创建工具和提示词的辅助函数。该库仍处于早期开发阶段,可能出现破坏性变更。

主要功能

  1. 01为 Phoenix 或 Bandit 服务添加 MCP 路由
  2. 02提供工具与提示词的定义模块
  3. 03自动处理初始化与请求校验
  4. 04暂不支持流式响应

适用场景

  1. 01在 Elixir Web 应用中暴露工具给 MCP 客户端
  2. 02为代码审查等任务提供预设提示词

MCP 相关

该项目是用于构建 MCP 服务的库,可将 Elixir 应用的工具与提示词通过 /mcp 路由提供给 Claude Desktop 等客户端。目前仅支持 tools 与 prompts。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

CI Hex.pm Hexdocs.pm Hex.pm Hex.pm

Vancouver

Vancouver 可轻松为你的 Phoenix/Bandit 服务添加 Model Context Protocol (MCP) 功能。Vancouver 负责初始化、请求验证,并提供辅助函数,简化 MCP 工具和提示词的创建。

开始使用

1. 添加依赖

在 mix.exs 中:

defp deps do
  [
    {:vancouver, "~> 0.3"}
  ]
end
2. 创建工具/提示词

你可以这样实现工具:

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
end
3. 添加配置

在 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 工具。🚀

常见问题

Vancouver 支持 Model Context Protocol 规范的所有部分吗?

还不支持。Vancouver 目前支持:

  • 工具
  • 提示词
  • 同步响应(不支持流式传输)

不过,这个库足够简单,你应该可以根据自己的需求对其进行修改。

有关协议本身的更多信息,请参阅 MCP User Guide。

Vancouver 稳定吗?可以用于生产环境吗?

不可以。这个库仍处于早期开发阶段,可能会有破坏性变更。

这个库为什么叫 Vancouver?

Vancouver 是 MCP(山脉、咖啡和 Phoenix)的天然家园。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。