Token导航 LogoToken导航TokenDH.com
Java MCP Annotations logo
AI代理未说明官方级别未说明来源级核验

Java MCP Annotations

MCP Server

一个框架无关的Java库,提供核心注解和API,用于实现模型上下文协议(MCP)服务器和客户端。

工具数

1

提示词数

0

GitHub Stars

1

资源数

0
Java模型集成AI代理

安装说明

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

作者 / 组织

mcp-java

提供方

mcp-java

最后核验

2026/5/17 20:20

快速接入

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

详细介绍

Java MCP注释和API

一个与框架无关的Java库,提供核心注释和API以实现 模型上下文协议(MCP) 服务器和客户端。

概述

此存储库为MCP实现提供了通用的Java构建块,而不会将您绑定到任何特定的运行时框架(Spring、Quarkus、Micronaut、WildFly、Open Liberty等)。它使开发人员能够创建可跨不同Java生态系统工作的可移植MCP集成。

什么是MCP?

模型上下文协议(MCP)是一个开放协议,它规范了应用程序如何向大型语言模型(LLM)提供上下文。它实现了人工智能助手与数据源、工具和服务之间安全、可控的交互。

项目结构

该存储库分为三个核心模块:

mcp-model

代表MCP协议规范的完整Java模型:

  • JSON-RPC:请求、响应、通知和错误类型
  • 工具:工具定义、调用请求/结果、模式
  • 提示:提示消息、参数和响应
  • 资源:资源内容、模板和订阅
  • 内容:文本、图像、音频和嵌入式资源内容类型
  • 完成:对提示和资源的自动完成支持
  • 采样和采集:LLM采样和用户交互请求
  • 常见类型:角色、根、图标、元数据、进度跟踪

包裹: org.mcp_java.model.*

mcp-annotations

用于声明性构建MCP服务器的框架无关注释:

工具:

  • @Tool -将方法标记为MCP工具
  • @ToolArg -配置刀具参数

包裹: org.mcp_java.annotations.tools

资源:

  • @Resource -公开静态资源
  • @ResourceTemplate -使用URI模板公开动态资源
  • @ResourceTemplateArg -配置模板URI变量

包裹: org.mcp_java.annotations.resources

提示:

  • @Prompt -定义可重用的提示模板
  • @PromptArg -配置提示参数

包裹: org.mcp_java.annotations.prompts

完成:

  • @CompleteArg -自定义完成参数名称
  • @CompletePrompt -为提示参数提供完整性
  • @CompleteResourceTemplate -为资源模板URI提供完整性

包裹: org.mcp_java.annotations.completion

核心:

  • @McpServer -将类标记为MCP服务器组件
  • @MetaField -将自定义元数据添加到定义中

包裹: org.mcp_java.annotations

mcp-server-api

MCP服务器实现的基本框架无关运行时API:

  • Cancellation -处理请求取消的界面
  • ClientCapability -客户能力表示
  • ContentEncoder -自定义内容编码接口
  • McpException -MCP相关错误的基本异常
  • 包装文件和合同

包裹: org.mcp_java.server

设计原则

  • 框架不可知:对Spring、Quarkus或其他框架零依赖
  • 便携的:在任何Java运行时使用这些注释和模型
  • 清洁分离:注释、模型和服务器API位于单独的模块中
  • 可扩展:特定框架的实施可以建立在这些基础之上
  • 基于标准的:完全符合官方MCP规范
  • 现代Java:使用Java 17+功能(记录、密封接口等)

模块依赖关系图

mcp-server-api
    ↓ (depends on)
mcp-annotations
    ↓ (depends on)
mcp-model

框架实现(Quarkus、Spring等)通常依赖于所有三个模块。

入门指南

备注:该项目提供基础注释和模型。特定于框架的运行时实现(连接处理、JSON-RPC处理等)由单独的项目提供,如 Quarkus MCP服务器.

需求

  • Java 17或更高版本
  • Maven 3.9+

建筑

mvn clean install

运行测试

mvn test

用法示例

下面是一个使用注释的简单示例:

import org.mcp_java.annotations.McpServer;
import org.mcp_java.annotations.tools.Tool;
import org.mcp_java.annotations.tools.ToolArg;
import org.mcp_java.annotations.resources.Resource;
import org.mcp_java.annotations.prompts.Prompt;
import org.mcp_java.annotations.prompts.PromptArg;

@McpServer(name = "my-server", description = "Example MCP server")
public class MyMcpServer {

    @Tool(
        name = "calculate",
        description = "Perform a calculation"
    )
    public int calculate(
            @ToolArg(name = "a", description = "First number") int a,
            @ToolArg(name = "b", description = "Second number") int b) {
        return a + b;
    }

    @Resource(
        uri = "config://settings",
        name = "Application Settings",
        description = "Current application configuration"
    )
    public String getSettings() {
        return "{ \"theme\": \"dark\", \"language\": \"en\" }";
    }

    @Prompt(
        name = "greet",
        description = "Generate a greeting message"
    )
    public String greet(@PromptArg(name = "name") String name) {
        return "Hello, " + name + "!";
    }
}

框架实现将处理这些注释,并通过MCP协议公开它们。

与其他项目的关系

该库的设计灵感来自以下内容,并与之兼容:

特定于框架的扩展可以基于这些核心注释构建,以提供特定于运行时的功能,如依赖注入、生命周期管理和协议处理。

贡献

我们欢迎捐款!该项目旨在服务于更广泛的Java MCP生态系统。

如何做出贡献

  1. 分叉 存储库
  2. 创建 特征分支(git checkout -b feature/amazing-feature)
  3. 提交 您的更改(git commit -m 'Add some amazing feature')
  4. 到分行(git push origin feature/amazing-feature)
  5. 打开 拉取请求

开发指南

  • 保持框架独立性——没有特定于框架的依赖关系
  • 遵循Java命名约定和代码风格
  • 添加新功能的测试
  • 根据需要更新文档
  • 保持API表面最小化和集中

持续集成

此项目使用GitHub Actions进行持续集成,运行:

  • 编译检查
  • 单元和集成测试
  • 代码质量分析

许可证

此项目根据Apache许可证2.0获得许可-请参阅 许可证 文件以获取详细信息。

目录标签

目录标签

Java模型集成AI代理Java开发本地部署MCP协议框架无关LLM集成注解处理

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP