两片非常好的文章,值得学习
MCP 是什么,现状和未来 | OneV's Den
补充
从0手撕代码搭建MCP Client与Server!详解DeepSeek、ollama、vLLM接入MCP实战!_java_赋范大模型技术社区-DeepSeek技术社区
https://github.com/liaokongVFX/MCP-Chinese-Getting-Started-Guide

stdio模式
from typing import List
import os
from mcp.server.fastmcp import FastMCP
# 初始化 FastMCP server,命名为 "dir-tree"
mcp = FastMCP("dir-tree")
def list_folders_recursively(path: str) -> List[str]:
"""递归遍历目录,仅返回所有文件夹路径"""
folders = []
for root, dirs, _ in os.walk(path):
for d in dirs:
folders.append(os.path.join(root, d))
return folders
@mcp.tool()
async def get_folders(path: str) -> str:
"""递归遍历指定目录下所有文件夹
Args:
path: 需遍历的根目录(绝对路径或相对路径)
Returns:
文件夹路径列表,每行一个
"""
if not os.path.isdir(path):
return f"指定路径不存在或不是文件夹: {path}"
folders = list_folders_recursively(path)
if not folders:
return "该目录下没有子文件夹。"
return "\n".join(folders)
if __name__ == "__main__":
# 启动 MCP server(stdio 模式)
mcp.run(transport='stdio')
配置
{
"mcpServers": {
"python-dir-tree-server": {
"command": "/usr/local/bin/python3.11",
"args": [
"/path/test_mcp.py"
],
"autoApprove": [
"get_folders"
],
"disabled": false
}
}
}

4036

被折叠的 条评论
为什么被折叠?



