diff --git a/README.md b/README.md index 3686c29..930850c 100644 --- a/README.md +++ b/README.md @@ -10,17 +10,17 @@ Features ## Installation -Add to your **`build.sbt`** (defaulting to **Scala 3.6.4**): +Add to your **`build.sbt`** (defaulting to **Scala 3.7.2**): ```scala -libraryDependencies += "com.tjclp" %% "fast-mcp-scala" % "0.1.1" +libraryDependencies += "com.tjclp" %% "fast-mcp-scala" % "0.1.2" ``` ## Quickstart ```scala -//> using scala 3.6.4 -//> using dep com.tjclp::fast-mcp-scala:0.1.2-SNAPSHOT +//> using scala 3.7.2 +//> using dep com.tjclp::fast-mcp-scala:0.1.2 //> using options "-Xcheck-macros" "-experimental" import com.tjclp.fastmcp.core.{Tool, ToolParam, Prompt, PromptParam, Resource, ResourceParam} @@ -51,7 +51,7 @@ object ExampleServer extends ZIOAppDefault: override def run = for - server <- ZIO.succeed(FastMcpServer("ExampleServer", "0.1.1")) + server <- ZIO.succeed(FastMcpServer("ExampleServer", "0.1.2")) _ <- ZIO.attempt(server.scanAnnotations[Example.type]) _ <- server.runStdio() yield () @@ -68,7 +68,7 @@ npx @modelcontextprotocol/inspector scala-cli /scripts/quickstart. You can also run examples directly from the command line: ```bash scala-cli \ - -e '//> using dep com.tjclp::fast-mcp-scala:0.1.1' \ + -e '//> using dep com.tjclp::fast-mcp-scala:0.1.2' \ --main-class com.tjclp.fastmcp.examples.AnnotatedServer ``` @@ -83,7 +83,7 @@ In Claude desktop, you can add the following to your `claude_desktop_config.json "command": "scala-cli", "args": [ "-e", - "//> using dep com.tjclp::fast-mcp-scala:0.1.1", + "//> using dep com.tjclp::fast-mcp-scala:0.1.2", "--main-class", "com.tjclp.fastmcp.examples.AnnotatedServer" ] @@ -112,7 +112,7 @@ When hacking on *FastMCP‑Scala* itself, you can consume a local build in any p In your cloned repository, set a working version ```scala -ThisBuild / version := "0.1.1-SNAPSHOT" +ThisBuild / version := "0.1.3-SNAPSHOT" ``` ```bash @@ -123,7 +123,7 @@ sbt publishLocal Then, in your consuming sbt project: ```scala -libraryDependencies += "com.tjclp" %% "fast-mcp-scala" % "0.1.1-SNAPSHOT" +libraryDependencies += "com.tjclp" %% "fast-mcp-scala" % "0.1.3-SNAPSHOT" ``` > `publishLocal` installs the artifact under `~/.ivy2/local` (or the Coursier cache when enabled). @@ -145,15 +145,15 @@ Unmanaged JARs placed in a project's `lib/` folder are picked up automatically b You can use `fast-mcp-scala` in another scala‑cli project: ```scala -//> using scala 3.6.4 -//> using dep com.tjclp::fast-mcp-scala:0.1.1 +//> using scala 3.7.2 +//> using dep com.tjclp::fast-mcp-scala:0.1.2 //> using options "-Xcheck-macros" "-experimental" ``` You can also point directly at the local JAR: ```scala -//> using scala 3.6.4 -//> using lib "/absolute/path/to/fast-mcp-scala_3-0.1.1.jar" +//> using scala 3.7.2 +//> using jar "/absolute/path/to/fast-mcp-scala_3-0.1.2.jar" //> using options "-Xcheck-macros" "-experimental" ``` \ No newline at end of file diff --git a/build.sbt b/build.sbt index 8058692..fc5709f 100644 --- a/build.sbt +++ b/build.sbt @@ -5,7 +5,7 @@ sonatypeTimeoutMillis := 60000 ThisBuild / sonatypeCredentialHost := sonatypeCentralHost -ThisBuild / version := "0.1.2-SNAPSHOT" +ThisBuild / version := "0.1.2" val sv = "3.7.2" ThisBuild / scalaVersion := sv // Using Scala 3 diff --git a/scripts/examples.scala b/scripts/examples.sc similarity index 64% rename from scripts/examples.scala rename to scripts/examples.sc index a238796..4157c5a 100644 --- a/scripts/examples.scala +++ b/scripts/examples.sc @@ -1,13 +1,13 @@ //> using scala "3.6.4" -//> using dep com.tjclp::fast-mcp-scala:0.1.1 +//> using dep com.tjclp::fast-mcp-scala:0.1.2 //> using options "-Xcheck-macros" "-experimental" // Enable verbose macro processing // This is a launcher file for scala-cli // You can run any of the MCP server classes with: // -// scala-cli run examples.scala --main-class com.tjclp.fastmcp.examples.SimpleServer (Basic server example) -// scala-cli run examples.scala --main-class com.tjclp.fastmcp.examples.AnnotatedServer (Annotation-based server with macros) -// scala-cli run examples.scala --main-class com.tjclp.fastmcp.examples.ManualServer (Manual tool registration example) +// scala-cli examples.sc --main-class com.tjclp.fastmcp.examples.SimpleServer (Basic server example) +// scala-cli examples.sc --main-class com.tjclp.fastmcp.examples.AnnotatedServer (Annotation-based server with macros) +// scala-cli examples.sc --main-class com.tjclp.fastmcp.examples.ManualServer (Manual tool registration example) // // MACRO ENHANCEMENTS: // - The AnnotatedServer example demonstrates the enhanced macro-driven approach for diff --git a/scripts/quickstart.scala b/scripts/quickstart.sc similarity index 93% rename from scripts/quickstart.scala rename to scripts/quickstart.sc index eec4d86..1cad4e6 100644 --- a/scripts/quickstart.scala +++ b/scripts/quickstart.sc @@ -1,6 +1,5 @@ //> using scala 3.6.4 -//> using repository m2Local -//> using dep com.tjclp::fast-mcp-scala:0.1.2-SNAPSHOT +//> using dep com.tjclp::fast-mcp-scala:0.1.2 //> using options "-Xcheck-macros" "-experimental" import com.tjclp.fastmcp.core.{Tool, ToolParam, Prompt, PromptParam, Resource, ResourceParam} @@ -31,7 +30,9 @@ object ExampleServer extends ZIOAppDefault: override def run = for - server <- ZIO.succeed(FastMcpServer("ExampleServer", "0.1.1")) + server <- ZIO.succeed(FastMcpServer("ExampleServer", "0.1.2")) _ <- ZIO.attempt(server.scanAnnotations[Example.type]) _ <- server.runStdio() yield () + +ExampleServer.main(args) \ No newline at end of file