MCP Easy4J(注:MCP通常指“Microsoft Certified Professional”或在此上下文中可能指某种特定的框架或库,但“MCP”在通用技术语境下可能不直接对应“MCP Easy4J”的具体含义,这里按原样保留;“Easy4J”可能是一个特定技术或框架的名称,直接音译为中文)
    
基于注解的构建框架 模型上下文协议 Java 21+ 中的服务器。
特点/特性
- 🎯 基于注解的API - 通过定义工具、资源和提示来进行
@Tool,@Resource,@Prompt - 🚀 零样板代码 - 无需手动注册或协议处理
- 🔄 从方法签名自动生成模式(或架构)
- 📦 基于官方MCP Java SDK构建
- ⚡ Java 21 支持虚拟线程
快速入门
Maven:
br.com.arquivolivre
mcp-easy4j
1.0.0
Gradle:
dependencies {
implementation 'br.com.arquivolivre:mcp-easy4j:1.0.0'
}Gradle(使用Kotlin DSL):
dependencies {
implementation("br.com.arquivolivre:mcp-easy4j:1.0.0")
}创建您的服务器:
@McpServer(name = "my-server", version = "1.0.0")
public class MyServer {
@Tool(description = "Echoes a message")
public String echo(@Property(description = "Message to echo") String message) {
return "Echo: " + message;
}
@Resource(uri = "status://server", description = "Server status")
public Map getStatus() {
return Map.of("status", "running", "timestamp", LocalDateTime.now());
}
@Prompt(name = "code_review", description = "Code review prompt")
public String codeReview(@PromptArgument(description = "Language") String language) {
return "Please review the following " + language + " code...";
}
public static void main(String[] args) {
McpServerBootstrap.start(MyServer.class);
}
}运行:
mvn exec:java -Dexec.mainClass="com.example.MyServer"注释
| 注释 | 目的 | 示例 |
|---|---|---|
@McpServer | 标记服务器类别 | @McpServer(name = "my-server") |
@Tool | 定义一个工具 | @Tool(description = "Does something") |
@Property | 工具参数 | @Property(description = "Input", required = true) |
@Resource | 定义资源 | @Resource(uri = "file://data", mimeType = "application/json") |
@Prompt | 定义提示 | @Prompt(name = "my_prompt") |
@PromptArgument | 提示参数 | @PromptArgument(description = "Argument") |
类型映射
| Java 类型 | JSON 架构 |
|---|---|
String | string |
int, Integer, long, Long | integer |
double, Double, float, Float | number |
boolean, Boolean | boolean |
Map, Object | object |
List, Array | array |
示例
见 示例/ 包含完整工作示例的目录,其中包括:
- 具有各种参数类型的工具
- 包含结构化数据的资源
- 带有参数的提示
运行示例:
cd examples && mvn exec:javaIDE 集成
VS Code / Cursor / Kiro(这些是编程或代码编辑工具的名称,中文可直接保留原名,不进行翻译)
设置:
- 打开命令面板:
Ctrl+Shift+P(Windows/Linux) 或者Cmd+Shift+P(macOS) - 搜索“MCP”或“MCP 设置”
- 选择编辑MCP配置的选项
- 添加您的服务器配置:
{
"mcpServers": {
"my-mcp-server": {
"command": "java",
"args": ["-jar", "/path/to/your/server.jar"]
}
}
}测试您的服务器
配置完成后,请重启您的集成开发环境(IDE)/应用程序。您的MCP服务器应该会出现在MCP工具列表中。您可以通过以下方式验证其是否正常工作:
- 检查MCP服务器日志(标准错误输出)
- 尝试从你的IDE的AI助手调用一个工具
- 使用 MCP 检查器 用于调试
建筑学
MCP Easy4J 是一个轻量级的注解封装,围绕着(某框架或库,此处原文未指明具体名称) MCP Java SDK:
Your @Tool/@Resource/@Prompt methods
↓
MCP Easy4J (annotation scanning)
↓
MCP Java SDK (protocol & transport)
↓
stdin/stdout (JSON-RPC 2.0)SDK处理所有协议细节,我们只需通过注解使其更易于使用。
建筑
mvn clean install
mvn test许可证
MIT 许可证 - 请参阅 许可证 文件。
做出贡献
欢迎贡献!请提交问题或提出拉取请求。
