文件系统客户端

一个用于与文件系统服务器交互的Python客户端,支持文件读写和目录列表等功能。

  • by dazzaji
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 dazzaji/mcp-client-server

使用说明

运行MCP客户端

在运行此客户端之前,请确保服务器已启动并正在运行。有关更多信息,请参阅: https://github.com/dazzaji/filesystem

步骤1:创建虚拟环境并正确安装依赖项

使用以下命令:

```bash
mkdir mcp-client-py
cd mcp-client-py
```

```bash
python -m venv venv
source venv/bin/activate
```

```bash
pip install -r requirements.txt
```

这将创建一个虚拟环境,激活它,然后安装 mcp 和 python-dotenv (及其依赖关系)进入该环境。

步骤2:确认或更正.env中的环境变量

创建一个 .env 文件中包含您的服务器路径和允许的目录。您还可以为测试目的指定工具和参数。

   SERVER_PATH=/Users/dazzagreenwood/filesystem/dist/index.js
   ALLOWED_DIRECTORY=/Users/dazzagreenwood/mcp-hello/module1/files
   
  # Test with arguments:
   #TOOL=list_directory
   #ARGS='{"path": "/Users/dazzagreenwood/mcp-hello/module1/files", "recursive": true}'
   
   # Or test with other tools
   #TOOL=read_file
   #ARGS='{"path": "/Users/dazzagreenwood/mcp-hello/module1/files/test.txt"}'

步骤3:运行Python客户端

运行客户端以测试服务器。

 python client.py
 ```
*   If you used the optional `TOOL` and `ARGS` add those arguments like so:
 ```bash
     python client.py --tool "list_directory" --args '{"path": "/Users/dazzagreenwood/mcp-hello/module1/files", "recursive": true}'
 ```
This will:

*   Connect to your filesystem server.
*   List available tools.
*  Call the `write_file` to create a test file with text content in the specified directory, if `tool` is not specified in the .env file.
*   Display the results to the console.

### Step 4: Verifying Results

After successfully running the client, check the following:

1.  **Client Output:** You should see output like `Available tools: [ ... ]`, and the result from the `write_file` (or other tool call).
2.  **File Creation:** Verify that `testfile.txt` has been created with the correct content inside `/Users/dazzagreenwood/mcp-hello/module1/files/`.  If testing with the read or list tools, make sure the output is what you'd expect.

### Testing Workflow

Here are steps to verify the project with the client and a server:

#### Starting the Server
1.  **Open a Terminal**. You will need to start the server from a terminal.
2.  **Navigate to Server Directory**. Change directory to the folder containing the server:
 ```
 cd /Users/dazzagreenwood/filesystem
 ```
3.  **Run the Server:**
 ```bash
 node dist/index.js "/Users/dazzagreenwood/mcp-hello/module1/files"
 ```
 *   Replace `/Users/dazzagreenwood/filesystem/dist/index.js` with the actual path to the compiled file.
 *   Replace `/Users/dazzagreenwood/mcp-hello/module1/files` with the allowed directory.

#### Testing with the Client

1.  **Open another Terminal window** or split your existing terminal tab.
2.  **Navigate to Client Directory** Change directories into the `mcp-client-py` folder:
  ```bash
  cd /Users/dazzagreenwood/mcp-client-server/mcp-client-py
  source .venv/bin/activate
  ```
3. **Run the Client in Default Mode:**
 To test basic connectivity and the `write_file` tool:
 ```bash
  python client.py
 ```
  This will attempt to call write file, to create a file named test.txt into the `/Users/dazzagreenwood/mcp-hello/module1/files` directory with the string `Hello from Python the new standup MCP client!` as it's content.

4.  **Run the client with specific tools and arguments**: To test list_directory, use the following:
```bash
   python client.py --server-path /Users/dazzagreenwood/filesystem/dist/index.js --allowed-dir /Users/dazzagreenwood/mcp-hello/module1/files --tool list_directory --args '{"path": "/Users/dazzagreenwood/mcp-hello/module1/files", "recursive": true}'
To test the `read_file` tool use:
 python client.py --server-path /Users/dazzagreenwood/filesystem/dist/index.js --allowed-dir /Users/dazzagreenwood/mcp-hello/module1/files --tool read_file --args '{"path": "/Users/dazzagreenwood/mcp-hello/module1/files/test.txt"}'
* Replace the paths in the examples above to correspond to your local paths.

如果设置正确,您应该看到确认这些操作的输出。

按照这些说明,您现在可以使用Python和TypeScript/Node.js使用各种工具测试您的MCP服务器和客户端!