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

MCP介绍

MCP 是一个开放协议,它标准化了应用程序如何向LLMs提供上下文。可以将 MCP 视为 AI 应用程序的 USB-C 端口。正如 USB-C 提供了一种标准化的方法来将您的设备连接到各种外围设备和配件一样,MCP 提供了一种标准化的方法来将 AI 模型连接到不同的数据源和工具。

MCP 帮助您在 LLMs 之上构建代理和复杂的工作流程。LLMs 经常需要与数据和工具集成,MCP 提供了:

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

架构图如下所示:

创建一个MCP服务器

可以把Cline当成是一个MCP客户端,现在我们只要构建了一个MCP服务就可以在Cline中使用。

我想创建一个使用duckduckgo搜索的MCP服务器,可以这样做。

python 复制代码
# Create a new directory for our project
uv init duckduckgo_mcp
cd duckduckgo_mcp

# Create virtual environment and activate it
uv venv
.venv\Scripts\activate

# Install dependencies
uv add mcp[cli] duckduckgo_search

main.py中这样写:

python 复制代码
# server.py
from mcp.server.fastmcp import FastMCP
from duckduckgo_search import DDGS
from typing import Annotated
from pathlib import Path

from pydantic import BaseModel, Field

# Create an MCP server
mcp = FastMCP("DuckDuckGo-Search")
   
@mcp.tool()
def run_duckduckgo(query:str):
  """
  获取网络信息
  """
  results = DDGS().text(query, max_results=10)

  return results

if __name__ == "__main__":
   print("Server running")
   mcp.run(transport='stdio')

就是这么简单,一个使用duckduckgo获取网络信息的MCP服务器就创建好了。

在Cline中使用

打开MCP配置文件:

添加一个这样的配置即可:

python 复制代码
 "duckduckgo_search": {
      "command": "uv",
      "args": [
        "--directory",
        "D:\\Learning\\AI-related\\mcp-demo\\duckduckgo_mcp",
        "run",
        "main.py"
      ],
      "disabled": false,
      "autoApprove": []
    }

目录需要改成自己的。

这样子就可以用了。

使用效果如下:

最后

很多开发者可能对MCP还不熟悉,MCP有客户端与服务器端,但是完全可以先把Cline当作是一个MCP客户端,刚开始自己只需要去创建或者使用一些MCP服务器端,感受一下MCP的功能,感兴趣的话再深入探索,再自己做一个MCP客户端也不迟。

就像Cline的博客中提到的那样,"忘记"模型上下文协议"------只需将这些视为 Cline 的额外工具",先体验了大概就知道是什么东西了。

还有一个常有的困扰,就是MCP是否只能Claude才能用呢?毕竟是Anthropic主导提出来的。

不是只有Claude才能用,其它模型也能用,我上面使用的是Qwen/Qwen2.5-72B-Instruct这个模型。

相关推荐
青 春 记 忆13 分钟前
零基础入门python19:Flask账本第一步——应用工厂、蓝图和健康检查
python·flask·后端开发
朦胧之17 分钟前
Python 后端核心知识
python
denggun123451 小时前
yield
前端·数据库·python
zx_741484812 小时前
【Python 入门】面向对象基础:类、对象、成员变量与构造方法
开发语言·python
招财小梗2 小时前
沈阳商贸公司AI企业服务优势几何?
大数据·人工智能·python
ZISHU_9873 小时前
用 TLabel 给 SynTouch BioTac 数据做语义标注:从原始信号到结构化标注
开发语言·人工智能·python·数据·机器人触觉
m0_617493944 小时前
SSLError [ASN1: NOT_ENOUGH_DATA] 问题排查与解决指南
python·ssl
whcyhhh4 小时前
头歌实践教学平台:数据科学与大数据技术导论(七上)
大数据·数据库·python
ServBay5 小时前
AI 工程师必备的 9 个 Python 库,从数据验证到模型优化
后端·python·ai编程
AC赳赳老秦6 小时前
企业级合规审计体系:用 OpenClaw 落地采集全链路留痕,自动生成合规审计报告
java·python·django·beautifulsoup·php·deepseek·openclaw