使用说明
运行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服务器和客户端!