找回密码
 立即注册
首页 业界区 业界 创建一个MCP服务器,并在Cline中使用,增强自定义功能。 ...

创建一个MCP服务器,并在Cline中使用,增强自定义功能。

叟澡帅 2025-6-4 22:36:16
MCP介绍

MCP 是一个开放协议,它标准化了应用程序如何向LLMs提供上下文。可以将 MCP 视为 AI 应用程序的 USB-C 端口。正如 USB-C 提供了一种标准化的方法来将您的设备连接到各种外围设备和配件一样,MCP 提供了一种标准化的方法来将 AI 模型连接到不同的数据源和工具。
MCP 帮助您在 LLMs 之上构建代理和复杂的工作流程。LLMs 经常需要与数据和工具集成,MCP 提供了:

  • 一个不断增长的预构建集成列表,您的 LLM 可以直接插入其中
  • 在LLM供应商和厂商之间切换的灵活性
  • 在您的基础设施内保护数据的最佳实践
架构图如下所示:
1.png

创建一个MCP服务器

可以把Cline当成是一个MCP客户端,现在我们只要构建了一个MCP服务就可以在Cline中使用。
我想创建一个使用duckduckgo搜索的MCP服务器,可以这样做。
  1. # Create a new directory for our project
  2. uv init duckduckgo_mcp
  3. cd duckduckgo_mcp
  4. # Create virtual environment and activate it
  5. uv venv
  6. .venv\Scripts\activate
  7. # Install dependencies
  8. uv add mcp[cli] duckduckgo_search
复制代码
main.py中这样写:
  1. # server.py
  2. from mcp.server.fastmcp import FastMCP
  3. from duckduckgo_search import DDGS
  4. from typing import Annotated
  5. from pathlib import Path
  6. from pydantic import BaseModel, Field
  7. # Create an MCP server
  8. mcp = FastMCP("DuckDuckGo-Search")
  9.    
  10. @mcp.tool()
  11. def run_duckduckgo(query:str):
  12.   """
  13.   获取网络信息
  14.   """
  15.   results = DDGS().text(query, max_results=10)
  16.   return results
  17. if __name__ == "__main__":
  18.    print("Server running")
  19.    mcp.run(transport='stdio')
复制代码
就是这么简单,一个使用duckduckgo获取网络信息的MCP服务器就创建好了。
在Cline中使用

打开MCP配置文件:
2.png

添加一个这样的配置即可:
  1. "duckduckgo_search": {
  2.       "command": "uv",
  3.       "args": [
  4.         "--directory",
  5.         "D:\\Learning\\AI-related\\mcp-demo\\duckduckgo_mcp",
  6.         "run",
  7.         "main.py"
  8.       ],
  9.       "disabled": false,
  10.       "autoApprove": []
  11.     }
复制代码
目录需要改成自己的。

这样子就可以用了。
使用效果如下:
4.png

5.png

6.png

7.png

8.png

9.png

最后

很多开发者可能对MCP还不熟悉,MCP有客户端与服务器端,但是完全可以先把Cline当作是一个MCP客户端,刚开始自己只需要去创建或者使用一些MCP服务器端,感受一下MCP的功能,感兴趣的话再深入探索,再自己做一个MCP客户端也不迟。
就像Cline的博客中提到的那样,“忘记“模型上下文协议”——只需将这些视为 Cline 的额外工具”,先体验了大概就知道是什么东西了。
还有一个常有的困扰,就是MCP是否只能Claude才能用呢?毕竟是Anthropic主导提出来的。
不是只有Claude才能用,其它模型也能用,我上面使用的是Qwen/Qwen2.5-72B-Instruct这个模型。

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册