mcpField
D
DuckDuckGo Search with MCP Agent

DuckDuckGo Search with MCP Agent

本地服务
github.com/alihassanml搜索与检索179 周前更新

关于 DuckDuckGo Search with MCP Agent

DuckDuckGo Search with MCP Agent 是一个 Python 示例,将 DuckDuckGo 搜索与 LangChain Groq LLM Agent 结合。它通过 MCP 异步连接搜索服务并返回结果。

主要功能

  1. 01集成 DuckDuckGo MCP 服务
  2. 02使用 Groq LLM 推理
  3. 03异步 Python 执行
  4. 04模块化示例结构

适用场景

  1. 01运行 Agent 辅助的 DuckDuckGo 搜索
  2. 02了解 MCP 客户端与服务端集成

MCP 相关

示例启动 MCP 客户端并连接 duckduckgo-mcp-server,由其提供 DuckDuckGo 搜索能力。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"Duckduckgo-with-MCP": {
"command": "uvx",
"args": [
"duckduckgo-mcp-server"
]
}
}
}
启动命令uvx duckduckgo-mcp-server

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypiduckduckgo-mcp-server

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

使用 MCP Agent 进行 DuckDuckGo 搜索

本项目演示如何将 DuckDuckGo MCP Server 与 LangChain Groq LLM Agent 搭配使用,通过 MCP(Micro Component Protocol)执行智能搜索任务。


功能

  • MCP 服务集成(DuckDuckGo 搜索)
  • 使用 Groq LLM(deepseek-r1-distill-llama-70b)进行推理
  • 异步 Python 执行
  • 简单且模块化

安装

  1. 克隆代码仓库:
git clone https://github.com/alihassanml/Duckduckgo-with-MCP.git
cd Duckduckgo-with-MCP
  1. 安装依赖项:
pip install -r requirements.txt

(在 requirements.txt 中添加 langchain_groq、python-dotenv 等库。)

  1. 设置 .env 文件:
GROQ_API_KEY=your_groq_api_key_here
  1. 安装 MCP 服务:
uvx -y duckduckgo-mcp-server

(请确保已安装 uvx。如果没有,请先安装。)


使用方法

运行主脚本:

python main.py

这将:

  • 启动 MCP 客户端
  • 连接到 duckduckgo-mcp-server
  • 使用 Groq LLM 执行智能搜索
  • 打印结果

示例代码

import asyncio
import os
from dotenv import load_dotenv
from langchain_groq import ChatGroq  
from mcp_use import MCPAgent, MCPClient

async def main():
    load_dotenv()
    config = {
        "mcpServers": {
            "ddg-search": {
                "command": "uvx",
                "args": ["-y", "duckduckgo-mcp-server"]
            }
        }
    }
    client = MCPClient.from_dict(config)
    llm = ChatGroq(model="deepseek-r1-distill-llama-70b")
    agent = MCPAgent(llm=llm, client=client, max_steps=30)
    result = await agent.run("Find the best restaurant in San Francisco")
    print(f"\nResult: {result}")

if __name__ == "__main__":
    asyncio.run(main())

资源


许可证

本项目采用 MIT 许可证。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。