返回首页
最新
过去一周左右,有很多关于新MCP服务器(模型上下文协议)的帖子。我想参与其中,展示我制作的一个MCP服务器。
这一切实际上始于上周三。白天我意识到,在我稍微过度设计的家庭设置中,我真的需要一个WebDAV服务器。我很确定这是为了存储Home Assistant的备份。
我已经很久没听说WebDAV了——但搭建一个服务器有多难呢?添加配置,重启nginx,它就能工作了。我可以从手机上传文件等等。
我将HA连接到服务器——也能正常工作——进行了备份,但没有上传?经过一个多小时的反复折腾,我发现nginx的WebDAV模块只支持协议的一个子集。
当然,Home Assistant也使用了协议的其他部分。又一次陷入困境。我找到一个带有Dockerfile的Golang项目。不到30分钟,一切就运行起来了。
总共只花了大约2个小时。还有什么可做的呢……WebDAV其实挺酷的,文件共享,443端口,HTTP的扩展。
前一晚我在阅读关于“代号鹅”的内容,想起几个月前Anthropic提到的模型上下文协议。我在女朋友睡在沙发上的时候,阅读了更多的代码库和文档,直到凌晨2点。
我想到一个主意,为什么不做一个MCP WebDAV服务器,让模型通过WebDAV进行CRUD操作,甚至可能自动创建网站。我记得Claude Desktop内置了MCP服务器,只需启用即可。
几个月前我订阅了Claude Pro——虽然没怎么用,但保持了订阅。当我需要用不熟悉的语言编写代码时,它比其他选择更好。
我已经编写代码超过25年。每次我向AI模型请求代码时——都没有成功——就像一个过于自信的初级开发者重复同样的错误。
我启用了开发设置,添加了文件系统、顺序思维,并将MCP提取到Claude Desktop。
然后我创建了一个项目,名为mcp-webdav-server。简要描述,简短提示:提取MCP文档,分析并建议MCP WebDAV服务器的架构。
经过几次权限提示,Claude写了一个自述文件,然后是代码和脚本。
几分钟内就完成了——包括代码、文档等等。我快速浏览了一下,运行了npm install,然后npm run build。出现了5个构建错误。我将错误信息粘贴回去,文件更新了,构建成功了。
那一刻我感受到了一些东西——我列出了改进的事项。Claude进行了重构,并制作了变更日志。经过几次迭代,完成了。
我将服务器添加到Claude配置中——它工作了。Claude可以创建、更新、下载和删除文件。我修复了一些与文件系统MCP的名称冲突。
我打包了代码,再次测试了基本身份验证。它对每个请求进行了身份验证,所以我请求修复。几分钟后,它实现了连接池。
推送了包。更新了Claude配置以使用npx,成功了。
从那时起,我改变了工作方式。每天做的事情在一周前会花费我很长时间。
昨天,完整的ntopng设置,一个针对Tuya设备的MITM代理——没有运气——它们现在很安全。我对在没有预警的情况下跳入那个兔子洞感到失望。但我曾请求Claude在跳跃时牵着我的手。
学习变得非常迅速。Claude可能很快就会在不想牵手的情况下跳入兔子洞。我想知道我是否会被留下,还是会找到其他事情做。
请查看我在Github上制作的“我的”MCP WebDAV服务器——它能正常工作,并且文档非常完善。