Token导航 LogoToken导航TokenDH.com
How To Build MCP Server In Java logo
AI代理stdio官方级别未说明来源级核验

How To Build MCP Server In Java

MCP Server

@modelcontextprotocol/inspector

一个基于Java的MCP服务器构建工具,用于为AI助手如Claude提供标准化数据接口。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
服务器构建JavaClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

adimehtaa

提供方

adimehtaa

最后核验

2026/5/17 20:20

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx @modelcontextprotocol/inspector java -cp target/classes:$(mvn dependency:build-classpath -Dmdep.outputFile=/dev/stdo...

详细介绍

如何用Java构建MCP服务器

使用Java构建模型上下文协议(MCP)服务器的综合指南。该项目演示了如何创建一个基于Java的MCP服务器,该服务器通过Claude等AI助手可以使用的工具提供演示数据。

目录

概述

该项目实现了一个基于Java的MCP(模型上下文协议)服务器,该服务器通过标准化的接口公开演示数据。服务器使用 io.modelcontextprotocol.sdk 库来处理MCP通信,并提供AI助手可以调用的工具来检索有关Java演示文稿的信息。

什么是MCP?

模型上下文协议(MCP)是一个开放标准,使AI助手能够安全地连接到外部数据源和工具。它为应用程序向AI系统公开其功能提供了一种标准化的方式。

先决条件

  • Java 21或更高版本 -此项目使用Java 21功能
  • Maven 3.6+ -用于依赖关系管理和构建
  • Node.js和npm -MCP检验员测试所需(可选)
  • 克劳德桌面 -用于将服务器连接到Claude(可选)

项目结构

how-to-build-mcp-server-in-java/
├── src/main/java/
│   └── dev/
│       ├── Main.java                    # Main server entry point
│       └── aditya/
│           ├── Presentation.java        # Data model for presentations
│           └── PresentationTools.java   # Business logic for managing presentations
├── pom.xml                             # Maven configuration
├── README.md                           # This documentation
└── .gitignore                         # Git ignore rules

入门指南

1.克隆存储库

git clone 
cd how-to-build-mcp-server-in-java

2.建设项目

mvn clean compile

3.验证依赖关系

该项目使用以下关键依赖关系:

  • io.modelcontextprotocol.sdk:mcp -Java版MCP SDK
  • org.slf4j:slf4j-apiorg.slf4j:slf4j-simple -日志记录

运行服务器

方法1:使用Maven

mvn exec:java -Dexec.mainClass="dev.Main"

方法2:直接使用Java

# First compile
mvn compile

# Then run
java -cp target/classes:target/dependency/* dev.Main

方法3:创建可执行JAR

mvn package
java -jar target/how-to-build-mcp-server-in-java-1.0-SNAPSHOT.jar

MCP检验员测试

MCP检查器是一个调试工具,允许您以交互方式测试MCP服务器。

1.安装MCP检查器

npm install -g @modelcontextprotocol/inspector

2.运行检查器

npx @modelcontextprotocol/inspector java -cp target/classes:$(mvn dependency:build-classpath -Dmdep.outputFile=/dev/stdout -q) dev.Main

或者,如果你有一个编译好的JAR:

npx @modelcontextprotocol/inspector java -jar target/how-to-build-mcp-server-in-java-1.0-SNAPSHOT.jar

3.使用检查器

  1. 检查器将在您的浏览器中打开
  2. 您将看到服务器功能和可用工具
  3. 您可以测试 get_presentations 点击该工具
  4. 检查器将显示来自服务器的JSON响应

与Claude Desktop连接

要将此MCP服务器与Claude Desktop一起使用,您需要在Claude的设置中对其进行配置。

1.找到Claude桌面配置

在 macOS 上:

~/Library/Application Support/Claude/claude_desktop_config.json

在Windows上:

%APPDATA%\Claude\claude_desktop_config.json

2.添加服务器配置

将Java MCP服务器添加到配置文件中:

{
  "mcpServers": {
    "java-presentations": {
      "command": "java",
      "args": [
        "-cp",
        "/path/to/your/project/target/classes:/path/to/your/project/target/dependency/*",
        "dev.Main"
      ],
      "cwd": "/path/to/your/project"
    }
  }
}

JAR文件的替代方案:

{
  "mcpServers": {
    "java-presentations": {
      "command": "java",
      "args": [
        "-jar",
        "/path/to/your/project/target/how-to-build-mcp-server-in-java-1.0-SNAPSHOT.jar"
      ]
    }
  }
}

3.重新启动克劳德桌面

保存配置后,重新启动Claude Desktop。现在,您应该可以向Claude询问演示文稿,它将使用您的Java MCP服务器来获取数据。

4.测试连接

试着问克劳德:

  • “有哪些可用的演示文稿?”
  • “显示2025年以来的所有Java演示文稿”
  • “列出演示文稿URL”

理解代码

主类

主类通过以下方式设置MCP服务器:

  • 传输层:使用stdio进行通信
  • 察看连接信息:定义服务器名称和版本
  • 能力:声明服务器可以做什么(工具、日志记录)
  • 工具注册:注册可用工具及其实现

演示文稿.java

一个简单的记录类,表示演示文稿,具有:

  • title:演示文稿标题
  • url:链接到演示文稿
  • year:发表演讲的年份

演示工具.java

包含用于管理演示文稿的业务逻辑:

  • 初始化示例演示数据
  • 提供检索演示文稿的方法
  • 支持按年过滤
  • 可以将演示文稿转换为不同的格式

可用工具

get_presences

描述:检索所有可用Java演示文稿的列表

参数:

  • operation (string):操作类型(当前未在实现中使用)

退货:包含标题、URL和年份信息的演示文稿列表

示例响应:

Presentation[title=Java 24 Launch - Live from JavaOne 2025, url=https://www.youtube.com/watch?v=mk_2MIWxLI0, year=2025]
Presentation[title=Java Turns 30 - Live from JavaOne 2025, url=https://www.youtube.com/watch?v=GwR7Gvi80Xo, year=2025]
...

定制

添加新工具

要向MCP服务器添加新工具,请执行以下操作:

  1. 定义工具模式 JSON格式
  2. 创建工具规格 包含名称、描述和模式
  3. 执行工具逻辑 在处理函数中
  4. 注册该工具 使用服务器构建器

例子:

var newToolSpec = new McpServerFeatures.SyncToolSpecification(
    new McpSchema.Tool("my_new_tool", "Description of what it does", schema),
    (exchange, arguments) -> {
        // Your tool implementation here
        return new McpSchema.CallToolResult(contents, false);
    }
);

修改数据

要更改演示文稿数据,请执行以下操作:

  1. 在中编辑构造函数 PresentationTools.java
  2. 添加、删除或修改 Presentation 物体
  3. 重建并重新启动服务器

添加资源或提示

MCP SDK还支持资源和提示。您可以使用服务器构建器添加这些:

.resources(resourceSpecification)
.prompts(promptSpecification)

故障排除

常见问题

  1. “未找到类”错误:确保所有依赖项都在类路径中
  2. 端口已在使用中:服务器使用stdio,因此不应发生端口冲突
  3. JSON解析错误:检查您的工具模式是否为有效的JSON
  4. 克劳德桌面未连接:验证配置文件路径和语法

调试日志记录

该项目使用SLF4J进行日志记录。要查看调试输出,您可以调整日志记录级别或添加更多日志语句。

依赖性问题

如果您遇到依赖关系解决问题:

mvn dependency:tree
mvn clean install -U

后续步骤

  • 添加具有复杂参数的更复杂的工具
  • 实现用于提供文件或数据的资源端点
  • 为常见的AI交互添加提示模板
  • 创建与外部API或数据库交互的工具
  • 添加身份验证和安全功能

贡献

欢迎通过以下方式为该项目做出贡献:

  • 添加新的示例工具
  • 改进文件
  • 修复错误或问题
  • 添加测试

资源

目录标签

目录标签

服务器构建JavaClaudeMCP协议本地部署Java开发AI集成数据接口

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@modelcontextprotocol/inspector

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP