mcpField
M
Mcp Smb Server

Mcp Smb Server

Local
github.com/natan04Files & Storage1Updated 42w ago

About Mcp Smb Server

MCP SMB Server is a runtime file-access gateway for AI agents that need files from SMB/CIFS shares or local directories. It reads files only when requested and relies on native filesystem or SMB permissions rather than indexing or duplicating data.

Key features

  1. 01SMB and local filesystem access
  2. 02Native permission enforcement
  3. 03On-demand file access
  4. 04Directory listing and bounded reads
  5. 05stdio communication

Use cases

  1. 01Reading permitted files from SMB shares
  2. 02Accessing files in configured local paths
  3. 03Keeping file access subject to OS permissions

MCP support

Exposes `list_directory` and `read_file` tools to MCP clients. It uses MCP as a runtime control plane, with file authorization enforced by the underlying filesystem or SMB server.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

MCP SMB Server

A runtime file-access gateway for AI agents using the Model Context Protocol (MCP).

This project allows AI agents to access SMB/CIFS shares or local filesystem paths at runtime, while preserving native filesystem permission enforcement.

If the underlying system cannot read a file, the agent cannot read it either.


What this project is not

  • ❌ No filesystem indexing
  • ❌ No embeddings or vector databases
  • ❌ No data sync or pre-copy
  • ❌ No permission bypass
  • ❌ No IAM or policy engine

What it does

  • ✅ Exposes files only at access time
  • ✅ Relies on native SMB / OS permission enforcement
  • ✅ Uses MCP as a runtime control plane
  • ✅ Supports SMB and local filesystem backends
  • ✅ Communicates over stdio (VS Code / agent friendly)

Why this exists

Most AI file integrations follow this pattern:

Filesystem → Sync → Index → Embed → Agent

This breaks permission models and makes revocation impossible.

This project instead does:

Agent → MCP → Runtime filesystem access → Native permission check

No indexing. No duplication. No policy reimplementation.


Backends

Local mode
  • Accesses local directories
  • Restricted to configured base paths
  • Uses OS permissions
SMB mode
  • Accesses SMB/CIFS shares
  • Authorization handled by the SMB server
  • No credentials stored in config files

Available MCP tools

list_directory

Lists files and directories at a given path.

Arguments

  • path (string, required)

read_file

Reads a bounded portion of a file.

Arguments

  • path (string, required)
  • max_bytes (number, optional, default: 8192)

Configuration

Configuration is process-level, loaded once at startup.

For detailed configuration examples, see the Configuration Guide.

Quick Start:

# SMB mode with environment variables
export MCP_MODE=smb
export SMB_ADDR=localhost:445
export SMB_SHARE=finance
export SMB_AUTH=ntlm
export SMB_USER=alice
export SMB_PASSWORD=your_password
./mcp-smb-server
# Local mode with config file
./mcp-smb-server --config config.yaml

Architecture

MCP → FileBackend → { Local | SMB }

The server does not make authorization decisions.
All access decisions are made by the underlying filesystem or SMB server.


What this project intentionally does not include

  • Centralized policy management
  • Approval workflows
  • Cross-backend access rules
  • Audit aggregation

This project defines a minimal, correct execution boundary on top of which higher-level governance can be built.


Installation

Prerequisites
  • Go 1.24 or later
  • For SMB mode: Access to an SMB/CIFS server
  • For local mode: Appropriate filesystem permissions
Build
git clone <repository-url>
cd mcp-smb-server
go build -o mcp-smb-server ./cmd/server

License

Apache License 2.0

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.