Skip to content

Commit 5b78516

Browse files
authored
feat: update document and installers with npm support (#68)
* refactor: fs-service into more organized and managabke modules * chore: update dependencies * chore: sync * chore: update rp config * chore: update readme * chore: update dist
1 parent dde8609 commit 5b78516

File tree

4 files changed

+60
-5
lines changed

4 files changed

+60
-5
lines changed

.github/workflows/release.yml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# This file was autogenerated by dist: https://github.com/astral-sh/cargo-dist
1+
# This file was autogenerated by dist: https://axodotdev.github.io/cargo-dist
22
#
3-
# Copyright 2025 Astral Software Inc.
3+
# Copyright 2022-2024, axodotdev
44
# SPDX-License-Identifier: MIT or Apache-2.0
55
#
66
# CI that:
@@ -58,12 +58,13 @@ jobs:
5858
steps:
5959
- uses: actions/checkout@v4
6060
with:
61+
persist-credentials: false
6162
submodules: recursive
6263
- name: Install dist
6364
# we specify bash to get pipefail; it guards against the `curl` command
6465
# failing. otherwise `sh` won't catch that `curl` returned non-0
6566
shell: bash
66-
run: "curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/cargo-dist/releases/download/v0.28.3/cargo-dist-installer.sh | sh"
67+
run: "curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.30.0/cargo-dist-installer.sh | sh"
6768
- name: Cache dist
6869
uses: actions/upload-artifact@v4
6970
with:
@@ -117,6 +118,7 @@ jobs:
117118
git config --global core.longpaths true
118119
- uses: actions/checkout@v4
119120
with:
121+
persist-credentials: false
120122
submodules: recursive
121123
- name: Install Rust non-interactively if not already installed
122124
if: ${{ matrix.container }}
@@ -175,6 +177,7 @@ jobs:
175177
steps:
176178
- uses: actions/checkout@v4
177179
with:
180+
persist-credentials: false
178181
submodules: recursive
179182
- name: Install cached dist
180183
uses: actions/download-artifact@v4
@@ -224,6 +227,7 @@ jobs:
224227
steps:
225228
- uses: actions/checkout@v4
226229
with:
230+
persist-credentials: false
227231
submodules: recursive
228232
- name: Install cached dist
229233
uses: actions/download-artifact@v4
@@ -286,6 +290,7 @@ jobs:
286290
steps:
287291
- uses: actions/checkout@v4
288292
with:
293+
persist-credentials: true
289294
repository: "rust-mcp-stack/homebrew-tap"
290295
token: ${{ secrets.HOMEBREW_TAP_TOKEN }}
291296
# So we have access to the formula
@@ -332,4 +337,5 @@ jobs:
332337
steps:
333338
- uses: actions/checkout@v4
334339
with:
340+
persist-credentials: false
335341
submodules: recursive

README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,16 @@ powershell -ExecutionPolicy Bypass -c "irm https://github.com/rust-mcp-stack/rus
4545
```sh
4646
brew install rust-mcp-stack/tap/rust-mcp-filesystem
4747
```
48+
49+
50+
- **NPM**
51+
52+
```sh
53+
npm i -g @rustmcp/rust-mcp-filesystem@latest
54+
```
55+
> The npm package is provided for convenience. It runs the same underlying Rust binary but can be installed and used as a standard npm package.
56+
57+
4858
- **Docker**
4959

5060
https://hub.docker.com/mcp/server/rust-mcp-filesystem

dist-workspace.toml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ members = ["cargo:."]
66
# Path that installers should place binaries in
77
install-path = "~/.rust-mcp-stack/bin"
88
# The preferred dist version to use in CI (Cargo.toml SemVer syntax)
9-
cargo-dist-version = "0.28.3"
9+
cargo-dist-version = "0.30.0"
1010
# CI backends to support
1111
ci = "github"
1212
# The installers to generate for each app
13-
installers = ["shell", "powershell", "homebrew", "msi"]
13+
installers = ["shell", "powershell", "npm", "homebrew", "msi"]
1414
# Target platforms to build apps for (Rust target-triple syntax)
1515
targets = ["aarch64-apple-darwin", "aarch64-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-unknown-linux-gnu", "x86_64-pc-windows-msvc"]
1616
# The archive format to use for non-windows builds (defaults .tar.xz)
@@ -23,6 +23,8 @@ create-release = false
2323
tap = "rust-mcp-stack/homebrew-tap"
2424
# Publish jobs to run in CI
2525
publish-jobs = ["homebrew"]
26+
# A namespace to use when publishing this package to the npm registry
27+
npm-scope = "@rustmcp"
2628

2729
[dist.github-custom-runners]
2830
global = "ubuntu-22.04"

docs/README.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,43 @@ This project is a pure Rust rewrite of the JavaScript-based **@modelcontextproto
1919
Refer to the [quickstart](quickstart.md) guide for installation and configuration instructions.
2020

2121

22+
##### **Shell script**
23+
24+
<!-- x-release-please-start-version -->
25+
26+
```sh
27+
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/rust-mcp-stack/rust-mcp-filesystem/releases/download/v0.3.6/rust-mcp-filesystem-installer.sh | sh
28+
```
29+
30+
##### **PowerShell script**
31+
32+
```sh
33+
powershell -ExecutionPolicy Bypass -c "irm https://github.com/rust-mcp-stack/rust-mcp-filesystem/releases/download/v0.3.6/rust-mcp-filesystem-installer.ps1 | iex"
34+
```
35+
36+
##### **Homebrew**
37+
38+
```sh
39+
brew install rust-mcp-stack/tap/rust-mcp-filesystem
40+
```
41+
42+
##### **NPM**
43+
44+
```sh
45+
npm i -g @rustmcp/rust-mcp-filesystem@latest
46+
```
47+
> The npm package is provided for convenience. It runs the same underlying Rust binary but can be installed and used as a standard npm package.
48+
49+
##### **Docker**
50+
51+
https://hub.docker.com/mcp/server/rust-mcp-filesystem
52+
53+
##### **Download Binaries**
54+
55+
https://github.com/rust-mcp-stack/rust-mcp-filesystem/releases/tag/v0.3.6
56+
57+
<!-- x-release-please-end -->
58+
2259
## Purpose
2360

2461
This project aims to provide a reliable, secure, and feature-rich MCP server for filesystem management, reimagining the capabilities of **@modelcontextprotocol/server-filesystem** in a more performant and type-safe language. Whether you’re using this for file exploration, automation, or system integration, rust-mcp-filesystem offers a solid foundation.

0 commit comments

Comments
 (0)