模型上下文协议服务器

一个轻量级的Java应用程序,实现模型上下文协议(MCP),使AI模型能够访问信息,并通过标准化的MCP工具暴露数据,便于与支持该协议的AI助手集成。

  • by codenjoyme
  • Java
  • 本地部署
  • 更新于
在 GitHub 查看 codenjoyme/test-mcp-server

使用说明

MCP服务器

感谢Dan Vega

这个项目是从 https://github.com/danvega/javaone-mcp [https://www.youtube.com/watch?v=w5YVHG1j3Co](YouTube视频在这里)

模型上下文协议服务器

JavaOne MCP Server是一个轻量级的Java应用程序,它实现了 模型上下文协议(MCP),允许AI模型访问信息。 该服务器通过标准化的MCP工具公开数据,使其变得简单 与支持该协议的AI助手集成。

项目需求

  • Java 18
  • Maven 3.8+
  • 模型上下文协议SDK 0.9.0
  • SLF4J用于测井

依赖项

该项目依赖于以下关键组成部分:

<!-- MCP SDK -->
<dependency>
    <groupId>io.modelcontextprotocol.sdk</groupId>
    <artifactId>mcp</artifactId>
</dependency>

<!-- Logging -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
</dependency>

入门指南

克隆存储库后,您可以使用Maven构建项目:

mvn clean package

或者跑 build-jar 在IntelliJ IDEA中运行配置。

这将在 target 包含所有依赖项的目录。

如何运行应用程序

执行JAR文件以启动MCP服务器:

java -jar target/test-mcp-server-0.0.1.jar

应用程序启动一个通过标准通信的MCP服务器 输入/输出(STDIO),并提供对数据的访问。

了解项目结构

核心组件

  • 应用程序.java:配置和启动MCP服务器的主要入口点

MCP服务器配置

服务器配置了:

  • STDIO通信传输提供商
  • 服务器信息(名称和版本)
  • 用于访问演示文稿数据的工具功能
McpSyncServer syncServer = McpServer.sync(transportProvider)
    .serverInfo("test-mcp-server", "0.0.1")
    .capabilities(McpSchema.ServerCapabilities.builder()
            .tools(true)
            .logging()
            .build())
    .tools(syncToolSpecification)
    .build();

可用工具

服务器公开以下MCP工具:

  • get_list:按类别返回所有项目的列表

MCP检验员测试

MCP检查器是测试和调试MCP服务器的有用工具。 按照以下步骤测试您的MCP服务器:

  1. 如果你还没有安装Node.js
  2. 导航到项目目录并获取JAR文件的绝对路径:
# On Linux/macOS
FULL_PATH=$(pwd)/target/test-mcp-server-0.0.1.jar
echo $FULL_PATH

# On Windows PowerShell
$FULL_PATH="$(Get-Location)\target\test-mcp-server-0.0.1.jar"
echo $FULL_PATH
  1. 使用完整路径在服务器上运行MCP检查器:
npx @modelcontextprotocol/inspector java -jar $FULL_PATH
  1. 在检查器界面中:
    • 在连接窗格中验证服务器连接
    • 导航到“工具”选项卡以查看 get_list 工具
    • 通过单击工具并查看响应来测试该工具
    • 监视“通知”窗格中的日志

与Claude Desktop集成

要将此MCP服务器与Claude Desktop一起使用,请添加以下配置:

  1. 首先,获取JAR文件的绝对路径:
# On Linux/macOS
FULL_PATH=$(pwd)/target/test-mcp-server-0.0.1.jar
echo $FULL_PATH

# On Windows PowerShell
$FULL_PATH="$(Get-Location)\target\test-mcp-server-0.0.1.jar"
echo $FULL_PATH
  1. 打开克劳德桌面首选项
  2. 导航到“MCP服务器”部分
  3. 添加具有以下配置的新服务器(用实际完整路径替换路径):
{
  "javaone-mcp": {
    "command": "java",
    "args": [
      "-jar",
      "$FULL_PATH"
    ]
  }
}

创建其他MCP工具

实施更多工具以展示不同的功能:

// Example of adding a tool to search presentations by title
var searchToolSpec = new McpServerFeatures.SyncToolSpecification(
    new McpSchema.Tool("search_items", "Search items by title", searchSchema),
    (exchange, arguments) -> {
        String query = arguments.get("query").asText();
        List<Presentation> results = presentationTools.searchPresentations(query);
        // Convert results to MCP content and return
    }
);

实现高级功能

  • 添加资源订阅以进行实时更新
  • 为长时间运行的操作实现异步工具
  • 添加身份验证和授权机制

贡献

欢迎投稿!请随时提交拉取请求。

许可证

该项目是开源的,可在 MIT许可证.

更多资源