modelcontextprotocol / modelcontextprotocol/java-sdk

jsonschemabuilder

Open
#585 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement needs confirmation waiting for user
Dominant language
Java
Stars
3.7k
Forks
1.1k
Avg merge
1d 15h
Merged PRs (30d)
9

Description

Hopefully this is appropriate, prior, we were able to provide just a string to the includeSchema portion. Though I do like the approach of a type being passed now, I feel like the current JsonSchema object is too lax and doesnt really capture the needs. While working on my mcp server, I figured out that the best schema to provide was to just use the least common denominator approach, which is to use https://ai.google.dev/api/caching#Schema as the basis. Even though OpenAI's schema is better and does work for those llms that support it, gemini didnt conform to it well because it uses its own schema spec. So I built my own builder https://github.com/themixednuts/GhidraMCP/tree/main/src/main/java/com/themixednuts/utils/jsonschema

Is this something we can move towards?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review the current includeSchema and JsonSchema API in the Java SDK, then compare them with the linked Google Schema reference and GhidraMCP builder. A complete contribution would first establish an agreed scope for a less-lax schema model and compatibility expectations for Gemini and OpenAI.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api, backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.