What platforms does FastMCP-Scala support?
It supports the JVM (JDK 17+) and Scala.js 1.x (runs on Bun first‑class and Node 18+).
@TJC-LP
Basic information
A quick and easy way to deploy MCP servers using Scala
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"fast-mcp-scala-tjc-lp": {
"command": "npx",
"args": [
"@modelcontextprotocol/inspector",
"scala-cli",
"scripts/quickstart.sc"
]
}
}
}Tool list not available yet
This listing does not currently have a tool list to display. This does not mean the server has no tools; check its documentation for supported capabilities.
Fetch the live tool list by running this server in a temporary sandbox using the button above.
FastMCP-Scala is a Scala 3 library for building Model Context Protocol (MCP) servers. It provides annotation-driven and typed-contract APIs that run on both the JVM and Scala.js/Bun, targeting developers who want minimal boilerplate and cross‑platform compatibility.
Add the library dependency to your sbt build (com.tjclp module). Extend McpServerApp[Transport, Self.type] and declare tools using @Tool annotations or typed McpTool values. Transport is a phantom type parameter (Stdio or Http) that selects the runtime at compile time. Run the server with scala-cli or your preferred launcher.
@Tool, @Resource, @PromptMcpTool, McpPrompt, McpStaticResource, McpTemplateResource)It supports the JVM (JDK 17+) and Scala.js 1.x (runs on Bun first‑class and Node 18+).
Annotations (`@Tool` + `scanAnnotations`) are best for quick servers and prototypes; typed contracts (`McpTool`, etc.) suit libraries, cross‑module sharing, and production codebases. Both can coexist on the same server.
Stdio (for Claude Desktop, MCP Inspector) and HTTP (for remote clients, load balancers). HTTP supports streamable mode with SSE or stateless request/response mode.
Tool and resource schemas are derived from method signatures and `@Param` annotations using Tapir. You can override any parameter’s schema with a raw JSON Schema fragment via `@Param(schema = ...)`.
Yes, add an optional `ctx: McpContext` parameter to annotated methods or use `McpTool.contextual` in the typed‑contract path to read the client’s declared info and capabilities.

Model Context Protocol Servers
Painless E2E Automation for Mobile and Web
A search tool helps dev to solve the naming things problem.

Soar Flight Booking MCP is a remote MCP server available at https://mcp.soar.flights.
Free moving quotes for AI agents from Next Generation Movers, a licensed interstate mover (USDOT 3764697). US long-distance nationwide and local DC/MD/VA. Indicative ballpark price and booking options; optional $0.01 x40
Comments