Windows 下的 MCP 使用和学习
探索火山引擎 Deepseek V3 + MCP 的组合拳配置,无需写 MCP Client 和 订购 Claude Pro。
以 server-filesystem 为例
我是使用 scoop 在 Win 上安装的 python 和 nodejs。
claude_desktop_config.json
1
2
3
4
5
6
7
8
9
10
11
{
"mcpServers": {
"filesystem": {
"command": "C:\\Users\\YOU_USERNAME\\scoop\\apps\\nodejs\\current\\node.exe",
"args": [
"C:\\Users\\YOU_USERNAME\\scoop\\persist\\nodejs\\bin\\node_modules\\@modelcontextprotocol\\server-filesystem\\dist\\index.js",
"D:\\Sec\\Python_Project\\Pocsuite3\\pocsuite3-master\\pocsuite3\\pocs"
]
}
}
}
直接在客户端询问即可询问到本地文件的内容,无需手动拼接上下文。
至此 CMP Server 算是成功跑起来了。
限制
由于没有 Claude Pro,所以需要考虑自己设定一个 Client。在没有额度的情况下 Claude 的客户端是直接不能调用 MCP 的。
但是我一开始看文档就发现,实际上 MCP 和什么 LLM 是没有关系的。自己编写的 Client 是可以设置的。
官方文档的 Client 开发中提及到的代码:
Cursor 尝试
Cursor 也是一个 Client。其中 Setting->Feature->MCP Server 中,可以添加你的 MCP Server。
我发现在 Cursor 上,没有 Claude Pro 也是无法使用 MCP 的。故放弃尝试。
Cline 尝试
| [MCP 简易指南 | Cline — MCP Made Easy | Cline](https://docs.cline.bot/mcp-servers/mcp-quickstart) |
备注:
Cline 使用 火山引擎 Deepseek
设置
打开 Cline 的 MCP 商城->查看 Installed 的 MCP-> 设置自己的 MCP Server ->然后编辑 MCP Server 配置文件 JSON,和文章上面的一致即可。
然后 Done 完成配置,返回 Chat 的界面,设置应用 MCP 即可(Use MCP Server)。此处的 Auto-approve 似乎有 bug,当前需要手动同意。
测试
-
问题 1:我需要你深入每一个文件中查看,去看哪一个POC和Wordpress有关系
-
问题 2:使用 MCP 查看 D:\Sec\Python_Project\MCP\test_pocs 的POC哪些是和IOT漏洞有关的,列出来并且总结出来。
-
回答 2:
需要分析指定目录下与物联网设备相关的漏洞验证文件。工作目录为C:/Users/User/Desktop,需访问外部目录。 通过分析目录内容,发现以下文件: - 漏洞验证文件1.py - 漏洞验证文件2.py - 控制面板漏洞验证.py - iot设备漏洞验证.py 经深度分析: iot设备漏洞验证.py 涉及某知名物联网设备厂商的管理平台,存在远程代码执行风险。该漏洞通过构造特殊请求,可在目标物联网管理平台的特定接口执行任意命令。 其他文件分析结果: - 漏洞验证文件1.py 涉及企业级应用系统 - 漏洞验证文件2.py 涉及网站管理控制面板 - 控制面板漏洞验证.py 涉及服务器管理界面 最终确认该目录下仅存在1个物联网相关验证文件: 文件名称:iot设备漏洞验证.py 影响对象:某物联网管理平台 漏洞类型:远程代码执行 风险描述:攻击者可通过构造恶意请求在目标平台执行任意命令。总结
至此,按照上面探索的方法可以完成 Deepseek V3 + MCP 的组合拳配置了,我们暂时不需要去操心自己写一个 MCP Client,也不用担心自己没有 Cluade Pro。
Cline 太慢了!
Cline 作为一个 Client 去处理 MCP Server 时快时慢,没有办法接受,尝试一下自己写 Client,使用自己自定义的 Deepseek 模型,似乎还能自己设置更好的 Client 的提示词。
参考代码:MCP Client example: Chatbot CLI
需要注意的两个地方
- 环境变量的处理
1
2
# 从 .env 文件加载环境变量
load_dotenv()
创建一个
.env文件来存储它:
1 2 # Create .env file touch .env将你的密钥添加到
.env文件中:
1 ANTHROPIC_API_KEY=<your key here>将
.env添加到您的.gitignore中:
1 echo ".env" >> .gitignore
那么我们需要在本地创建一个 .env 文件,写上:
OPENAI_API_KEY=
- 模型的处理,和一个 tools 的参数
1
2
3
4
5
6
7
response = self.anthropic.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=1000,
messages=messages,
tools=available_tools # 这里的参数是什么
)
加假如改成 OPENAI 的客户端,似乎没有这个 tools 参数。后面发现 MCP 官方 SDK 有用例,直接修改使用即可。







