mcpField
V
Vancouver

Vancouver

ローカル
github.com/jameslong開発ツール3871 週間前に更新

Vancouver について

Vancouver は、Phoenix や Bandit のサーバーに MCP 機能を追加するためのシンプルな Elixir ライブラリです。初期化とリクエストの検証を処理し、ツールとプロンプトの作成を補助する関数を提供します。ライブラリは開発初期段階にあり、破壊的変更が入る可能性があります。

主な機能

  1. 01Phoenix や Bandit サーバーへの MCP ルート追加
  2. 02ツールとプロンプトを定義するヘルパーモジュール
  3. 03初期化とリクエスト検証の自動処理
  4. 04ストリーミングは非対応で同期応答のみ

活用シーン

  1. 01Elixir アプリケーションのツールを 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 ツールを使用できるようになります。🚀

FAQ

Vancouver は Model Context Protocol 仕様のすべてに対応していますか?

まだ対応していません。現在、Vancouver は次の機能に対応しています。

  • ツール
  • プロンプト
  • 同期レスポンス(ストリーミングなし)

ただし、このライブラリはシンプルなので、ニーズに合わせて変更できます。

プロトコル自体の詳細については、MCP User Guide をご覧ください。

Vancouver は安定していて、本番環境で使用できますか?

いいえ。このライブラリは開発の初期段階にあります。破壊的変更が発生する可能性があります。

このライブラリが Vancouver と呼ばれるのはなぜですか?

Vancouver は MCP(Mountain、Coffee、Phoenix)の自然な故郷だからです。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。