Metadata-Version: 2.4
Name: brave-mcp-langchain
Version: 0.1.0
Summary: A tool that can give you freedom of using Brave search and content fetching using MCP and Langchan
Project-URL: Homepage, https://github.com/iamatulsingh/brave-mcp-langchain
Project-URL: Issues, https://github.com/iamatulsingh/brave-mcp-langchain/issues
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.12
Requires-Dist: beautifulsoup4>=4.13.3
Requires-Dist: httpx>=0.28.1
Requires-Dist: langchain-core==0.3.68
Requires-Dist: langchain==0.3.26
Requires-Dist: mcp[cli]>=1.3.0
Requires-Dist: pydantic==2.11.7
Requires-Dist: starlette==0.47.1
Requires-Dist: uvicorn==0.35.0
Description-Content-Type: text/markdown

# Local test

## Create venv
```bash
(base) ~/Documents/home_services/MCP/brave-mcp-langchain> uv sync
warning: Skipping installation of entry points (`project.scripts`) because this project is not packaged; to install entry points, set `tool.uv.package = true` or define a `build-system`
Using CPython 3.12.8 interpreter at: /home/oreo/miniconda3/python
Creating virtual environment at: .venv
Resolved 34 packages in 13ms
Installed 33 packages in 447ms
 + annotated-types==0.7.0
 + anyio==4.9.0
 + attrs==25.3.0
 + certifi==2025.6.15
 + click==8.2.1
 + colorama==0.4.6
 + h11==0.16.0
 + httpcore==1.0.9
 + httpx==0.28.1
 + httpx-sse==0.4.1
 + idna==3.10
 + jsonschema==4.24.0
 + jsonschema-specifications==2025.4.1
 + markdown-it-py==3.0.0
 + mcp==1.10.1
 + mdurl==0.1.2
 + pydantic==2.11.7
 + pydantic-core==2.33.2
 + pydantic-settings==2.10.1
 + pygments==2.19.2
 + python-dotenv==1.1.1
 + python-multipart==0.0.20
 + referencing==0.36.2
 + rich==14.0.0
 + rpds-py==0.26.0
 + shellingham==1.5.4
 + sniffio==1.3.1
 + sse-starlette==2.4.1
 + starlette==0.47.1
 + typer==0.16.0
 + typing-extensions==4.14.1
 + typing-inspection==0.4.1
 + uvicorn==0.35.0
```

## Install package

```bash
(base) ~/Documents/home_services/MCP/brave-mcp-langchain>  uv pip install -e .
Using Python 3.12.8 environment at: /home/oreo/miniconda3
Resolved 34 packages in 632ms
      Built brave-mcp-langchain @ file:///home/oreo/Documents/home_services/MCP/brave-mcp-langchain
Prepared 1 package in 3.27s
Installed 1 package in 19ms
 + brave-mcp-langchain==0.1.0 (from file:///home/oreo/Documents/home_services/MCP/brave-mcp-langchain)
```

## Add any dependency

```bash
uv add "beautifulsoup4>=4.13.3" "httpx>=0.28.1" "mcp[cli]>=1.3.0"
```

## Run mcp inspector

```bash
mcp dev server.py
```

## Run mcp server

```bash
uv run brave-mcp-langchain
```

OR

### To run SSE mode
```bash
/usr/local/bin/uv run --directory /home/oreo/Documents/home_services/MCP/brave-mcp-langchain brave-mcp-langchain sse 5000
```

OR

### To run STDIO mode
```bash
/usr/local/bin/uv run --directory /home/oreo/Documents/home_services/MCP/brave-mcp-langchain brave-mcp-langchain
```

## Run SSE mode

```bash
python server.py sse 5000
```

## MCP Setting

```json
{
  "mcpServers": {
    "kubernetes": {
      "autoApprove": [
        "configuration_view",
        "events_list",
        "namespaces_list",
        "pods_get",
        "pods_log",
        "pods_run"
      ],
      "disabled": true,
      "timeout": 60,
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "kubernetes-mcp-server@latest"
      ]
    },
    "k8s": {
      "timeout": 60,
      "type": "stdio",
      "command": "C:\\Users\\oreo\\.local\\bin\\uv.EXE",
      "args": [
        "run",
        "--with",
        "kubernetes",
        "--with",
        "mcp[cli]",
        "mcp",
        "run",
        "C:\\Users\\oreo\\dummy_sevrer.py"
      ]
    },
    "brave-mcp-langchain": {
      "disabled": false,
      "timeout": 60,
      "type": "stdio",
      "command": "C:\\Users\\oreo\\.local\\bin\\uv.EXE",
      "args": [
        "run",
        "--directory",
        "C:\\Users\\oreo\\Documents\\home_services\\MCP\\brave-mcp-langchain",
        "brave-mcp-langchain"
      ]
    }
  }
}
```

# Use installed dependencies

```json
{
  "mcpServers": {
    "kubernetes": {
      "autoApprove": [
        "configuration_view",
        "events_list",
        "namespaces_list",
        "pods_get",
        "pods_log",
        "pods_run"
      ],
      "disabled": true,
      "timeout": 60,
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "kubernetes-mcp-server@latest"
      ]
    },
    "k8s": {
      "timeout": 60,
      "type": "stdio",
      "command": "C:\\Users\\oreo\\.local\\bin\\uv.EXE",
      "args": [
        "run",
        "--with",
        "kubernetes",
        "--with",
        "mcp[cli]",
        "mcp",
        "run",
        "C:\\Users\\oreo\\dummy_sevrer.py"
      ]
    },
    "brave-mcp-langchain": {
      "disabled": false,
      "timeout": 60,
      "type": "stdio",
      "command": "C:\\Users\\oreo\\.local\\bin\\uv.EXE",
      "args": [
        "run",
        "brave-mcp-langchain"
      ]
    }
  }
}
```

# Use with Langchain

It can also be used as Langchain tool. Try below code to try

```python
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())
```
