Skip to content

Enable markdown docs#728

Open
jonathanhefner wants to merge 4 commits intomodelcontextprotocol:mainfrom
jonathanhefner:enable-markdown-docs
Open

Enable markdown docs#728
jonathanhefner wants to merge 4 commits intomodelcontextprotocol:mainfrom
jonathanhefner:enable-markdown-docs

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 January 21, 2026 11: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 <noreply@anthropic.com>
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 <noreply@anthropic.com>
- 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 <noreply@anthropic.com>
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 <noreply@anthropic.com>
@tzolov
Copy link
Contributor

tzolov commented Feb 16, 2026

Hey @jonathanhefner, thanks for taking the time to put this together!

We've been discussing the docs structure and decided to go with a dedicated docs folder approach instead (as mentioned in modelcontextprotocol/modelcontextprotocol#2144). It's more in line with what we're seeing across the other SDKs. Furthermore it is not common in Java to add the reference docs in the javadoc.

I've opened #796 to track the docs harmonization work. The reference docs are already being auto-generated and published at https://modelcontextprotocol.github.io/java-sdk/

Quick question though - when #2144 mentions adding the conformance score to the README, does that mean the project's top-level README, or should there be a separate one in the docs folder?

@tzolov tzolov self-assigned this Feb 16, 2026
@tzolov tzolov added this to the 0.18.0 milestone Feb 16, 2026
@tzolov
Copy link
Contributor

tzolov commented Feb 16, 2026

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.

2 participants