Skip to content

Conversation

@jonathanhefner
Copy link
Member

@jonathanhefner jonathanhefner commented Dec 16, 2025

Since javadoc generation has been fixed in #705, this PR adds configuration for supporting standalone markdown guides, and imports the existing markdown guides from https://github.com/modelcontextprotocol/modelcontextprotocol/tree/main/docs/sdk/java.

This PR is split into 4 commits:

  1. Add basic configuration to support markdown docs. Notably, this requires using JDK 23 to generate the docs; however, CI will still use JDK 17 to build the code.
  2. Import the markdown docs from modelcontextprotocol/modelcontextprotocol, convert React elements (e.g., <Tab>) to headered subsections.
  3. Restructure some of the information so that there is a single overview landing page and a separate "Getting Started" page that lists dependencies and BOM.
  4. Upgrade from JDK 23 to JDK 25 for javadoc generation in order to use the new --syntax-highlight option. I've kept this as a separate commit in case we prefer to stick with JDK 23 and look into other syntax highlighting approaches. However, I recommend we use JDK 25 because it is the simplest approach, and because it comes with additional style improvements for rendered markdown.

Screenshots:

Overview doc Server doc (truncated) Client doc (truncated)
overview server client
Getting Started doc API docs tree McpSyncServer API doc
getting-started tree McpSyncServer

jonathanhefner and others added 4 commits December 16, 2025 08:57
Add support for markdown documentation files (`overview.md`,
`doc-files/`) by configuring a JDK 23 toolchain for javadoc generation
while keeping JDK 17 as the build target.

- Add javadoc-toolchain profile that uses JDK 23 for markdown rendering
- Update CI workflows to set up both JDK 17 and JDK 23
- Add markdown `overview.md` as the javadoc landing page
- Add documentation for contributors on adding javadoc content

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Import and convert documentation from `modelcontextprotocol` repo:

- `sdk-overview.md`: Features, architecture, and dependencies
- `server.md`: Server implementation and transport providers
- `client.md`: Client implementation, transports, and capabilities

Conversions applied:

- MDX `<Tabs>`/`<Tab>` elements to markdown subsections
- `<Tip>`/`<Note>` callouts to blockquotes
- Internal links updated for javadoc doc-files structure
- Specification links to `modelcontextprotocol.io/specification/latest`

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Merge Features and Architecture sections from `sdk-overview.md` into
  `overview.md`
- Create `getting-started.md` with Dependency and BOM setup instructions
- Delete `sdk-overview.md` (content redistributed)
- Update links to point to `getting-started.html`

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Upgrade javadoc toolchain from JDK 23 to JDK 25 to use the new
`--syntax-highlight` option, which bundles highlight.js for automatic
syntax highlighting of fenced code blocks in markdown documentation.

- Update `javadoc.jdk.version` from 23 to 25 in `pom.xml`
- Add `--syntax-highlight` option to maven-javadoc-plugin configuration
- Update CI workflows to set up JDK 25 for javadoc generation
- Update contributor documentation with syntax highlighting details

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant