Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Filesystem Ro

БесплатноНе проверен

Read-only MCP server for filesystem access (fork of @modelcontextprotocol/server-filesystem)

GitHubEmbed

Описание

Read-only MCP server for filesystem access (fork of @modelcontextprotocol/server-filesystem)

README

[!NOTE]

🏥 The Adpharm fork

This is adpharm/mcp-servers-fork, a fork of modelcontextprotocol/servers. We maintain it to ship a read-only build of the Filesystem server, published to npm as @adpharm/mcp-server-filesystem-ro.

What's different from upstream: the only behavioral change lives in src/filesystem/index.ts. A ~15-line guard wraps server.registerTool and registers only tools annotated readOnlyHint: true. This drops the four mutating tools (write_file, edit_file, create_directory, move_file) — and any future mutating tool — before they are ever exposed to a client. Everything else (path validation, Roots access control, the 10 read tools) is upstream code, untouched.

Why annotation-gating? It keeps our diff tiny and self-maintaining: new upstream read tools flow through automatically, and new mutating tools are excluded by default — so merging upstream rarely conflicts.

Working in this repo:

task --list-all              # see all tasks
task fs-ro:install           # install deps for the read-only server
task fs-ro:test              # build + run the test suite
task fs-ro:verify-readonly   # print the tools the built server exposes (read-only only)
task fs-ro:run -- /some/dir  # run the server over stdio against a directory
task fs-ro:ship             # test, build, prompt for version bump, publish to npm, commit + tag
task fs-ro:sync-upstream     # pull and merge updates from upstream

Using the published server (e.g. in an MCP client config):

{
  "mcpServers": {
    "filesystem-ro": {
      "command": "npx",
      "args": ["-y", "@adpharm/mcp-server-filesystem-ro", "/path/to/allowed/dir"]
    }
  }
}

See CLAUDE.md for the full maintainer guide. Everything below this note is the original upstream README.


This repository is a collection of reference implementations for the Model Context Protocol (MCP), as well as references to community-built servers and additional resources.

[!IMPORTANT] If you are looking for a list of MCP servers, you can browse published servers on the MCP Registry. The repository served by this README is dedicated to housing just the small number of reference servers maintained by the MCP steering group.

[!WARNING] The servers in this repository are intended as reference implementations to demonstrate MCP features and SDK usage. They are meant to serve as educational examples for developers building their own MCP servers, not as production-ready solutions. Developers should evaluate their own security requirements and implement appropriate safeguards based on their specific threat model and use case.

The servers in this repository showcase the versatility and extensibility of MCP, demonstrating how it can be used to give Large Language Models (LLMs) secure, controlled access to tools and data sources. Typically, each MCP server is implemented with an MCP SDK:

🌟 Reference Servers

These servers aim to demonstrate MCP features and the official SDKs.

  • Everything - Reference / test server with prompts, resources, and tools.
  • Fetch - Web content fetching and conversion for efficient LLM usage.
  • Filesystem - Secure file operations with configurable access controls.
  • Git - Tools to read, search, and manipulate Git repositories.
  • Memory - Knowledge graph-based persistent memory system.
  • Sequential Thinking - Dynamic and reflective problem-solving through thought sequences.
  • Time - Time and timezone conversion capabilities.

Archived

The following reference servers are now archived and can be found at servers-archived.

  • AWS KB Retrieval - Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
  • Brave Search - Web and local search using Brave's Search API. Has been replaced by the official server.
  • EverArt - AI image generation using various models.
  • GitHub - Repository management, file operations, and GitHub API integration.
  • GitLab - GitLab API, enabling project management.
  • Google Drive - File access and search capabilities for Google Drive.
  • Google Maps - Location services, directions, and place details.
  • PostgreSQL - Read-only database access with schema inspection.
  • Puppeteer - Browser automation and web scraping.
  • Redis - Interact with Redis key-value stores.
  • Sentry - Retrieving and analyzing issues from Sentry.io.
  • Slack - Channel management and messaging capabilities. Now maintained by Zencoder
  • SQLite - Database interaction and business intelligence capabilities.

🚀 Getting Started

Using MCP Servers in this Repository

TypeScript-based servers in this repository can be used directly with npx.

For example, this will start the Memory server:

npx -y @modelcontextprotocol/server-memory

Python-based servers in this repository can be used directly with uvx or pip. uvx is recommended for ease of use and setup.

For example, this will start the Git server:

# With uvx
uvx mcp-server-git

# With pip
pip install mcp-server-git
python -m mcp_server_git

Follow these instructions to install uv / uvx and these to install pip.

Using an MCP Client

However, running a server on its own isn't very useful, and should instead be configured into an MCP client. For example, here's the Claude Desktop configuration to use the above server:

{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-memory"]
    }
  }
}

On Windows, wrap npx with cmd /c:

{
  "mcpServers": {
    "memory": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "@modelcontextprotocol/server-memory"]
    }
  }
}

Additional examples of using the Claude Desktop as an MCP client might look like:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/files"]
    },
    "git": {
      "command": "uvx",
      "args": ["mcp-server-git", "--repository", "path/to/git/repo"]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
      }
    },
    "postgres": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://localhost/mydb"]
    }
  }
}

On Windows, apply the same wrapper to each npx-based entry above by changing "command" to "cmd" and prepending "/c", "npx" to the existing args. Leave uvx entries unchanged.

🛠️ Creating Your Own Server

Interested in creating your own MCP server? Visit the official documentation at modelcontextprotocol.io for comprehensive guides, best practices, and technical details on implementing MCP servers.

📚 Learn More

See ADDITIONAL.md for a curated list of frameworks and resources that simplify building MCP servers and clients.

🤝 Contributing

See CONTRIBUTING.md for information about contributing to this repository.

🔒 Security

See SECURITY.md for reporting security vulnerabilities.

📜 License

This project is licensed under the Apache License, Version 2.0 for new contributions, with existing code under MIT - see the LICENSE file for details.

💬 Community

⭐ Support

If you find MCP servers useful, please consider starring the repository and contributing new servers or improvements!


Managed by Anthropic, but built together with the community. The Model Context Protocol is open source and we encourage everyone to contribute their own servers and improvements!

from github.com/adpharm/mcp-servers-fork

Установить Filesystem Ro в Claude Desktop, Claude Code, Cursor

Рекомендуется · одна команда, все IDE
unyly install filesystem-ro

Ставит в Claude Desktop, Claude Code, Cursor и VS Code — сам разбирается с npx, uvx и сборкой из исходников.

Впервые? Поставь CLI: curl -fsSL https://unyly.org/install | sh

Или настроить вручную

Выполни в терминале:

claude mcp add filesystem-ro -- npx -y @adpharm/mcp-server-filesystem-ro

FAQ

Filesystem Ro MCP бесплатный?

Да, Filesystem Ro MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Filesystem Ro?

Нет, Filesystem Ro работает без API-ключей и переменных окружения.

Filesystem Ro — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить Filesystem Ro в Claude Desktop, Claude Code или Cursor?

Открой Filesystem Ro на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Filesystem Ro with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории development