GitHub - kpavlov/tachyon: 💫 Tachyon MCP Runtime for Java and Kotlin - Model Context Protocol (MCP) server with Streamable HTTP, native Netty transports, tools, tasks, resources, prompts, completions, resumable sessions, and stateless deployment support.

GitHub

3 min read Original article ↗

Maven Central Java 21+ Build MCPConformance: 2025-11-25+2026-07-28 codecov Docs Api Ask DeepWiki

Tachyon MCP banner

Tachyon MCP is a Java 21+ server runtime for the Model Context Protocol. It implements MCP 2025-11-25 and 2026-07-28 over Streamable HTTP and passes the official conformance suites for both versions.

Build servers with synchronous Java handlers or a coroutine-first Kotlin DSL. Tachyon runs blocking handlers on virtual threads, keeps them off the Netty event loop, and requires no application framework.

Why Tachyon?

  • Simple handlers -- write blocking Java code or suspending Kotlin code without reactive pipelines or manual thread pools.
  • Stable application API -- protocol-version mappers isolate handlers from wire-format changes.
  • Java annotations support -- adapt existing mcp-java, LangChain4j, or Spring AI annotated services into Tachyon MCP servers.
  • Stateless by default -- opt into sessions only when you need resumable SSE, event replay, and TTL cleanup.
  • Production transport -- Netty backpressure, graceful shutdown, DNS-rebinding protection, CORS, and native transport auto-detection (io_uringepollkqueue → NIO).

Quickstart

Add the core dependency:

<dependency>
    <groupId>dev.tachyonmcp</groupId>
    <artifactId>tachyon-core</artifactId>
    <version>${tachyon.version}</version>
</dependency>

Create and start a server:

import dev.tachyonmcp.api.server.features.tools.ToolResult;
import dev.tachyonmcp.core.server.TachyonServer;

public class WeatherMcpServer {
    public static void main(String... args) {
        var server = TachyonServer.builder()
            .name("weather-mcp")
            .withTools(tools -> tools.register(
                tool -> tool.name("get_forecast")
                    .description("Get weather forecast")
                    .inputSchema("""
                        {"type":"object","properties":{"city":{"type":"string"}},"required":["city"]}
                        """),
                (context, request) -> ToolResult.text("☀️ 22°C")))
            .port(8080)
            .build();
        server.start();
    }
}

See the quickstart for Java and Kotlin examples plus a curl test.

Implemented features

Area Support
MCP surface Tools, resources and templates, prompts, completions, logging, sampling, form/URL elicitation, cancellation, subscriptions, pagination, and progress notifications
Annotations Optional adapters for mcp-java, LangChain4j, and Spring AI, mapped onto Tachyon's standard registries
Tasks Full tasks/* lifecycle, state validation, status notifications, retention, and TasksExtension for SEP-1686
Agent Skills SkillsExtension implements the SEP-2640 draft: filesystem/classpath registries, skill:// resources, skills/list, skills/get, and directory reads
Extensions SEP-2133 negotiation, custom JSON-RPC methods, capability advertisement, and extension-gated features
Runtime Stateless or resumable sessions, Last-Event-ID replay, pluggable stores, virtual-thread handlers, request timeouts, and graceful draining
Java and Kotlin Independent sync/async Java contracts and a coroutine-first Kotlin DSL
Testing Official conformance suites plus a testkit for dynamic servers and fluent JSON-RPC assertions

Documentation and examples

  • Configuration -- network, native I/O, sessions, CORS, and runtime limits
  • Tools, resources, and tasks -- feature APIs and examples
  • Annotations -- mcp-java, LangChain4j, and Spring AI providers
  • Extensions and MCP Skills -- custom protocol methods and SEP support
  • Kotlin DSL -- builders, scopes, and suspending handlers
  • Examples -- runnable Java and Kotlin servers
  • FAQ -- frameworks, concurrency, deployment, and compatibility

Coding-agent skill

This repository also includes a skill that teaches coding agents how to build Tachyon servers. It is separate from the server-side SkillsExtension described above.

npx skills add kpavlov/tachyon --skill tachyon-mcp

Its Java and Kotlin examples are compiled during the project build to keep them current.

License

Tachyon MCP is available under the terms of the Apache 2.0.

Tachyon logo