Local File Manager
Enables AI clients to manage and manipulate text files in a secured local directory through tools like list, read, write, delete, create directory, and move.
README
Servidor MCP - Gerenciador de Arquivos Local (TypeScript)
Este é um projeto de estudo desenvolvido para aprofundamento no Model Context Protocol (MCP). Ele implementa um servidor MCP que permite a clientes de IA (como o Claude Desktop ou outras ferramentas habilitadas com MCP) gerenciar e manipular arquivos de texto em um diretório local seguro configurado via variáveis de ambiente.
O projeto foi construído utilizando Node.js, TypeScript e o SDK oficial da Anthropic (@modelcontextprotocol/sdk).
🛠️ Tecnologias e Dependências
- Runtime: Node.js (v18+)
- Linguagem: TypeScript (transpilado para ES Modules)
- MCP SDK:
@modelcontextprotocol/sdk(transporte via Stdio) - Validação de Dados:
zod - Gerenciamento de Ambiente:
dotenv - Execução em Desenvolvimento:
tsx
🚀 Como Iniciar o Projeto
1. Instalar as dependências
Execute o comando abaixo na pasta raiz do projeto:
npm install
2. Configurar as Variáveis de Ambiente
Copie o arquivo .env.example para .env ou crie-o manualmente:
cp .env.example .env
Edite o arquivo .env e configure o caminho absoluto do diretório local que o servidor deve gerenciar:
LOCAL_WORKSPACE_PATH=C:\caminho\completo\para\sua\pasta\workspace
(Nota: O servidor validará a existência deste diretório ao iniciar e lançará um erro se ele não for encontrado).
3. Compilar o Projeto
Para gerar o código JavaScript transpilado pronto para produção:
npm run build
O output será gerado na pasta /dist.
4. Executar
O servidor pode ser executado em dois modos de transporte: Stdio (padrão) ou SSE (Server-Sent Events).
Modo Stdio (Padrão)
Ideal para integração local com clientes como o Claude Desktop.
npm start
# ou em desenvolvimento
npm run dev
Modo SSE (HTTP)
Ideal para integração com plataformas como n8n, OpenClaw, ou outros clientes de rede.
Você pode ativar este modo definindo TRANSPORT=sse no arquivo .env, ou passando o argumento --sse na inicialização:
npm start -- --sse
# ou em desenvolvimento
npm run dev -- --sse
Você também pode configurar uma porta customizada usando a variável de ambiente PORT ou passando o argumento --port <numero>:
npm start -- --sse --port 4000
Quando executado em modo SSE, o servidor subirá uma aplicação Express com os seguintes endpoints:
GET /sse(para iniciar o fluxo de stream de Server-Sent Events)POST /messages(para o envio de comandos JSON-RPC do cliente)
🔒 Segurança e Prevenção contra Directory Traversal
Para garantir a integridade dos dados e do sistema host, o servidor MCP implementa um validador de caminho estrito chamado safeResolvePath. Qualquer tentativa de um modelo de IA acessar arquivos fora do diretório especificado em LOCAL_WORKSPACE_PATH (utilizando caminhos relativos como ../../ ou absolutos como C:/Windows) será imediatamente negada pelo servidor com uma mensagem de erro controlada.
🛠️ Ferramentas Disponibilizadas (Tools)
O servidor disponibiliza 7 ferramentas para os clientes de IA realizarem o gerenciamento de arquivos:
list_files: Lista arquivos e subdiretórios a partir de umrelativePathopcional (vazio para a raiz).download_file: Lê e retorna o conteúdo em UTF-8 de um arquivo de texto simples especificado pelorelativePath.upload_file: Grava ou sobrescreve o conteúdo UTF-8 de um arquivo de texto. Cria subpastas pai automaticamente se não existirem.get_file_info: Retorna os metadados detalhados (tamanho, data de criação, data de modificação e status de tipo) de um arquivo ou diretório.delete_file: Remove de forma segura um arquivo ou um diretório vazio especificado pelorelativePath.create_directory: Cria um novo diretório de forma recursiva dentro da pasta de trabalho.move_file: Renomeia ou move arquivos e diretórios dentro do workspace usando caminhos relativos de origem (sourcePath) e destino (destinationPath).
🔍 Como Testar Usando o MCP Inspector
O MCP Inspector é uma ferramenta oficial de testes interativos que simula o comportamento de um cliente MCP via Stdio:
- Garanta que o projeto esteja compilado (
npm run build). - Rode o Inspector no terminal do projeto:
npx @modelcontextprotocol/inspector node dist/index.js - Acesse o link gerado no seu terminal (por padrão
http://localhost:6274) no navegador para testar interativamente cada uma das ferramentas.
💻 Integração com Claude Desktop
Para utilizar este servidor MCP no aplicativo oficial do Claude Desktop, edite o arquivo de configuração claude_desktop_config.json:
- Caminho no Windows:
%APPDATA%\Claude\claude_desktop_config.json - Caminho no macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Adicione a seguinte entrada dentro de mcpServers:
{
"mcpServers": {
"local-file-manager": {
"command": "node",
"args": [
"C:\\Users\\seu-usuario\\Documents\\Pessoal\\my-first-mpc-server\\dist\\index.js"
],
"env": {
"LOCAL_WORKSPACE_PATH": "C:\\Users\\seu-usuario\\Documents\\Pessoal\\my-first-mpc-server\\workspace"
}
}
}
}
(Lembre-se de ajustar os caminhos absoluto do arquivo index.js e do diretório local para os caminhos corretos da sua máquina).
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。