Skip to main content

A tool that can give you freedom of using Brave search and content fetching using MCP and Langchan

Project description

brave-mcp-langchain

Create venv

uv sync

Install package

uv pip install brave-mcp-langchain

Run MCP server in STDIO mode

uvx brave-mcp-langchain

To run MCP server in SSE mode

uvx brave-mcp-langchain sse 5003

MCP Setting

{
  "mcpServers": {
    "brave-mcp-langchain": {
      "disabled": false,
      "timeout": 60,
      "type": "stdio",
      "command": "uvx",
      "args": [
        "brave-mcp-langchain"
      ]
    }
  }
}

Use as Langchain tool

It can also be used as Langchain tool. Below is how to validate tool.

import httpx
import asyncio
from langchain.tools import Tool
from brave_mcp_langchain import brave_tool

async def test_search():
    result = await brave_tool.search_tool.ainvoke({"query": "LangGraph overview", "max_results": 10})
    print(result)

    result = await brave_tool.fetch_content_tool.ainvoke({
        "url": "https://iamatulsingh.github.io"
    })
    print(result)

asyncio.run(test_search())

Use with langchain example

import asyncio
from langchain.agents import initialize_agent
from langchain.agents.agent_types import AgentType
from langchain_ollama import ChatOllama
from brave_mcp_langchain import brave_tool

llm = ChatOllama(model="llama3.1:8b")

tools = [
    brave_tool.search_tool,
    brave_tool.fetch_content_tool
]

agent = initialize_agent(
    tools=[brave_tool.search_tool, brave_tool.fetch_content_tool],
    llm=llm,
    agent=AgentType.STRUCTURED_CHAT_ZERO_SHOT_REACT_DESCRIPTION,
    verbose=True
)

async def run_agent_query():
    response = await agent.ainvoke(
        "Search for 'iamatulsingh' overview, then fetch content from https://iamatulsingh.github.io"
    )
    print("\nAgent Response:")
    print(response)

asyncio.run(run_agent_query())

🧠 Inspiration & Attribution

This project, brave-mcp-langchain, was inspired by and partially based on the excellent work in duckduckgo-mcp-server by @nickclyde. That project laid the groundwork for integrating DuckDuckGo search and content fetching into the MCP ecosystem.

While brave-mcp-langchain extends the concept to support Brave Search and LangChain workflows, several architectural ideas and implementation patterns were adapted from duckduckgo-mcp-server, which is licensed under the MIT License.

I'm grateful for the open-source community and contributors who make projects like this possible. If you’re interested in DuckDuckGo-based search tools, definitely check out the original repository!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

brave_mcp_langchain-0.2.0.tar.gz (45.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

brave_mcp_langchain-0.2.0-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

Details for the file brave_mcp_langchain-0.2.0.tar.gz.

File metadata

  • Download URL: brave_mcp_langchain-0.2.0.tar.gz
  • Upload date:
  • Size: 45.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for brave_mcp_langchain-0.2.0.tar.gz
Algorithm Hash digest
SHA256 9bd16c2e1be0bf5e879bac1a7bb9b46031fc4639573f08e31487d413af5cd969
MD5 abdcbbc05b226561f972c8187989a583
BLAKE2b-256 83bc96752d65eb8d6dc2612a0766303de454661f0a59c9680a5b9270c327bf45

See more details on using hashes here.

File details

Details for the file brave_mcp_langchain-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for brave_mcp_langchain-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3799d7a53cb2f6cfe792c72aeec3353e7a6a963e1af72c4978235876e7e3c239
MD5 20900f8e0c17b4f56f78bb3b480b01b5
BLAKE2b-256 6d3766e101638b13cbd84e0787aa20e888c8e5f0e9128f5be971757b90424b34

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page