Skip to main content
Glama

mcp2brave

一个基于MCP协议的服务器,使用Brave API实现网络搜索功能。

系统要求

  • Python 3.11+

  • UV包管理器

  • Brave API密钥

Related MCP server: Python Docs Server

安装步骤

  1. 克隆项目

git clone <仓库地址>
cd mcp2brave
  1. 创建并编辑环境变量文件

# 添加Brave API密钥到.env文件
.env
  1. 使用UV创建虚拟环境

# 创建并激活虚拟环境
uv venv
# Windows系统使用:
.venv\Scripts\activate
# Linux/Mac系统使用:
source .venv/bin/activate
  1. 安装依赖

uv sync

使用方法

安装为Claude扩展

fastmcp install mcp2brave.py

开发模式与MCP检查器

要使用MCP检查器测试功能:

fastmcp dev mcp2brave.py

运行后,可以在浏览器访问MCP检查器:http://localhost:5173

可用工具

  • search_web(query: str): 使用Brave API搜索网络

  • search_web_info(query: str): 同上,带中文描述

环境变量

  • Brave_API_KEY: 你的Brave API密钥(必需)

注意事项

  • 确保在使用前已正确设置API密钥

  • 虚拟环境激活后才能运行相关命令

  • 如遇到编码问题,请确保系统使用UTF-8编码

手动添加Cline Continue Claude

打开Cline Continue Claude的MCP服务器配置文件,加入以下信息


"mcp2brave": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "fastmcp",
        "--with",
        "python-dotenv",
        "--with",
        "beautifulsoup4",
        "--with",
        "requests",
        "fastmcp",
        "run",
        "C:\\Users\\你的真实路径\\mcp2brave.py"
      ],
      "env": {
        "BRAVE_API_KEY": "API密钥"
      }
    }

详细操作步骤

Cline集成

配置

Cline集成

配置

Cline集成

配置

使用示例

搜索示例

Available Tools

6 tools
brave_search_summaryC

使用Brave搜索引擎搜索网络信息

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. The description only states it searches web information using Brave - it doesn't mention what kind of results are returned (summaries, links, full content), whether there are rate limits, authentication requirements, privacy implications, or any other behavioral characteristics. For a search tool with zero annotation coverage, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise - a single Chinese sentence that directly states the tool's function. There's no wasted language or unnecessary elaboration. It's front-loaded with the essential information: using Brave to search web information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a search tool with no annotations, no output schema, and 0% schema description coverage, the description is incomplete. It doesn't explain what the tool returns (summaries, links, structured data), how results are formatted, or any limitations. With sibling tools that seem related (like 'search_brave_with_summary'), the lack of differentiation makes the context incomplete for proper tool selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides no information about parameters beyond what's in the schema. With 0% schema description coverage and 1 parameter ('query'), the description doesn't add any semantic meaning - it doesn't explain what constitutes a good query, query formatting, language support, or search scope. The description must compensate for the schema's lack of parameter descriptions but fails to do so.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('搜索网络信息' - search web information) and the resource/engine ('使用Brave搜索引擎' - using Brave search engine). It doesn't specifically differentiate from sibling tools like 'search_brave_with_summary' or 'search_news', but the purpose is unambiguous. The description goes beyond just restating the name by specifying the search engine being used.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'search_brave_with_summary', 'search_news', 'search_news_info', and 'get_url_content_direct', there's no indication of when this specific Brave search tool is preferred over those alternatives. The description only states what it does, not when to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_url_content_directC

Get webpage content directly using HTTP request

Args:
    url (str): The URL to fetch content from
    
Returns:
    str: The webpage content and metadata
ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'HTTP request' but does not specify details like authentication needs, rate limits, error handling, or whether it's read-only or destructive. For a tool that fetches web content, this lack of behavioral context is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded, with a clear purpose statement followed by structured 'Args' and 'Returns' sections. Every sentence adds value, though it could be more concise by integrating the sections into a single paragraph without losing clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (HTTP request with potential behavioral nuances), lack of annotations, no output schema, and low schema coverage, the description is incomplete. It does not explain return values in detail (e.g., what 'metadata' includes), error cases, or usage constraints, leaving gaps for the agent to infer behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds minimal semantics beyond the input schema. It documents the 'url' parameter as 'The URL to fetch content from', which matches the schema's 'title: Url' and 'type: string'. With 0% schema description coverage, the description compensates slightly by explaining the parameter's purpose, but it does not provide format details (e.g., required protocols) or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose as 'Get webpage content directly using HTTP request', which specifies the verb ('get'), resource ('webpage content'), and method ('HTTP request'). It distinguishes from siblings like 'url_content' by emphasizing 'directly', though the distinction could be more explicit. This is clear but lacks detailed sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'url_content' and search tools (e.g., 'brave_search_summary'), there is no mention of use cases, prerequisites, or exclusions. This leaves the agent without context for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_brave_with_summaryC

Search the web using Brave Search API

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the basic action without detailing traits such as rate limits, authentication needs, response format, or whether it's read-only or mutative. For a web search tool with zero annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste, clearly stating the tool's function without unnecessary words. It is appropriately sized and front-loaded, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (web search with potential for rich outputs), lack of annotations, no output schema, and low schema coverage, the description is incomplete. It doesn't explain return values, error handling, or behavioral nuances, leaving the agent with insufficient context for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 1 parameter with 0% description coverage, meaning the schema provides no details about the 'query' parameter. The description adds no semantic information beyond implying a search query is needed, failing to compensate for the schema's lack of documentation. This results in inadequate parameter guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the action ('Search the web') and the resource ('using Brave Search API'), which provides a basic purpose. However, it's vague about what distinguishes this tool from its siblings like 'brave_search_summary' or 'search_news', as it doesn't specify unique features such as summary generation or web vs. news focus. This lack of differentiation keeps it at a minimal viable level.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no guidance on when to use this tool versus alternatives like 'brave_search_summary' or 'search_news'. It doesn't mention any context, prerequisites, or exclusions, leaving the agent without direction on tool selection. This absence of usage information results in a low score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_newsC

Search news using Brave News API

Args:
    query (str): The search query for news
    
Returns:
    str: News search results including titles, sources, dates and descriptions
ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. While it mentions the API source and return format, it doesn't describe important behavioral aspects like rate limits, authentication requirements, error handling, pagination, or whether this is a read-only operation. For a search tool with zero annotation coverage, this leaves significant gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and well-structured with clear sections for Args and Returns. The first sentence establishes the core purpose, followed by structured parameter and return documentation. There's no wasted text, though the structure could be slightly more front-loaded with key behavioral information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and minimal parameter documentation, the description is incomplete for effective tool use. It doesn't explain the return format beyond mentioning it includes 'titles, sources, dates and descriptions' - no structure details, error cases, or limitations. For a search tool that likely has rate limits and specific behavior, this leaves too many unknowns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description adds value by documenting the single parameter 'query' and its purpose ('The search query for news'). However, it doesn't provide additional context about query formatting, length limits, supported operators, or examples. The baseline would be lower without this parameter documentation, but it's minimal compensation for the schema coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Search news using Brave News API' - a specific verb ('Search') and resource ('news') with the API source identified. It distinguishes from some siblings like 'get_url_content_direct' or 'url_content' but doesn't explicitly differentiate from 'search_news_info' which appears to be a related news search tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus alternatives. With siblings like 'search_news_info' and 'search_brave_with_summary' available, the description doesn't indicate whether this is the primary news search tool, when to choose it over other search tools, or what specific use cases it serves.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_news_infoC

使用Brave新闻API搜索新闻

参数:
    query (str): 新闻搜索关键词
    
返回:
    str: 新闻搜索结果,包含标题、来源、日期和描述
ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the API source (Brave News API) and return format, but lacks details on rate limits, authentication needs, error handling, or pagination. This is insufficient for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured with clear sections for parameters and returns, using minimal sentences. However, it could be more front-loaded by integrating the purpose with usage context, and some information (like the return format) might be better suited for an output schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (single parameter, no output schema, no annotations), the description covers the basic purpose and return format but misses key contextual elements like usage guidelines, behavioral traits, and differentiation from siblings. It's adequate but has clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds basic semantic context for the single parameter ('query' as a news search keyword), but with 0% schema description coverage, it doesn't fully compensate by providing examples, constraints, or formatting details. The baseline is 3 since it adds some value beyond the minimal schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose as '使用Brave新闻API搜索新闻' (search for news using the Brave News API), which specifies the verb (search), resource (news), and method (Brave News API). However, it doesn't explicitly differentiate from sibling tools like 'search_news' or 'search_brave_with_summary', which likely have overlapping functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With sibling tools such as 'search_news' and 'search_brave_with_summary' available, there is no indication of specific contexts, prerequisites, or exclusions that would help an agent choose appropriately.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

url_contentC

直接获取网页内容

参数:
    url (str): 目标网页地址
    
返回:
    str: 网页内容和元数据
ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool '直接获取网页内容' (directly gets webpage content) and mentions '网页内容和元数据' (webpage content and metadata) in the return, but it lacks details on permissions, rate limits, error handling, or whether it's a read-only operation. For a tool with no annotations, this is insufficient to fully inform the agent about its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with a clear structure: a purpose statement followed by parameter and return sections. However, it's somewhat under-specified—the purpose is brief, and the parameter and return descriptions are minimal. While efficient, it could benefit from more detail to be fully helpful without being verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (a web content fetcher with no annotations and no output schema), the description is incomplete. It mentions the return includes '网页内容和元数据' (webpage content and metadata), but without an output schema, it doesn't detail the structure or types of metadata. For a tool that likely involves network operations and data parsing, more context on behavior, errors, or output format is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaningful semantics beyond the input schema. The schema has 0% description coverage, only listing 'url' as a required string. The description specifies that 'url' is the '目标网页地址' (target webpage address), clarifying its purpose. Since there's only one parameter and the description compensates for the low schema coverage, it earns a high score, though not a 5 as it could provide more context like URL format or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: '直接获取网页内容' (directly get webpage content). It specifies the verb '获取' (get) and resource '网页内容' (webpage content), making the action clear. However, it doesn't explicitly differentiate from sibling tools like 'get_url_content_direct', which appears to have a similar function, so it doesn't reach a score of 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. There are sibling tools like 'get_url_content_direct' and 'brave_search_summary' that might serve similar or overlapping purposes, but the description doesn't mention any context, exclusions, or comparisons. This leaves the agent without clear usage instructions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 6 tool updatesv1.0.0
    • Changedbrave_search_summary1 field changed
      • addedInput schema / title
        Added value: +"brave_search_summaryArguments"
    • Changedget_url_content_direct1 field changed
      • addedInput schema / title
        Added value: +"get_url_content_directArguments"
    • Changedsearch_brave_with_summary1 field changed
      • addedInput schema / title
        Added value: +"search_brave_with_summaryArguments"
    • Changedsearch_news1 field changed
      • addedInput schema / title
        Added value: +"search_newsArguments"
    • Changedsearch_news_info1 field changed
      • addedInput schema / title
        Added value: +"search_news_infoArguments"
    • Changedurl_content1 field changed
      • addedInput schema / title
        Added value: +"url_contentArguments"
  2. 6 tool updates
    • First observedbrave_search_summary
    • First observedget_url_content_direct
    • First observedsearch_brave_with_summary
    • First observedsearch_news
    • First observedsearch_news_info
    • First observedurl_content

TDQS

C2.6/5.0
Disambiguation2/5

Multiple tools have unclear boundaries and overlapping purposes. 'brave_search_summary' and 'search_brave_with_summary' appear to serve the same function with only minor wording differences. Similarly, 'get_url_content_direct' and 'url_content' are essentially duplicates with one in English and one in Chinese. This creates significant ambiguity for agent selection.

Naming Consistency2/5

The naming conventions are inconsistent and chaotic. There's a mix of snake_case ('brave_search_summary') and lowercase with underscores ('search_brave_with_summary'), plus inconsistent verb usage ('get_' vs just the noun 'url_content'). The bilingual naming (English and Chinese) further compounds the inconsistency with no discernible pattern.

Tool Count3/5

With 6 tools, the count is reasonable for a search/content retrieval server. However, since 4 of these tools are essentially duplicates (2 search pairs and 2 URL content pairs), the effective tool count is much lower, making the server feel thin despite the nominal count being appropriate.

Completeness3/5

The server covers basic search and content retrieval operations, but there are notable gaps. While it provides search (general and news) and URL fetching, there's no way to filter search results, handle pagination, or access more advanced Brave Search features. The duplication of tools doesn't add functional coverage, leaving the surface incomplete for robust web interaction.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    An MCP server that integrates the Brave Search API to provide both web and local search capabilities, with features like pagination, filtering, and smart fallbacks.
    16
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    An MCP Server implementation that integrates the Brave Search API, providing, Web Search, Local Points of Interest Search, Image Search, Video Search, News Search and LLM Context Search capabilities
    5
    259
    125
    GPL 3.0

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mcp2everything/mcp2brave'

If you have feedback or need assistance with the MCP directory API, please join our Discord server