使用说明
MCP Easy4J(注:MCP通常指“Microsoft Certified Professional”或在此上下文中可能指某种特定的框架或库,但“MCP”在通用技术语境下可能不直接对应“MCP Easy4J”的具体含义,这里按原样保留;“Easy4J”可能是一个特定技术或框架的名称,直接音译为中文)
基于注解的构建框架 模型上下文协议 Java 21+ 中的服务器。
特点/特性
- 🎯 基于注解的API - 通过定义工具、资源和提示来进行
@Tool,@Resource,@Prompt - 🚀 零样板代码 - 无需手动注册或协议处理
- 🔄 从方法签名自动生成模式(或架构)
- 📦 基于官方MCP Java SDK构建
- ⚡ Java 21 支持虚拟线程
快速入门
Maven:
<dependency>
<groupId>br.com.arquivolivre</groupId>
<artifactId>mcp-easy4j</artifactId>
<version>1.0.0</version>
</dependency>
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<String, Object> 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:java
IDE 集成
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 许可证 - 请参阅 许可证 文件。
做出贡献
欢迎贡献!请提交问题或提出拉取请求。