1. Conduid
  2. Developer Tools
  3. mickaelkerjean/filestash
MCP server · Developer Tools

mickaelkerjean/filestash

:file_folder: Universal File Management Clients (for humans and agents)

92Excellent

Scored 20 hours ago · breakdown

About mickaelkerjean/filestash

mickaelkerjean/filestash is an MCP server published by mickael-kerjean in the Developer Tools category: :file_folder: Universal File Management Clients (for humans and agents).

The repository has 15K stars and 1.0K forks, with the last commit yesterday. Recent commit activity is the strongest signal that reported issues will get attention.

Install

From source
git clone https://github.com/mickael-kerjean/filestash

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about mickaelkerjean/filestash

Powered by Claude · Grounded in docs

I know everything about mickaelkerjean/filestash. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 20 hours ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

Releases

v0.4v0.4
v0.3v0.3
v0.2.1v0.2.1
v0.2v0.2
v0.1v0.1

README

screenshot

What is this?

Key Features

Plugins

Malleability isn't an afterthought, it's the whole architecture:

anything that's not a fundamental truth of the universe lives in a plugin

Taken literally, the "truths of the universe" are a set of core interfaces, one for every key component of Filestash, and they're yours to implement (storage, authentication, authorisation, search, thumbnailing, apps, middleware, frontend changes, ...)

The oldest one is the storage interface, the one at work whenever you connect to a storage:

type IBackend interface {
	Ls(path string) ([]os.FileInfo, error)
	Stat(path string) (os.FileInfo, error)
	Cat(path string) (io.ReadCloser, error)
	Mkdir(path string) error
	Rm(path string) error
	Mv(from string, to string) error
	Save(path string, file io.Reader) error
	Touch(path string) error
}

Historically, plugins were made in Go and compiled in. Today there's a second path: runtime plugins, a zip you drop in the plugins folder. The zip can reshape the frontend and it can carry wasm implementing the very same core interfaces. That wasm runs in a VM with tight control on permissions: no declared network host, no way to phone home. Installing a plugin doesn't mean trusting it with everything.

For example:

use filestash::*;

#[derive(Default)]
pub struct Plugin;

impl Authorisation for Plugin {
    fn ls(&self, _ctx: &Context, path: &str) -> Decision {
        self.check(path)
    }
    fn cat(&self, _ctx: &Context, path: &str) -> Decision { ... }
    fn stat(&self, _ctx: &Context, path: &str) -> Decision { ... }
}

impl Plugin {
    fn check(&self, path: &str) -> Decision {
        if path.split("/").any(|segment| segment == "top_secret") {
            log::warn!("[TOPSECRET] access denied !!");
            return Decision::Deny;
        }
        Decision::Allow
    }
}

register!(Plugin: Authorisation);

These few lines give you a readonly view of your data where every folder named "top_secret" is off limits. For more examples, browse the plugin folder, the runtime plugin cookbook, and the plugin marketplace.

And to be clear, code is the power-user path, there are no code options

Getting Started

To install Filestash, head to the Getting started guide. If you want to leverage plugins, head over to the inventory, or learn about developing your own plugins.

Support

Why

Familiar with the infamous comment from Dropbox's launch on HN? In my memory it goes like this:

Credits

Filestash stands on the shoulders of: contributors, folks developing awesome libraries, BrandonM, a whole bunch of C stuff (the C standard library, libjpeg, libpng, libgif, libraw and many more), fontawesome, material, Browser stack to let us test on real devices, and the many guys from Nebraska and elsewhere who have been thanklessly maintaining the critical pieces that Filestash sits on top:

README fetched from the repository 20 hours ago. The original is authoritative.

Questions

About mickaelkerjean/filestash

How do I install mickaelkerjean/filestash?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is mickaelkerjean/filestash safe to use with an AI agent?

Its trust score is 92 out of 100 (excellent). It passes 4 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is mickaelkerjean/filestash still maintained?

Yes — the last commit was yesterday. The repository has 15K stars and 1.0K forks and 126 open issues.