使用说明
项目简介
Quarkus MCP Servers 仓库是一个开源项目,提供了一组使用 Java 和 Quarkus 框架开发的 Model Context Protocol (MCP) 服务器。这些服务器旨在与 MCP 客户端(如 Claude Desktop)协同工作,扩展客户端的功能,使其能够访问本地文件系统、数据库、图形界面以及 Kubernetes 集群等资源和能力。
主要功能点
本项目包含以下几个独立的 MCP 服务器实现:
- filesystem: 文件系统服务器,允许 MCP 客户端访问和操作服务器端的文件系统,例如读取文件内容、列出目录结构等。
- jdbc: JDBC 数据库服务器,允许 MCP 客户端通过 SQL 查询与各种 JDBC 兼容的数据库进行交互,执行数据读取和写入操作。
- jfx: JavaFX 画布服务器,提供一个图形画布,允许 MCP 客户端通过工具调用在服务器端绘制图形,并将结果以图片形式返回。
- kubernetes: Kubernetes 服务器,允许 MCP 客户端与 Kubernetes 集群进行交互,例如列出 Pods、Namespaces 等资源,并执行 Pod 的日志查看、删除和运行等操作。
安装步骤
- 克隆仓库:
git clone https://github.com/quarkiverse/quarkus-mcp-servers cd quarkus-mcp-servers - 编译项目:
mvn clean install
服务器配置
以下是各个服务器的 MCP 客户端配置信息示例,您需要将这些配置添加到您的 MCP 客户端中才能连接到对应的服务器。请注意,MCP 客户端通常需要您提供服务器的启动命令 (command) 及其参数 (args)。以下配置信息均为 JSON 格式。
1. filesystem 服务器配置
配置信息:
{ "serverName": "filesystem", "command": "jbang", "args": [ "-q", "filesystem@quarkiverse/quarkus-mcp-servers", "[path1]", "[path2]", "..." ], "description": "文件系统服务器,允许访问指定的本地文件路径。", "parameters": { "[path1], [path2], ...": "允许 MCP 客户端访问的文件系统路径,可以指定多个路径。" } }
参数说明:
- '[path1]', '[path2]', '...': 您需要替换为实际的文件系统路径,例如 '/tmp' 或 '~/Documents'。可以指定多个路径,用空格分隔。这些路径将作为 MCP 客户端可以访问的根目录。
2. jdbc 服务器配置
配置信息:
{ "serverName": "jdbc", "command": "jbang", "args": [ "-q", "jdbc@quarkiverse/quarkus-mcp-servers", "[jdbc_url]", "-Djdbc.user=[username]", "-Djdbc.password=[password]", "[additional_args]" ], "description": "JDBC 数据库服务器,允许通过 SQL 查询与数据库交互。", "parameters": { "[jdbc_url]": "JDBC 连接 URL,例如 jdbc:h2:mem:test 或 jdbc:postgresql://localhost:5432/mydatabase。", "-Djdbc.user=[username]": "数据库用户名,如果数据库需要身份验证,请提供。", "-Djdbc.password=[password]": "数据库密码,如果数据库需要身份验证,请提供。", "[additional_args]": "其他传递给 jdbc-mcp 服务器的参数,例如 '-Dquarkus.log.level=DEBUG'。" } }
参数说明:
- '[jdbc_url]': 您需要替换为您的 JDBC 数据库连接 URL。
- '-Djdbc.user=[username]': 可选参数,如果您的数据库需要用户名,请替换 '[username]' 为您的用户名。
- '-Djdbc.password=[password]': 可选参数,如果您的数据库需要密码,请替换 '[password]' 为您的密码。
- '[additional_args]': 可选参数,您可以添加其他 JVM 参数或 Quarkus 配置参数,例如 '-Dquarkus.log.level=DEBUG' 来启用调试日志。
3. jfx 服务器配置
配置信息:
{ "serverName": "jfx", "command": "jbang", "args": [ "-q", "jfx@quarkiverse/quarkus-mcp-servers" ], "description": "JavaFX 画布服务器,提供图形绘制能力。", "parameters": {} }
参数说明:
- jfx 服务器没有额外的启动参数。
4. kubernetes 服务器配置
配置信息:
{ "serverName": "kubernetes", "command": "jbang", "args": [ "-q", "kubernetes@quarkiverse/quarkus-mcp-servers" ], "description": "Kubernetes 集群服务器,允许与 Kubernetes 集群交互。", "parameters": {} }
参数说明:
- kubernetes 服务器依赖于 Kubernetes 客户端配置(通常通过 '~/.kube/config' 或集群内配置),启动时无需额外参数。
基本使用方法
- 启动 MCP 服务器: 根据您需要使用的服务器类型,选择相应的配置信息,并使用 MCP 客户端配置启动对应的服务器。例如,对于 'filesystem' 服务器,您需要指定允许访问的路径。
- 连接 MCP 客户端: 在您的 MCP 客户端中,根据客户端的指引,添加上面生成的服务器配置信息。客户端应该能够自动连接到启动的 MCP 服务器。
- 使用工具和 Prompt: 连接成功后,您可以在 MCP 客户端中发现该服务器提供的工具 (Tools) 和 Prompt 模板 (Prompts)。根据您的需求,调用相应的工具或使用 Prompt 模板与 LLM 进行交互,利用 MCP 服务器提供的扩展功能。
例如,如果您启动了 'filesystem' 服务器并配置了允许访问 '/tmp' 目录,您就可以在 MCP 客户端中使用 'read_file' 工具读取 '/tmp' 目录下的文件内容,或使用 'list_directory' 工具查看目录结构。
注意: 请务必仔细阅读每个服务器目录下的 'README.md' 文件,以获取更详细的服务器配置和使用说明。
信息
分类
数据库与文件