智能搜索代理

使用DuckDuckGo MCP服务器和LangChain Groq LLM代理进行智能搜索任务。

  • by alihassanml
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 alihassanml/duckduckgo-with-mcp

使用说明

使用MCP代理进行DuckDuckGo搜索

此项目演示了如何使用 DuckDuckGo MCP服务器 带着一个 LangChain Groq法学硕士 代理通过MCP(微组件协议)执行智能搜索任务。


特性

  • MCP服务器集成 (DuckDuckGo搜索)
  • 希腊 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

(包括以下库 langchain_groq, python-dotenv等 requirements.txt.)

  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许可证获得许可。