Token导航 LogoToken导航TokenDH.com
MCP JSON Schema logo
开发工具未说明官方级别未说明来源级核验

MCP JSON Schema

MCP Server

从Jackson注解的Java类生成MCP服务器的JSON Schema,适用于Java 17和Jackson 3。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
代码生成Java本地部署

安装说明

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

作者 / 组织

sualeh

提供方

sualeh

最后核验

2026/5/17 20:22

快速接入

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

详细介绍

MCP JSON模式

从Jackson注释的Java类为MCP服务器生成JSON模式。使用Java 17和Jackson 3。

此库针对模型上下文协议(MCP)JSON模式,它是通用JSON模式规范的一个子集。有关MCP JSON模式子集和基元类型的详细信息,请参阅MCP 基本模式定义.

用法

1) 定义参数类型

创建一个Jackson注释的记录/POJO,表示工具的输入参数。使用 @JsonProperty(required=true, defaultValue=...)@JsonPropertyDescription 以丰富模式。

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
import tools.jackson.databind.PropertyNamingStrategies;
import tools.jackson.databind.annotation.JsonNaming;

@JsonNaming(PropertyNamingStrategies.KebabCaseStrategy.class)
public record SampleParameters(
    @JsonPropertyDescription("Type of database table dependant objects.")
    @JsonProperty(defaultValue = "NONE", required = true)
    DependantObjectType dependantObjectType,

    @JsonPropertyDescription("Table name.")
    String tableName) {

  public enum DependantObjectType { NONE, COLUMNS, INDEXES, FOREIGN_KEYS, TRIGGERS }
}

2) 在注册时生成MCP input_schema

注册MCP工具时,请使用 McpJsonSchemaUtility.inputSchema(...) 生成 input_schema 参数类型为JSON。

import us.fatehi.mcp_json_schema.McpJsonSchemaUtility;

String inputSchemaJson = McpJsonSchemaUtility.inputSchema(SampleParameters.class);

// Provide this value as the tool's input_schema in your MCP server implementation
System.out.println(inputSchemaJson);

您还可以通过Jackson获取模式 JsonNode 如果您更喜欢以编程方式嵌入或修改它:

var schemaNode = McpJsonSchemaUtility.generateJsonSchema(SampleParameters.class);

3) 在执行时实例化参数

当客户端调用该工具时,您将收到 arguments JSON字符串。使用将其转换为参数类型 instantiateArguments(...).

String arguments = "{\n  \"dependant-object-type\": \"COLUMNS\",\n  \"table-name\": \"customers\"\n}";

SampleParameters params = McpJsonSchemaUtility.instantiateArguments(arguments, SampleParameters.class);
if (params == null) {
  // handle error: bad arguments; return a suitable MCP error to the client
} else {
  // execute tool logic using params
}

备注

  • 生成的模式遵循MCP JSON模式子集(请参阅上面的规范链接)。它包括:

- type: "object", properties,以及 required (从 @JsonProperty(required = true)). - description (从 @JsonPropertyDescription). - enum 枚举值(包括适用的数组项)。 - additionalProperties: false.

  • 命名策略,例如 @JsonNaming(PropertyNamingStrategies.KebabCaseStrategy.class) 影响模式和反序列化中的属性名称。
  • instantiateArguments 使用共享 ObjectMapper 使用默认配置。在反序列化失败时,它将返回 null 并登录INFO。确保验证和处理 null 适当。

另见

  • us.fatehi.mcp_json_schema.McpJsonSchemaUtility API的Javadoc详细信息和使用指南。

目录标签

目录标签

代码生成Java本地部署JSONSchemaJava开发MCP协议

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP