如何使用 Java SDK 构建 MCP 服务器

主要观点:文章介绍了如何使用 Java SDK 从头开发 MCP 服务器,将其与 AI 主机(Claude Desktop)结合,为交互的 LLM 提供数据库上下文,通过 MCP Inspector 测试服务器,并给出了具体的开发步骤和示例。
关键信息

  • 开发的 MCP 服务器使用 Java 21、Maven 3.9.9 和特定依赖,通过配置 maven-shade-plugin 打包为可执行 jar。
  • 采用 MCP 的客户端-主机-服务器架构,使用 StdioServerTransportProvider 实现同步 MCP 服务器,通过 SyncToolSpecification 定义工具。
  • 开发了多个与 PostgreSQL 数据库交互的工具,如获取已支付发票数量、总支付金额等,使用 plain boilerplate Java 代码进行数据库访问,并采用依赖注入模式。
  • 利用 MCP Inspector 测试服务器,在 Claude Desktop 中配置并使用开发的 MCP 服务器,通过与 AI 助手交互展示了其提供的业务洞察。
    重要细节
  • 项目的 pom.xml 文件配置了各种依赖,包括 mcp-bom、postgresql、slf4j-api 等。
  • SyncToolSpecification 中的 tool 包含工具名称、描述和参数模式,call 是实现工具逻辑的函数,返回 CallToolResult 记录。
  • 数据库访问通过获取环境变量中的数据库连接参数实现,在 InvoiceService 中编写了具体的数据访问方法。
  • 在 McpInvoiceServer 中构建 MCP 服务器,添加工具并添加关闭钩子线程。
  • 在 MCP Inspector 中设置环境变量和连接参数,可列出和执行服务器工具。
  • 在 Claude Desktop 中配置 MCP 服务器,通过与 AI 助手交互展示业务洞察,如生成发票可视化仪表板等。
  • 文章提供了相关资源链接,包括代码库等。
阅读 62
0 条评论