项目简介
JavaDoc Central是一个实用工具,它允许用户方便地在线浏览Maven Central仓库中托管的任何Java库的JavaDoc文档。除了提供一个直观的Web界面供人类用户使用外,它还实现了一个Model Context Protocol (MCP) 服务器接口。这意味着大型语言模型(LLM)客户端可以通过标准化的JSON-RPC协议与它通信,以程序化的方式查询和获取JavaDoc内容,从而为LLM提供关于Java库API的丰富、实时的上下文信息,助力代码理解、生成和问答。
主要功能点
- 在线JavaDoc浏览: 用户可以通过简洁的URL格式(如'https://javadocs.dev/GROUP_ID/ARTIFACT_ID/VERSION')直接在浏览器中查看Maven Central中指定Java库的JavaDoc文档。
- 灵活的版本检索: 支持指定具体的库版本,也可以使用'latest'来获取最新版本的JavaDoc。
- LLM上下文服务: 作为MCP服务器,它能够响应LLM客户端的请求,提供JavaDoc文档作为LLM在处理与Java代码相关任务时的重要上下文信息。这可能包括特定类、方法、包或整个库的API文档。
- 标准协议通信: 通过JSON-RPC协议与MCP客户端进行通信,支持Streamable HTTP等传输方式。
安装步骤
JavaDoc Central项目基于Scala和SBT(Scala Build Tool)构建,并支持通过Docker容器化部署。
-
克隆仓库: 首先,您需要将项目仓库克隆到本地:
git clone https://github.com/jamesward/javadoccentral.git cd javadoccentral -
构建和运行(推荐使用Docker): 为了最便捷地部署MCP服务器,建议使用Docker。您需要确保系统已安装Docker和Cloud Native Buildpacks CLI ('pack')。
- 构建Docker镜像:
此命令会根据项目代码构建一个名为'javadoccentral'的Docker镜像。pack build --builder=paketobuildpacks/builder-jammy-base javadoccentral - 运行Docker容器:
这将在本地启动一个Docker容器,并将容器的8080端口映射到主机的8080端口。此时,您可以通过'http://localhost:8080'访问Web界面,MCP服务器接口则通常在'/mcp'路径下。docker run -p8080:8080 -m 512m javadoccentral
- 构建Docker镜像:
-
直接运行(SBT方式,需安装SBT和Java开发环境): 如果您想直接从源代码运行,需要安装SBT和Java开发环境:
- 带热重载启动 (开发用):
./sbt ~reStart - 正常运行:
./sbt run
- 带热重载启动 (开发用):
服务器配置
MCP客户端需要配置MCP服务器的连接信息。以下是一个JSON格式的配置示例,其中包含连接远程托管服务和在本地启动Docker容器作为MCP服务器的两种情况。
{ "name": "JavaDoc Central MCP Server", "description": "提供Maven Central JavaDoc文档的MCP服务器,支持LLM获取Java库API上下文。", "protocol": "streamable-http", "endpoint": "https://www.javadocs.dev/mcp", "command": "docker", "args": [ "run", "-p8080:8080", "-m", "512m", "javadoccentral" ], "notes": "此配置可用于:\n1. 连接到在线托管服务:仅需配置 'endpoint','command' 和 'args' 可省略或由客户端框架忽略。\n2. 客户端框架在本地启动Docker容器作为服务器:配置 'command' 和 'args' 来指示如何启动。请确保您已在本地通过 'pack build' 命令构建了 'javadoccentral' Docker镜像,并根据需要调整端口映射。如果自部署,请将 'endpoint' 地址替换为您的服务器地址,例如 'http://localhost:localhost:8080/mcp'。" }
配置信息说明:
- 'name': MCP服务器在客户端界面显示的名称,便于识别。
- 'description': MCP服务器功能的简要说明。
- 'protocol': 服务器支持的传输协议,此处为'streamable-http'。
- 'endpoint': MCP服务器的URL地址。对于在线托管服务,这是'https://www.javadocs.dev/mcp'。如果自部署,需要根据您的服务器地址和端口进行调整(例如'http://localhost:8080/mcp')。
- 'command': (可选,用于客户端框架启动本地服务器)指定用于启动MCP服务器进程的可执行命令。在此示例中,我们指定为'docker',因为它通过容器提供服务。
- 'args': (可选,用于客户端框架启动本地服务器)'command'命令的参数列表。这里提供了运行'javadoccentral' Docker容器所需的参数。
- 'notes': 重要的额外说明,指导用户如何根据其使用场景(连接远程服务或本地启动)来理解和调整配置。
基本使用方法
一旦您的MCP客户端成功配置并连接到JavaDoc Central MCP服务器,LLM就可以通过MCP协议向服务器发送请求,以获取所需的JavaDoc文档作为上下文。例如,LLM客户端可以发起请求,指定'GROUP_ID'、'ARTIFACT_ID'和'VERSION'来查询特定的JavaDoc内容。LLM可以利用这些文档来:
- 理解API: 深入了解Java库中的类、方法、接口的功能和用法。
- 代码生成: 在生成Java代码时,参考官方API文档以确保正确性和一致性。
- 故障排查和问答: 快速查找API相关信息,帮助解决问题或回答关于Java库的问题。 用户无需直接与底层的JSON-RPC接口交互,而是通过其MCP客户端的用户界面或编程接口来间接利用这些功能。
信息
分类
开发者工具