文件系统
STDIO文件系统操作与管理工具
文件系统操作与管理工具
A Model Context Protocol (MCP) server built with mcp-framework.
# Install dependencies npm install # Build the project npm run build
filesystem/
├── src/
│   ├── tools/        # MCP Tools
│   │   └── ExampleTool.ts
│   └── index.ts      # Server entry point
├── package.json
└── tsconfig.json
The project comes with an example tool in src/tools/ExampleTool.ts. You can add more tools using the CLI:
# Add a new tool mcp add tool my-tool # Example tools you might create: mcp add tool data-processor mcp add tool api-client mcp add tool file-handler
Example tool structure:
import { MCPTool } from "mcp-framework"; import { z } from "zod"; interface MyToolInput { message: string; } class MyTool extends MCPTool<MyToolInput> { name = "my_tool"; description = "Describes what your tool does"; schema = { message: { type: z.string(), description: "Description of this input parameter", }, }; async execute(input: MyToolInput) { // Your tool logic here return `Processed: ${input.message}`; } } export default MyTool;
Update your package.json:
name is unique and follows npm naming conventionsversiondescription, author, license, etc.bin points to the correct entry fileBuild and test locally:
npm run build npm link filesystem # Test your CLI locally
Login to npm (create account if necessary):
npm login
Publish your package:
npm publish
After publishing, users can add it to their claude desktop client (read below) or run it with npx
## Using with Claude Desktop
### Local Development
Add this configuration to your Claude Desktop config file:
**MacOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%/Claude/claude_desktop_config.json`
```json
{
  "mcpServers": {
    "filesystem": {
      "command": "node",
      "args":["/absolute/path/to/filesystem/dist/index.js"]
    }
  }
}
Add this configuration to your Claude Desktop config file:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{ "mcpServers": { "filesystem": { "command": "npx", "args": ["filesystem"] } } }
npm run build to compile