MCP.so
登录

FastMCP Scala MCP Server

@TJC-LP

基本信息

分类

其他

许可证

MIT

传输方式

stdio

作者

TJC-LP

关于 FastMCP Scala MCP Server

A quick and easy way to deploy MCP servers using Scala

FastMCP Scala MCP Server 配置

使用下面的配置,将此服务器添加到你的 MCP 客户端。

{
  "mcpServers": {
    "fast-mcp-scala-tjc-lp": {
      "command": "npx",
      "args": [
        "@modelcontextprotocol/inspector",
        "scala-cli",
        "scripts/quickstart.sc"
      ]
    }
  }
}

FastMCP Scala MCP Server 工具

工具列表暂未提供

当前收录暂时没有可展示的工具列表,不代表服务没有工具。请查阅项目文档了解支持的能力。

点击上方按钮,在临时沙箱中运行此服务器并实时获取工具列表。

概览

What is FastMCP-Scala?

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.

How to use FastMCP-Scala?

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.

Key features of FastMCP-Scala

  • Annotation‑driven tools, resources, and prompts via @Tool, @Resource, @Prompt
  • Typed contract values (McpTool, McpPrompt, McpStaticResource, McpTemplateResource)
  • Built on ZIO 2 with Tapir‑derived schemas
  • Uses Jackson 3 (JVM) / zio‑json (JS) for JSON handling
  • Wraps official Java MCP SDK 1.1.1 and TS MCP SDK 1.29.0
  • Compile‑time transport selection: stdio or HTTP (streamable or stateless)
  • Experimental task support for long‑running operations

Use cases of FastMCP-Scala

  • Rapid prototyping of MCP servers with minimal ceremony
  • Production servers with testable, composable contract definitions
  • Cross‑platform MCP servers that run on both JVM and JavaScript runtimes
  • Exposing tools, resources, and prompts to MCP clients (e.g., Claude Desktop, MCP Inspector)
  • Integrating MCP with effect systems like ZIO, Cats Effect, or plain values

常见问题

1

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+).

2

How do I choose between annotations and typed contracts?

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.

3

What transports are available?

Stdio (for Claude Desktop, MCP Inspector) and HTTP (for remote clients, load balancers). HTTP supports streamable mode with SSE or stateless request/response mode.

4

How are schemas derived?

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 = ...)`.

5

Can I access client context in a tool?

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.

评论

其他 分类下的更多 MCP 服务器