
jairah-f/mcp-file-server
Developer tools이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기
Sandbox + File Tools
개요
A school project: a small Model Context Protocol (MCP) server, written in TypeScript, that lets an MCP client (an AI agent) work with files inside a designated workspace/ folder, and cannot reach anything outside it. The project is organized into five milestones. The server currently registers and supports both stdio and Streamable HTTP transports. M5 authentication and workflow code is implemented; some environment-specific and live-demo checks still need to be verified on the machine where you deploy it. follow the setup and testing instructions below first, then read the milestone guide for the feature you want to run. The table describes the project's milestone progression; it does not mean ngrok, Windows, or a live remote multi-agent demonstration have already been verified in every environment. These milestones build on one another. If you are setting up the repository from GitHub, start with the common setup, then use the matching milestone section. - Install Node.
README
원문 README의 일부입니다. 원문 보기.
MCP File Server
A school project: a small Model Context Protocol (MCP) server, written in TypeScript, that lets an MCP client (an AI agent) work with files inside a designated workspace/ folder, and cannot reach anything outside it.
Project status: M1–M5 implemented
The project is organized into five milestones. The server currently registers 17 MCP tools and supports both stdio and Streamable HTTP transports. M5 authentication and workflow code is implemented; some environment-specific and live-demo checks still need to be verified on the machine where you deploy it.
Milestone roadmap
| Milestone | What was built | Main files / features | Verification |
|---|---|---|---|
| M1 — Project skeleton | TypeScript MCP server foundation and initial list_files tool. |
src/server.ts, package.json, tsconfig.json |
Install dependencies, build, and launch the stdio server / MCP Inspector. |
| M2 — Core file tools and sandbox | Five workspace file tools with path validation to keep file access inside workspace/; text-file size limits. |
src/tools.ts; list_files, read_file, write_file, str_replace, delete_file |
npm test |
| M3 — HTTP deployment | Streamable HTTP endpoint at /mcp, endpoint checker, ngrok tunnelling instructions, and PM2 process configuration. |
src/server-http.ts, test/m3-http-test.ts, ecosystem.config.cjs |
npm run test:http; then verify the local endpoint. ngrok and Windows deployment require local checks. |
| M4 — Agent handoff and workspace utilities | Shared state/plan/checkpoint/decision files, read-only Git status/diff/log tools, and workspace text search. | src/handoff.ts, src/git-tools.ts, src/search.ts, workspace/ |
npm run test:m4 |
| M5 — Authentication and multi-step workflow | Bearer-token authentication for HTTP requests plus a documented workflow for agents to hand off work through shared project-state files. | MCP_AUTH_TOKEN; auth checks in the HTTP tests; handoff tools from M4 |
npm run test:all; verify valid and invalid tokens locally and demonstrate a handoff with your MCP client. |
Recommended order for a new user: follow the setup and testing instructions below first, then read the milestone guide for the feature you want to run. The table describes the project’s milestone progression; it does not mean ngrok, Windows, or a live remote multi-agent demonstration have already been verified in every environment.
Remote MCP client --HTTPS--> ngrok URL --> localhost:3000 --> /mcp --> check the token --> MCP server --> workspace/
Follow the milestones
These milestones build on one another. If you are setting up the repository from GitHub, start with the common setup, then use the matching milestone section.
Before you start
- Install Node.js 18.18 or newer and npm.
- Install Git and make sure it is available in your terminal.
설치
This server does not publish a one-line install command.
Open the repository installation guide MCP 초보자라면? mcpskill.org 가이드부터 시작하세요 →