AI assistant using the SmolAgents library that integrates with Brave Search and Crawl4ai Model Context Protocols (MCP) servers for web searches and scraping. Modular design allows easy addition of new MCP servers and tools.
Details
Author
FaustoS88
Downloads
280
Categories
Search
Jump to
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
Clone the repository, create a .env file with BRAVE_API_KEY and OPENAI_API_KEY, install Python dependencies with pip install -r requirements.txt, ensure `npx
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
# SmolAgents + MCP servers
This project demonstrates building an AI assistant using the SmolAgents library that can perform web searches and scrape/crawl websites by integrating with the Brave Search and the Crawl4ai Model Context Protocols (MCP) servers.
## Requirements
Before running this project, ensure you have the following dependencies installed:
- `smolagents`
- `python-dotenv`
- `mcp`
- `@modelcontextprotocol/server-brave-search` (installed globally via npm/npx)
- `litellm`
You can install the Python packages using pip:
```bash
pip install -r requirements.txt
```
Ensure you have Node.js and npm/npx and uv installed to run the MCP servers.
## Environment Variables
Create a `.env` file in the root directory of the project and add the following variables:
```
BRAVE_API_KEY=your_brave_api_key
OPENAI_API_KEY=your_openai_api_key
```
Replace `your_brave_api_key` and `your_openai_api_key` with your actual API keys.
## Usage
1. Clone the repository or download the script (`smolagent_with_mcp.py`).
2. Navigate to the project directory in your terminal.
3. Run the script:
```bash
python smolagent_with_mcp.py
```
4. Interact with the assistant by typing your search queries. Type `exit` or `quit` to terminate the session.
the code encapsulates the agent initialization and the main interaction loop within a Python class (`SmolAgentWithMCP`). This object-oriented approach offers modularity and makes it easier to extend the agent's capabilities, such as integrating additional MCP servers and their tools.
## Notes
* Ensure that `npx` is installed and available in your system's PATH, as it is required to run the Brave Search MCP server.
* The `ToolCallingAgent` in SmolAgents is designed to output tool calls in a structured format (like JSON) which are then executed by the environment (in this case, the script's main loop using the `MCPClient`).
## Adding More MCP Servers
The `smolagent_with_mcp.py` file is structured to allow for easily adding more MCP servers and their tools in a modular way. To add a new MCP server:
1. Define the `StdioServerParameters` for the new server. This involves specifying the command to run the server, its arguments, and any necessary environment variables (similar to how `brave_server_params` and `crawl4ai_server_params` are defined).
2. Add the newly defined server parameters object to the `server_list` in the `main` function. The `BraveSearchAgentApp` class will automatically initialize the new server and include its tools in the agent's capabilities.
Example:
```python
# Define parameters for a new server (replace with actual command and args)
new_server_params = StdioServerParameters(
command="your_server_command",
args=["arg1", "arg2"],
env={"YOUR_API_KEY": os.getenv("YOUR_API_KEY")},
)
def main():
# Define the list of MCP server parameters
server_list = [
brave_server_params,
crawl4ai_server_params,
new_server_params # Add the new server parameters here
# Add other server parameters here as needed
]
app = BraveSearchAgentApp(server_list)
app.run()
if __name__ == "__main__":
main()
```
## MCP used in the project:
https://playbooks.com/mcp/ritvij14-crawl4ai
https://github.com/modelcontextprotocol/servers/tree/main/src/brave-search
## License
This project is licensed under the MIT License. See the `LICENSE` file for more details.
No reviews yet — be the first
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
Social sign-in isn’t configured yet. You can still create an account with email below, or ask an admin to add Google/GitHub/Discord OAuth credentials.
A collection of reference implementations for the Model Context Protocol (MCP), demonstrating secure and controlled access to tools and data sources for Large…
The GitHub MCP Server allows AI tools like GitHub Copilot in VS Code and Visual Studio, Claude Desktop, and others to seamlessly access live GitHub context and…
This AWS Labs Model Context Protocol (MCP) server for CloudTrail enables your AI agents to query AWS account activity for security investigations, compliance…