Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 9 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# This file was autogenerated by dist: https://github.com/astral-sh/cargo-dist
# This file was autogenerated by dist: https://axodotdev.github.io/cargo-dist
#
# Copyright 2025 Astral Software Inc.
# Copyright 2022-2024, axodotdev
# SPDX-License-Identifier: MIT or Apache-2.0
#
# CI that:
Expand Down Expand Up @@ -58,12 +58,13 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
submodules: recursive
- name: Install dist
# we specify bash to get pipefail; it guards against the `curl` command
# failing. otherwise `sh` won't catch that `curl` returned non-0
shell: bash
run: "curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/cargo-dist/releases/download/v0.28.3/cargo-dist-installer.sh | sh"
run: "curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.30.0/cargo-dist-installer.sh | sh"
- name: Cache dist
uses: actions/upload-artifact@v4
with:
Expand Down Expand Up @@ -117,6 +118,7 @@ jobs:
git config --global core.longpaths true
- uses: actions/checkout@v4
with:
persist-credentials: false
submodules: recursive
- name: Install Rust non-interactively if not already installed
if: ${{ matrix.container }}
Expand Down Expand Up @@ -175,6 +177,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
submodules: recursive
- name: Install cached dist
uses: actions/download-artifact@v4
Expand Down Expand Up @@ -224,6 +227,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
submodules: recursive
- name: Install cached dist
uses: actions/download-artifact@v4
Expand Down Expand Up @@ -286,6 +290,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
persist-credentials: true
repository: "rust-mcp-stack/homebrew-tap"
token: ${{ secrets.HOMEBREW_TAP_TOKEN }}
# So we have access to the formula
Expand Down Expand Up @@ -332,4 +337,5 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
submodules: recursive
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,16 @@ powershell -ExecutionPolicy Bypass -c "irm https://github.com/rust-mcp-stack/rus
```sh
brew install rust-mcp-stack/tap/rust-mcp-filesystem
```


- **NPM**

```sh
npm i -g @rustmcp/rust-mcp-filesystem@latest
```
> 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.


- **Docker**

https://hub.docker.com/mcp/server/rust-mcp-filesystem
Expand Down
6 changes: 4 additions & 2 deletions dist-workspace.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ members = ["cargo:."]
# Path that installers should place binaries in
install-path = "~/.rust-mcp-stack/bin"
# The preferred dist version to use in CI (Cargo.toml SemVer syntax)
cargo-dist-version = "0.28.3"
cargo-dist-version = "0.30.0"
# CI backends to support
ci = "github"
# The installers to generate for each app
installers = ["shell", "powershell", "homebrew", "msi"]
installers = ["shell", "powershell", "npm", "homebrew", "msi"]
# Target platforms to build apps for (Rust target-triple syntax)
targets = ["aarch64-apple-darwin", "aarch64-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-unknown-linux-gnu", "x86_64-pc-windows-msvc"]
# The archive format to use for non-windows builds (defaults .tar.xz)
Expand All @@ -23,6 +23,8 @@ create-release = false
tap = "rust-mcp-stack/homebrew-tap"
# Publish jobs to run in CI
publish-jobs = ["homebrew"]
# A namespace to use when publishing this package to the npm registry
npm-scope = "@rustmcp"

[dist.github-custom-runners]
global = "ubuntu-22.04"
Expand Down
37 changes: 37 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,43 @@ This project is a pure Rust rewrite of the JavaScript-based **@modelcontextproto
Refer to the [quickstart](quickstart.md) guide for installation and configuration instructions.


##### **Shell script**

<!-- x-release-please-start-version -->

```sh
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
```

##### **PowerShell script**

```sh
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"
```

##### **Homebrew**

```sh
brew install rust-mcp-stack/tap/rust-mcp-filesystem
```

##### **NPM**

```sh
npm i -g @rustmcp/rust-mcp-filesystem@latest
```
> 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.

##### **Docker**

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

##### **Download Binaries**

https://github.com/rust-mcp-stack/rust-mcp-filesystem/releases/tag/v0.3.6

<!-- x-release-please-end -->

## Purpose

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.
Expand Down