Discover Awesome MCP Servers

Extend your agent with 31,319 capabilities via MCP servers.

All31,319
vscode-mcp-server

vscode-mcp-server

VSCode の設定、拡張機能、スニペットなどを管理するための VSCode MCP サーバー

File Edit Check MCP Server

File Edit Check MCP Server

事前読み込みチェックと詳細なコミットドキュメントを強制する MCP サーバー

MCP Server PostgreDB Finder

MCP Server PostgreDB Finder

McpRails

McpRails

Rails アプリケーションにおける MCP サーバー

OpenWeather MCP Server

OpenWeather MCP Server

天気予報のためのMCPサーバー (Tenki yohō no tame no MCP sābā) A more natural translation might be: 天気予報用MCPサーバー (Tenki yohō-yō MCP sābā) This translates to "MCP server for weather forecasting." The "-yō" suffix makes it more concise and idiomatic.

Browser Use MCP

Browser Use MCP

LibraryAI

LibraryAI

[C#/AI] (LibraryAI/ConsoleAI) AIナレッジベースおよびデータ処理プログラム

Bunnyshell MCP Server

Bunnyshell MCP Server

Marimo Documenation MCP Server

Marimo Documenation MCP Server

Marimoドキュメントへのプログラム的なアクセスを提供するModel Context Protocol (MCP)サーバー。

Model-Context-Protocol Servers

Model-Context-Protocol Servers

私が作成したすべてのMCPサーバー

gomcptest: Proof of Concept for MCP with Custom Host

gomcptest: Proof of Concept for MCP with Custom Host

カスタム構築されたホストが、OpenAI互換API、関数呼び出し、およびMCPサーバーとの連携を実装した、Google Vertex AIを用いた概念実証。

feishu-tools-mcp

feishu-tools-mcp

MCPサーバーは、カーソル飛書MCPプラグインのようなAIエンコーディングエージェントに、Feishu(ラーク)関連の操作を提供します。

GenAIScript MCP Demo 🚀

GenAIScript MCP Demo 🚀

GenAIScript の MCP サーバー機能のデモ

🧠 DeepSeek R1 Reasoning Executor

🧠 DeepSeek R1 Reasoning Executor

Claudeの能力を、DeepSeek R1の最先端の推論エンジンを統合することで強化する、強力なMCPサーバー。

Binance MCP Server

Binance MCP Server

鏡 (Kagami)

mcp-changtianML

mcp-changtianML

MCPサーバーからchangtianMLにアクセスする

Shell MCP Server

Shell MCP Server

鏡 (Kagami)

ts-mcp-server

ts-mcp-server

dice-thrower

dice-thrower

spring-mcp-server-sample

spring-mcp-server-sample

MCPサーバーサンプル

MCP_claude

MCP_claude

これは、Claude Desktop MCPクライアント用にMCPサーバーを構築する方法を示すためのものです。

Confluence Communication Server MCP Server

Confluence Communication Server MCP Server

鏡 (Kagami)

XACHE - Crypto Trader Website

XACHE - Crypto Trader Website

Goose AI と MCP サーバー

cursor_agents

cursor_agents

「MCPサーバーを使用して、専門家チームをエージェントフローに追加する」

mcp-edge-search

mcp-edge-search

Claude DesktopのようなMCPクライアントにウェブ検索機能を提供する、モデルコンテキストプロトコルサーバー

MCP Host Project

MCP Host Project

## Spring AI での MCP (Model Context Protocol) の Spring Boot アプリケーションへの統合 このドキュメントでは、Spring AI の MCP (Model Context Protocol) サポートを Spring Boot アプリケーションに統合する方法を、サーバーサイドとクライアントサイドの両方の実装をカバーして説明します。 **MCP (Model Context Protocol) とは?** MCP は、大規模言語モデル (LLM) との対話を標準化するためのプロトコルです。これにより、LLM にコンテキスト情報を提供し、より正確で関連性の高い応答を得ることができます。Spring AI は MCP をサポートしており、Spring Boot アプリケーションで LLM をより効果的に活用できます。 **前提条件** * Java 17 以上 * Maven または Gradle * Spring Boot 3.1 以上 * Spring AI 0.8.0 以上 * LLM API キー (例: OpenAI, Azure OpenAI) **1. プロジェクトのセットアップ** Spring Initializr (https://start.spring.io/) を使用して、必要な依存関係を含む Spring Boot プロジェクトを作成します。 以下の依存関係を含めることを推奨します。 * Spring Web * Spring AI * Lombok (オプション) **2. 依存関係の追加 (pom.xml)** ```xml <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.ai</groupId> <artifactId>spring-ai-spring-boot-starter</artifactId> <version>0.8.0</version> </dependency> <!-- 使用する LLM プロバイダーの依存関係を追加 (例: OpenAI) --> <dependency> <groupId>org.springframework.ai</groupId> <artifactId>spring-ai-openai</artifactId> <version>0.8.0</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> ``` **3. 設定 (application.properties または application.yml)** LLM プロバイダーの API キーとモデルを設定します。 ```properties spring.ai.openai.api-key=YOUR_OPENAI_API_KEY spring.ai.openai.model=gpt-3.5-turbo ``` または (application.yml): ```yaml spring: ai: openai: api-key: YOUR_OPENAI_API_KEY model: gpt-3.5-turbo ``` **4. サーバーサイドの実装 (MCP を使用して LLM にコンテキストを渡す)** ```java import org.springframework.ai.chat.ChatClient; import org.springframework.ai.chat.ChatResponse; import org.springframework.ai.chat.Generation; import org.springframework.ai.chat.prompt.PromptTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.util.Map; @RestController public class AiController { @Autowired private ChatClient chatClient; @GetMapping("/ai/generate") public String generate(@RequestParam("topic") String topic, @RequestParam("context") String context) { // プロンプトテンプレートを作成 String template = "以下のコンテキストに基づいて、{topic} について説明してください。\n\nコンテキスト: {context}"; PromptTemplate promptTemplate = new PromptTemplate(template); // コンテキストをマップに格納 Map<String, Object> model = Map.of("topic", topic, "context", context); // プロンプトを生成 String prompt = promptTemplate.render(model); // LLM にリクエストを送信 ChatResponse response = chatClient.call(prompt); // 応答を抽出 Generation generation = response.getResult(); return generation.getOutput().getContent(); } } ``` この例では、`@RequestParam` を使用してクライアントから `topic` と `context` を受け取ります。 `PromptTemplate` を使用して、コンテキストをプロンプトに組み込みます。 `ChatClient` は、生成されたプロンプトを LLM に送信し、応答を受け取ります。 **5. クライアントサイドの実装 (サーバーにコンテキストを送信)** クライアントサイドでは、サーバーに `topic` と `context` を含むリクエストを送信する必要があります。 以下は、JavaScript (fetch API) を使用した例です。 ```javascript async function generateText(topic, context) { const url = `/ai/generate?topic=${topic}&context=${context}`; try { const response = await fetch(url); const data = await response.text(); return data; } catch (error) { console.error("Error:", error); return "An error occurred."; } } // 使用例 const topic = "Spring AI"; const context = "Spring AI は、大規模言語モデル (LLM) を使用したアプリケーションを構築するためのフレームワークです。"; generateText(topic, context) .then(result => { console.log(result); }); ``` この例では、`generateText` 関数は、指定された `topic` と `context` を含む GET リクエストを `/ai/generate` エンドポイントに送信します。 サーバーからの応答はコンソールに記録されます。 **6. 実行とテスト** Spring Boot アプリケーションを実行し、ブラウザまたは API クライアント (例: Postman) を使用して `/ai/generate` エンドポイントにリクエストを送信します。 例: `http://localhost:8080/ai/generate?topic=Spring%20AI&context=Spring%20AI%E3%81%AF%E3%80%81%E5%A4%A7%E8%A6%8F%E6%A8%A1%E8%A8%80%E8%AA%9E%E3%83%A2%E3%83%87%E3%83%AB%20(LLM)%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%9F%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E6%A7%8B%E7%AF%89%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF%E3%81%A7%E3%81%99%E3%80%82` **7. より高度な MCP の使用** Spring AI は、より高度な MCP の使用をサポートしています。例えば、`ChatRequest` オブジェクトを使用して、システムメッセージ、ユーザーメッセージ、アシスタントメッセージなど、複数のメッセージを LLM に送信できます。 ```java import org.springframework.ai.chat.ChatClient; import org.springframework.ai.chat.ChatResponse; import org.springframework.ai.chat.Generation; import org.springframework.ai.chat.messages.Message; import org.springframework.ai.chat.messages.SystemMessage; import org.springframework.ai.chat.messages.UserMessage; import org.springframework.ai.chat.prompt.PromptTemplate; import org.springframework.ai.chat.prompt.SystemPromptTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.util.List; import java.util.Map; @RestController public class AiController { @Autowired private ChatClient chatClient; @GetMapping("/ai/generate-advanced") public String generateAdvanced(@RequestParam("topic") String topic, @RequestParam("context") String context) { // システムメッセージのテンプレート String systemTemplate = "あなたは {topic} について説明するアシスタントです。以下のコンテキストを考慮してください: {context}"; SystemPromptTemplate systemPromptTemplate = new SystemPromptTemplate(systemTemplate); Map<String, Object> systemModel = Map.of("topic", topic, "context", context); SystemMessage systemMessage = systemPromptTemplate.createMessage(systemModel); // ユーザーメッセージ UserMessage userMessage = new UserMessage("Spring AI について教えてください。"); // メッセージリストを作成 List<Message> messages = List.of(systemMessage, userMessage); // LLM にリクエストを送信 ChatResponse response = chatClient.call(messages); // 応答を抽出 Generation generation = response.getResult(); return generation.getOutput().getContent(); } } ``` この例では、`SystemMessage` を使用して LLM にコンテキストと指示を提供し、`UserMessage` を使用してユーザーの質問を送信します。 **8. まとめ** このドキュメントでは、Spring AI の MCP サポートを Spring Boot アプリケーションに統合する方法を説明しました。 `PromptTemplate` を使用してコンテキストをプロンプトに組み込む方法、`ChatRequest` オブジェクトを使用して複数のメッセージを送信する方法など、さまざまな方法で MCP を活用できます。 これらのテクニックを使用することで、LLM との対話を改善し、より正確で関連性の高い応答を得ることができます。 **補足** * このドキュメントは基本的な例を示しています。 実際のアプリケーションでは、エラー処理、ロギング、セキュリティなどの要素を考慮する必要があります。 * Spring AI は、さまざまな LLM プロバイダーをサポートしています。 使用するプロバイダーに応じて、設定と依存関係を調整する必要があります。 * MCP は進化し続けているプロトコルです。 Spring AI の最新バージョンを使用し、公式ドキュメントを参照して、最新の機能とベストプラクティスを確認してください。 この翻訳が、Spring AI での MCP の Spring Boot アプリケーションへの統合を理解するのに役立つことを願っています。

Bear MCP Server

Bear MCP Server

鏡 (Kagami)

Symbol MCP Server (REST API tools)

Symbol MCP Server (REST API tools)

シンボル MCP サーバー (REST API ツール)

MCP LLM Bridge

MCP LLM Bridge

Ollama から fetch URL MCP サーバーへの簡単なブリッジ

NYT MCP Server

NYT MCP Server

ニューヨーク・タイムズ(NYT)のAPI群に対して、統一されたシンプルなインターフェースを提供するメッセージ集中プロトコル(MCP)サーバー。このサーバーは、単一のエンドポイントを通じて複数のNYT APIとのやり取りを簡素化します。