Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MCPに入門する/ Introduction to MCP

shuntaka
April 04, 2025
39k

MCPに入門する/ Introduction to MCP

最近話題のModel Context Protocol(MCP)に関して、社内の勉強会(部内)で利用した資料を公開します!

ざっくり以下の内容が入っています!

プロトコル仕様
AWS MCPの話
開発方法

shuntaka

April 04, 2025
Tweet

Transcript

  1. ⾃⼰紹介 2 shuntaka/髙橋俊⼀ 業務: TypeScript/AWS/Backend 趣味: Go/Rust/Neovim/Nix 所属: クラスメソッド 製造ビジネステクノロジー部

    TypeScriptでライブラリやGo/Rust(new!)でCLIを作るのが好きです ddbrew/gh-p2/oax/s3-concat/preview-asciidoc.vim … shuntaka.dev/who
  2. 補⾜: inspired by Language Server Protocol MCP takes some inspiration

    from the Language Server Protocol Before After Microsoftが標準化。エディタと⾔語間の接続を標準化し、互換性 と開発効率を向上。stdioとJSON RPC 2.0の部分が共通点。 現在ではLSPの機能の充実具合は⾮常に重要な観点となっている。 6
  3. SSE から Streamable HTTP へ 8 https://github.com/modelcontextprotocol/specification/pull/206 Protocol Revision: 2025-03-26から仕様変更

    ‧サーバー接続を維持するため⾼可⽤性が要求されていた  → ステートフルからステートレスに。SSEはオプショナルで利⽤可 ‧再開機能をサポートしていない  → SSEのLast-Event-IDを使った再送制御
  4. クライアントのTransportサポート状況 9 参考: Model Context Protocol SSE(⾮推奨) (2024-11-05) stdio (2025-03-26)

    Streamable HTTP (2025-03-26) Roo Code ◯ ◯ X Cursor ◯ ◯ X Mastra ◯ ◯ X Claude Desktop X ◯ X Cline X ◯ X Windsurf ◯ (2025/04/03 Wave6にて対応) ◯ X 現状はstdioがほとんど。SSE/Streamable HTTPはブラウザ⽤、ホストマシンに何も⼊れたくない場合か な?typescript-sdkでStreamable HTTPの開発が進んでいる印象。
  5. MCPの機能 サーバーはfastmcpを使って、 実装しながら説明するよ 対象 機能名 説明 サーバー Resources クライアントがコンテキスト情報を取得できる (※

    一部の実装ではTools同様AIモデル自体がどのリソースを使用するかを決定でき る場合もあるみたいです) サーバー Prompts クライアントがテンプレートメッセージを利用できる サーバー Tools クライアントが外部システム連携機能を実行できる クライアント Sampling サーバーがクライアントの LLMを利用する クライアント Roots サーバーがクライアントにアクセスできるファイルシステムを 確認できる 10
  6. Resources(1/2) Promptより単純!指定したリ ソースをそのままプロンプトに ⼊⼒可能。 1つのファイルだと不便だった ので、load関数で再起的に読み 出して1つのファイル結合して みた。 これは推奨されないかも...() 13

    ※ クライアントから明⽰指定するパターンを紹介 します。AIモデル⾃体がリソースを決定できるパ ターンもあるみたいです。 Claude Desktopでは対応していません。
  7. 17 GitHub Copilot Agent modeのTools Visual Studio Code version 1.99でMCP

    Serverが 有効化可能。ツールをコンテキストに指定可能。 雑な指⽰でも起動を指定できる
  8. AWS MCPシリーズ(25/04/01) リンク ‧Core MCP Server ‧AWS Documentation MCP Server

    ‧Amazon Bedrock Knowledge Bases Retrieval MCP Server ‧AWS CDK MCP Server ‧Amazon Nova Canvas MCP Server ‧Cost Analysis MCP Server 25
  9. AWS Documentation MCP Server リンク ツール名 説明 read_documentation このツールはAWSのドキュメントページをマークダウン形式で 取

    得して変換します。 recommend このツールは指定した AWSドキュメントページに関連するペー ジを推薦します。 search_documentation 公式AWS Documentation Search APIを使ってAWSドキュメン トを検索するツールです。 リンク 26
  10. Amazon Bedrock Knowledge Bases Retrieval MCP Server リンク ツール名 説明

    QueryKnowledgeBases 自然言語でクエリを作成し、知識ベースから関連情報を取得で きます。複数の知識ベースに対して検索したり、同じ知識ベース に対して複数のクエリを実行できます。 すいません...試してないです... 27
  11. AWS CDK MCP Server リンク ツール名 説明 CDKGeneralGuidance AWSアプリケーションを作成するCDKのアドバイス CheckCDKNagSuppressions

    CDK Nagの抑制理由をレビューして、適切であることを判 断する(抑制=supress) ExplainCDKNagRule Nagルールの説明をしてくれる GenerateBedrockAgentSchem aFromFile Bedrock エージェントアクショングループのための OpenAPI スキーマを Lambda ファイルから⽣成するツール です。BedrockAgentResolver を含む Lambda ファイルを Bedrock 対応の OpenAPI スキーマに変換します。 GetAwsSolutionsConstructPat tern Well-Archベスプラに沿ったAWS Solutions Constructs パ ターンを検索‧発⾒するためのツール SearchGenAICDKConstructs 名前やタイプによって GenAI CDK コンストラクトを検索す る 28
  12. Amazon Nova Canvas MCP Server リンク ツール名 説明 generate_image Amazon

    Nova Canvasを使⽤してテキストプロンプトに基づい て画像を⽣成 generate_image_with_colors +カラーパレットを指定可能 30
  13. Cost Analysis MCP Server リンク ツール名 説明 analyze_cdk_project AWSサービスを特定するためにCDKプロジェクトを動 的に分析

    get_pricing_from_web AWS価格ウェブページから価格情報を取得 get_pricing_from_api AWS Price List APIから価格情報を取得 get_bedrock_architecture_patterns Amazon Bedrockアプリケーションのアーキテクチャ パターン、コンポーネント関係、コスト考慮事項を取 得 generate_cost_analysis_report AWS価格データに基づいて詳細なコスト分析レポート を⽣成します。単価情報、計算内訳、価格モデル、前 提条件などを含みます。 31