Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
9279688
feat(mcp): implement zero-reflection APT dispatcher for MCP servers
jknack Mar 21, 2026
6db1299
build: add constructor tests for DI vs No_DI controllers
jknack Mar 21, 2026
2a70486
Merge branch 'main' into 3830
jknack Mar 21, 2026
61cf331
- build: use the same template for all generated code
jknack Mar 21, 2026
d5df0a1
feat(mcp): complete APT code generation for MCP server features
jknack Mar 25, 2026
81ad12c
build: apt: refactor: split code generation
jknack Mar 25, 2026
df7590a
build: cleanup after huge refactor
jknack Mar 25, 2026
dd8ea41
jooby-mcp: Add kliushnichenko mcp runtime
jknack Mar 25, 2026
7b820db
- build: more fixes on refactor/generator split
jknack Mar 25, 2026
d8e2047
- build fix: all tests are good now
jknack Mar 25, 2026
b5dca0f
- build: code clean up
jknack Mar 26, 2026
6c9e9e5
build: finish cleanup of available router/route
jknack Mar 26, 2026
dcc65d3
mcp: bind response to mcp responses
jknack Mar 26, 2026
9532561
fix(mcp): register completions capability and unify generated handlers
jknack Mar 27, 2026
eb773ed
- integration test for all transport
jknack Mar 27, 2026
b590548
- remove code examples from kliushnichenko
jknack Mar 27, 2026
d68adc4
refactor(mcp): simplify and unify transport class names
jknack Mar 27, 2026
26c8d52
fix(mcp): resolve SSE truncation and I/O thread blocking in streamabl…
jknack Mar 27, 2026
a86ee88
- McpServer.serverKey rename
jknack Mar 27, 2026
8cd4c0a
- add more tests over mcp
jknack Mar 27, 2026
8291207
feat(mcp): expand @McpResource annotation and enhance APT generation
jknack Mar 28, 2026
96d3f34
- move mcp annotation to his own module
jknack Mar 28, 2026
352923a
- use real McpSchema.Role enum on McpResource annotation
jknack Mar 28, 2026
6ec7b65
- remove duplicated code while parsing McpResourceAnnotation
jknack Mar 28, 2026
5d968b8
feat(mcp): enhance @McpTool with title and advanced annotations
jknack Mar 28, 2026
c817193
- split mcp definition/spec into their own method
jknack Mar 28, 2026
bc9714c
- remove redunancy of kt flag
jknack Mar 28, 2026
a4a115b
feat(mcp): modularize Jackson and victools support for v2 and v3
jknack Mar 29, 2026
d33b90b
- bug fixing session/code refactor
jknack Mar 29, 2026
40a6e9b
refactor(mcp): simplify transport context extraction in code generator
jknack Mar 29, 2026
9cbdb09
This commit introduces the `McpInvoker` interface to wrap all generated
jknack Mar 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions jooby/src/main/java/io/jooby/MediaType.java
Original file line number Diff line number Diff line change
Expand Up @@ -443,6 +443,21 @@ static boolean matches(@NonNull String expected, @NonNull String contentType) {
return index > 0 ? byFileExtension(filename.substring(index + 1)) : octetStream;
}

/**
* Mediatype by file extension.
*
* @param ext File extension.
* @return Mediatype.
*/
public static @NonNull MediaType byFileExtension(
@NonNull String ext, @NonNull String defaultType) {
var result = byFileExtension(ext);
if (result.equals(octetStream) || result.equals(all)) {
return MediaType.valueOf(defaultType);
}
return result;
}

/**
* Mediatype by file extension.
*
Expand Down
27 changes: 26 additions & 1 deletion modules/jooby-apt/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,33 @@

<dependencies>

<dependency>
<groupId>io.jooby</groupId>
<artifactId>jooby-javadoc</artifactId>
<version>${jooby.version}</version>
</dependency>

<dependency>
<groupId>io.jooby</groupId>
<artifactId>jooby</artifactId>
<version>${jooby.version}</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>io.jooby</groupId>
<artifactId>jooby-mcp</artifactId>
<version>${jooby.version}</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>com.github.victools</groupId>
<artifactId>jsonschema-generator</artifactId>
<version>5.0.0</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>io.jooby</groupId>
<artifactId>jooby-jackson3</artifactId>
Expand All @@ -44,7 +64,6 @@
<scope>test</scope>
</dependency>

<!-- Test dependencies -->
<dependency>
<groupId>com.google.testing.compile</groupId>
<artifactId>compile-testing</artifactId>
Expand All @@ -58,6 +77,12 @@
<scope>test</scope>
</dependency>

<dependency>
<groupId>io.modelcontextprotocol.sdk</groupId>
<artifactId>mcp-core</artifactId>
<scope>test</scope>
</dependency>

<dependency>
<groupId>com.google.truth</groupId>
<artifactId>truth</artifactId>
Expand Down
Loading
Loading