mcp-server-freesearch
Provides multiple types of web search (general, news, images, videos, maps, music, IT, science, files, social media) through a SearXNG instance.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-server-freesearchsearch for the latest technology news"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Server FreeSearch
基于 SearXNG 的免费搜索 MCP 服务器,提供多种类型的网络搜索功能,无需 API 密钥。
功能特性
综合搜索 - 通用网页搜索,适用于查找信息、网站、文章等
新闻搜索 - 专门搜索新闻内容,获取最新事件和时事信息
图片搜索 - 搜索图片和视觉内容
视频搜索 - 搜索视频内容,包括教程、电影、直播等
地图搜索 - 地理位置查询,查找地点、地标或导航信息
音乐搜索 - 搜索音乐、歌曲、专辑或音频资源
IT搜索 - 专门搜索信息技术相关内容,适用于编程、系统、网络等技术问题
科学搜索 - 搜索科学信息,适用于物理、化学、生物、数学等学术内容
文件搜索 - 搜索可下载的公共文件,如 PDF、PPT、DOC 等格式
社交媒体搜索 - 搜索社交媒体平台的公开内容
速率限制 - 防止 API 滥用
全面的错误处理 - 提供详细的错误信息和故障排除建议
多种输出格式 - 支持 HTML 和 JSON 格式输出
Related MCP server: mcp_server_searXNG
系统要求
Python 3.10 或更高版本
MCP 兼容客户端(如 Claude Desktop、Cursor)
可访问的 SearXNG 实例
安装步骤
方式一:通过 uvx 安装(推荐)
uvx mcp-server-freesearch方式二:从源码安装
克隆此仓库:
git clone <repository-url> cd mcp-server-freesearch安装依赖:
uv venv source .venv/bin/activate # Windows 系统: .venv\Scripts\activate uv pip install -e .
配置
建议 docker 搭建searx
构建
docker pull docker.io/searxng/searxng:latest
# Create directories for configuration and persistent data
$ mkdir -p ./searxng/config/ ./searxng/data/
$ cd ./searxng/
# Run the container
$ docker run --name searxng --replace -d \
-p 8888:8080 \
-v "./config/:/etc/searxng/" \
-v "./data/:/var/cache/searxng/" \
docker.io/searxng/searxng:latest配置支持json输出
vim ./searxng/config/settings.yml找到下面的format配置项,添加json
...
# formats: [html, csv, json, rss]
formats:
- html
- json设置所需的环境变量:
export SEARXNG_API_URL="https://searx.bndkt.io" # SearXNG 实例 URL
export SEARXNG_COOKIE="" # 可选:SearXNG Cookie
export SEARXNG_USER_AGENT="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" # 可选:用户代理
export SEARXNG_REQUEST_TIMEOUT="10" # 可选:请求超时时间(秒)
export ENV_FASTMCP_LOG_LEVEL="WARNING" # 可选:日志级别Windows 系统:
set SEARXNG_API_URL=https://searx.bndkt.io
set SEARXNG_COOKIE=
set SEARXNG_USER_AGENT=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
set SEARXNG_REQUEST_TIMEOUT=10
set ENV_FASTMCP_LOG_LEVEL=WARNING使用方法
运行服务器
通过 uvx 运行(推荐):
uvx mcp-server-freesearch或者从源码直接运行:
python main.py开发和测试
使用 MCP Inspector 进行测试:
npx @modelcontextprotocol/inspector python main.py配置 Claude Desktop
将以下配置添加到 Claude Desktop 配置文件中:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"free-search": {
"command": "uvx",
"args": [
"mcp-server-freesearch"
],
"env": {
"SEARXNG_API_URL": "https://searx.bndkt.io"
}
}
}
}如果你是从源码运行,则使用:
{
"mcpServers": {
"free-search": {
"command": "python",
"args": [
"/path/to/your/mcp-server-freesearch/main.py"
],
"env": {
"SEARXNG_API_URL": "https://searx.bndkt.io"
}
}
}
}可用工具
1. free_general_search
用于综合性搜索,最适合查找信息、网站、文章和一般内容。
示例:"法国的首都是什么?" 或 "巧克力曲奇食谱"
2. free_news_search
专门用于新闻相关查询,最适合时事、最新发展和时效性信息。
示例:"气候变化最新新闻" 或 "最新科技公告"
3. free_image_search
用于查找图片,最适合视觉内容查询。
示例:"金毛犬图片" 或 "埃菲尔铁塔照片"
4. free_video_search
用于搜索视频内容,最适合教程、电影、直播或短视频。
示例:"Python 入门视频" 或 "最新 NASA 纪录片"
5. free_map_search
用于地理位置查询,最适合查找地点、地标或导航相关信息。
示例:"上海外滩在哪里?" 或 "最近的地铁站"
6. free_music_search
用于查找音乐、歌曲、专辑或音频资源。
示例:"周杰伦青花瓷" 或 "贝多芬月光奏鸣曲"
7. free_it_search
用于搜索信息技术相关内容,最适合编程、系统、网络和安全等技术问题。
示例:"如何修复蓝屏错误?" 或 "查看内存的 Linux 命令"
8. free_science_search
用于查找科学信息,适用于物理、化学、生物和数学等学术内容。
示例:"光合作用的过程" 或 "黑洞是如何形成的"
9. free_file_search
用于查找可下载的公共文件,如 PDF、PPT、DOC 等格式。
示例:"机器学习入门 PDF" 或 "年度财务报告下载"
10. free_social_media_search
用于搜索社交媒体平台的公开内容,适合捕获推文、讨论和社交活动。
示例:"关于 AI 的热门推文" 或 "Reddit 远程工作讨论"
参数说明
所有搜索工具都支持以下参数:
query(string, 必需): 搜索查询字符串language(string, 可选): 搜索语言,默认为 "zh"(中文)safe_search(int, 可选): 安全搜索等级,默认为 1(除图片、视频等为 0)time_range(string, 可选): 时间范围过滤器,默认为空output_format(string, 可选): 输出格式,"html" 或 "json",默认为 "html"
输出格式
所有搜索结果都格式化为文本,每个结果项包含不同的字段:
综合搜索: 标题、URL 和描述
新闻搜索: 标题、URL、描述、发布日期和提供者
图片搜索: 标题、来源 URL、图片 URL 和尺寸
视频搜索: 标题、链接、描述、发布平台和时长(如适用)
其他类别: 标题、链接、描述(以及与类别相关的附加信息)
故障排除
"未找到搜索结果" - 检查网络连接和 SearXNG 实例状态
"Rate limit exceeded" - 等待一段时间后重试,或检查速率限制设置
连接错误 - 验证 SEARXNG_API_URL 是否正确且可访问
JSON 解析错误 - 检查 SearXNG 实例是否返回有效的响应格式
发布到 PyPI
如果你想发布此包到 PyPI:
安装构建工具:
uv pip install build twine构建包:
python -m build上传到 PyPI:
python -m twine upload dist/*
注意:请确保在 pyproject.toml 中更新版本号和仓库 URL。
许可证
本项目基于 MIT 许可证开源。
贡献
欢迎提交 Issue 和 Pull Request 来改进此项目。
支持
如果遇到问题,请检查:
Python 版本是否符合要求
所有依赖是否正确安装
环境变量是否正确设置
SearXNG 实例是否可访问
更多技术支持,请提交 Issue 到项目仓库。
Available Tools
10 toolsfree_file_searchC
文件搜索 Args: query (str): 搜索查询 language (str): 搜索语言,默认中文 safe_search (int): 安全搜索等级,默认0 time_range (str): 时间范围,默认空 output_format (str): 输出格式,默认html Returns: Text content with the file search results.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| language | No | auto | |
| safe_search | No | ||
| time_range | No | ||
| output_format | No | html |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | Yes | |
| text | Yes | |
| annotations | No | |
| _meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description lacks behavioral details such as search scope, limitations, or how results are obtained. The return type is vaguely described as 'text content', which is insufficient for a search tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively concise but unstructured, with a blank line and informal 'Args:' section. It front-loads the tool name but could be more streamlined.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of many sibling search tools and an output schema (not detailed), the description should clarify what makes file search distinct. It lacks behavior context and does not specify the nature of returned text, making it incomplete for effective selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides Chinese explanations for each parameter (e.g., '搜索查询' for query, '搜索语言,默认中文' for language), which adds meaning beyond the schema's type-only definitions. Although allowed values are not specified, the descriptions cover all 5 parameters effectively.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states '文件搜索' (file search) and lists parameters that indicate a search operation. This clearly conveys the tool's purpose and distinguishes it from siblings like free_image_search or free_news_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus its siblings. There are no explicit context cues or conditions for use, leaving the AI agent to infer based on the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
free_general_searchC
综合搜索 Args: query (str): 搜索查询 language (str): 搜索语言,默认中文 safe_search (int): 安全搜索等级,默认1 time_range (str): 时间范围,默认空 output_format (str): 输出格式,默认html Returns: Text content with the search results.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| language | No | auto | |
| safe_search | No | ||
| time_range | No | ||
| output_format | No | html |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | Yes | |
| text | Yes | |
| annotations | No | |
| _meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description does not disclose behavioral traits such as rate limits, security, or what the 'safe_search' and 'time_range' parameters do. It only restates parameter names with defaults.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and structured with a bullet list, but it unnecessarily repeats the schema information without adding insights. It could be more concise by focusing on purpose and behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 5 parameters, no schema descriptions, and 9 siblings, the description fails to provide complete context. It does not explain the tool's role, parameter usage, or return format beyond 'text content'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds minimal value beyond listing parameter names and defaults already in the schema. There is a contradiction: safe_search type is 'int' in description but 'string' in schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it is a 'comprehensive search' but does not explicitly define its scope (e.g., general web search) or how it differs from specialized siblings like free_news_search. The verb 'search' is clear, but the resource is vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus the many specialized search tools. The description lacks any indication of use cases, prerequisites, or when to choose alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
free_image_searchC
图片搜索 Args: query (str): 搜索查询 language (str): 搜索语言,默认中文 safe_search (int): 安全搜索等级,默认0 time_range (str): 时间范围,默认空 output_format (str): 输出格式,默认html Returns: Text content with the image search results.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| language | No | auto | |
| safe_search | No | ||
| time_range | No | ||
| output_format | No | html |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | Yes | |
| text | Yes | |
| annotations | No | |
| _meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must convey behavioral traits. It mentions the output format but omits critical details such as data safety, rate limits, or any side effects. The minimal return description ('Text content') adds little value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is largely a parameter list repeated from the schema, lacking structure. It does not front-load key information; instead, it begins with a one-word title and then dumps parameters without a clear summary of the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (5 parameters, sibling tools) and the presence of an output schema, the description is incomplete. It does not explain how the results are structured, how to handle defaults, or how this tool compares to similar search tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description must compensate. It provides Chinese translations for each parameter (e.g., '搜索查询' for query), which adds some meaning beyond the name alone. However, the explanations are terse and do not elaborate on expected values or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with '图片搜索' which clearly indicates the tool performs image searches. The name 'free_image_search' reinforces this. However, it does not differentiate from siblings like free_general_search or free_video_search, missing an opportunity for clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description merely lists parameters without explaining the context or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
free_it_searchC
信息技术搜索 Args: query (str): 搜索查询 language (str): 搜索语言,默认中文 safe_search (int): 安全搜索等级,默认0 time_range (str): 时间范围,默认空 output_format (str): 输出格式,默认html Returns: Text content with the IT search results.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| language | No | auto | |
| safe_search | No | ||
| time_range | No | ||
| output_format | No | html |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | Yes | |
| text | Yes | |
| annotations | No | |
| _meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist. The description does not disclose behavioral traits such as rate limits, authentication needs, or how results are structured (pagination, filtering). The return value is vaguely described as 'Text content with the IT search results.'
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a list of parameters with brief Chinese descriptions, which is somewhat structured. However, it repeats the parameter list pattern and could be more compact. Every sentence adds some value but lacks conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters, no annotations, and an output schema not described, the description is incomplete. It fails to explain result format, pagination, error handling, or any usage constraints beyond basic parameter fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description must compensate. However, parameter descriptions are incomplete and contain contradictions: language default is 'auto' in schema but '中文' in description; safe_search is string in schema but described as int. This misleads the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states '信息技术搜索' meaning IT search, and lists parameters typical for a search tool. It distinguishes itself from siblings like free_general_search by focusing on IT topics, but lacks explicit detail on what IT domain covers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus other search siblings. There is no comparison or context about scenarios suited for IT search vs general or specialized searches.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
free_map_searchD
地图搜索 Args: query (str): 搜索查询 language (str): 搜索语言,默认中文 safe_search (int): 安全搜索等级,默认0 time_range (str): 时间范围,默认空 output_format (str): 输出格式,默认html Returns: Text content with the map search results.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| language | No | auto | |
| safe_search | No | ||
| time_range | No | ||
| output_format | No | html |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | Yes | |
| text | Yes | |
| annotations | No | |
| _meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It only states that the tool returns text content with map search results, omitting details like rate limits, authentication needs, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but repeats parameter names and defaults that are already in the schema. It could be more concise by omitting the parameter list and focusing on behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters and no enum constraints, the description should provide more context about each parameter and example usage. The output schema exists but the description only vaguely mentions text content, leaving the agent with insufficient information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, placing the burden on the description to explain parameters. The description adds minimal value by listing defaults in Chinese but does not explain the meaning or valid values for parameters like safe_search or time_range.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is limited to '地图搜索' (map search), which is vague and does not specify a distinct verb or resource. It does not differentiate from sibling tools like free_general_search or free_image_search, leaving ambiguity about what exactly this tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, common use cases, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
free_music_searchC
音乐搜索 Args: query (str): 搜索查询 language (str): 搜索语言,默认中文 safe_search (int): 安全搜索等级,默认0 time_range (str): 时间范围,默认空 output_format (str): 输出格式,默认html Returns: Text content with the music search results.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| language | No | auto | |
| safe_search | No | ||
| time_range | No | ||
| output_format | No | html |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | Yes | |
| text | Yes | |
| annotations | No | |
| _meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only lists parameters and a generic return statement. It does not disclose any behavioral traits such as side effects, permissions, or whether the search is read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but includes a parameter listing and return statement. It is not optimally structured; listing parameters in the description is redundant given the input schema. However, it is not overly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description fails to explain what kind of music is searched, what sources are used, or how results are structured. With 5 parameters, no annotations, and no output schema, the description is insufficient for an agent to understand the tool's full behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description adds little meaning beyond parameter names. It repeats labels like 'query' and 'safe_search' with defaults, and contradicts the schema: language default is 'auto' in schema but '默认中文' in description. This confuses rather than clarifies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states '音乐搜索' (music search), clearly indicating it searches for music. This distinguishes it from sibling search tools like free_image_search or free_video_search, though no elaboration on the specific source or scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like free_general_search or free_social_media_search. The description provides no context for appropriate usage or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
free_news_searchC
新闻搜索 Args: query (str): 搜索查询 language (str): 搜索语言,默认中文 safe_search (int): 安全搜索等级,默认1 time_range (str): 时间范围,默认空 output_format (str): 输出格式,默认html Returns: Text content with the news search results.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| language | No | auto | |
| safe_search | No | ||
| time_range | No | ||
| output_format | No | html |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | Yes | |
| text | Yes | |
| annotations | No | |
| _meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits such as rate limits, authentication requirements, data source, or result structure. It only states that it returns 'Text content', which is insufficient for an agent to understand potential side effects or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively concise, listing parameters in a clear Args/Returns format. It front-loads the purpose and avoids unnecessary prose, though the Args section could be more compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters and no annotations, the description lacks important context: it does not clarify the output format beyond 'Text content', nor does it explain the meaning of parameters like 'time_range' or 'safe_search'. Although an output schema is indicated as present, the description does not leverage it to fill gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides defaults and informal types for parameters, adding some meaning beyond the schema (e.g., language default '中文', safe_search default 1). However, there are conflicts with the schema (e.g., safe_search type is string in schema but described as int, language default differs). Schema coverage is 0%, so the description partially compensates but is not fully reliable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with '新闻搜索' (news search), clearly indicating the tool's purpose as a news search engine. However, it does not distinguish itself from sibling tools like 'free_general_search' or 'free_image_search', which could lead to confusion about when to use this specific tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool instead of alternatives. The description only lists parameters without explaining the context or conditions for using news search over other search types.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
free_science_searchD
科学搜索 Args: query (str): 搜索查询 language (str): 搜索语言,默认中文 safe_search (int): 安全搜索等级,默认0 time_range (str): 时间范围,默认空 output_format (str): 输出格式,默认html Returns: Text content with the science search results.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| language | No | auto | |
| safe_search | No | ||
| time_range | No | ||
| output_format | No | html |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | Yes | |
| text | Yes | |
| annotations | No | |
| _meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for behavioral disclosure, yet it provides no information on side effects, prerequisites, rate limits, or output behavior. The 'safe_search' and other parameters are unexplained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but fails to front-load a clear purpose. It is essentially a parameter list without an introductory sentence explaining the tool's function, wasting the opportunity for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters, zero annotations, and an output schema that is not leveraged, the description is severely incomplete. It does not explain the tool's main function, leaving the agent without critical context to decide when and how to use it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It provides brief Chinese explanations for each parameter (e.g., '搜索查询' for query), adding some meaning beyond the empty schema titles. However, explanations are minimal and some are vague.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description lacks an explicit statement of what the tool does beyond the name 'free_science_search'. The docstring only lists parameters in Chinese and English with no verb or resource definition, making it unclear that it performs scientific searches.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool over siblings like free_general_search or free_image_search. There are no exclusion criteria or context for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
free_social_media_searchC
社交媒体搜索 Args: query (str): 搜索查询 language (str): 搜索语言,默认中文 safe_search (int): 安全搜索等级,默认0 time_range (str): 时间范围,默认空 output_format (str): 输出格式,默认html Returns: Text content with the social media search results.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| language | No | auto | |
| safe_search | No | ||
| time_range | No | ||
| output_format | No | html |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | Yes | |
| text | Yes | |
| annotations | No | |
| _meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must carry the burden. It only says 'Returns: Text content with the social media search results.' No disclosure of side effects, auth needs, rate limits, or read-only nature (though likely read-only). Minimal behavioral info.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and includes a parameter list in a docstring style. It is appropriately sized with no unnecessary words, though the structure is flat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters, no schema descriptions, and only a vague return statement, the description is incomplete. It does not explain valid values for output_format, time_range, or safe_search, leaving gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so description adds value by explaining each parameter (e.g., '搜索查询' for query, '安全搜索等级' for safe_search). However, the explanations are basic translations/defaults and do not provide deep semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states '社交媒体搜索' which translates to 'social media search', restating the tool name. It lacks specificity to distinguish from sibling tools like 'free_general_search' or 'free_video_search', so the purpose is somewhat vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. Sibling tools are listed but not mentioned in the description. There is no when-to-use or when-not-to-use information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
free_video_searchC
视频搜索 Args: query (str): 搜索查询 language (str): 搜索语言,默认中文 safe_search (int): 安全搜索等级,默认0 time_range (str): 时间范围,默认空 output_format (str): 输出格式,默认html Returns: Text content with the video search results.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| language | No | auto | |
| safe_search | No | ||
| time_range | No | ||
| output_format | No | html |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | Yes | |
| text | Yes | |
| annotations | No | |
| _meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided. The description does not disclose any behavioral traits such as read/write nature, authentication needs, rate limits, or potential side effects. The only hint is 'Returns: Text content with the video search results,' which minimally indicates the output type but offers no transparency into tool behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and lists parameters in a bullet-like format, making it easy to scan. However, it is slightly redundant with the schema and could be more concise by omitting parameter defaults already in schema. It is appropriately front-loaded with the tool's name in Chinese but lacks a clear summary of what the tool does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with 5 parameters and no output schema, the description is insufficient. It fails to explain the output format (beyond 'Text content'), pagination, filtering behavior, or how to interpret results. Given the complexity and sibling tools, more details are needed for an agent to use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, so the description carries the full burden. It provides Chinese labels for each parameter (e.g., '搜索查询' for query, '安全搜索等级' for safe_search) and lists defaults, adding some meaning beyond the schema. However, it lacks constraints or explanations for valid values (e.g., safe_search as string, time_range format), limiting semantic depth.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with '视频搜索' (video search) and lists parameters, clearly indicating the tool's purpose of searching videos. While it distinguishes from siblings by its name, it does not explicitly differentiate its capabilities from similar search tools (e.g., free_image_search, free_general_search). The purpose is specific enough for an agent to understand the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It does not mention any conditions, prerequisites, or exclusions. The agent is left to infer usage from the name and sibling context alone.
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.
10 tool updates
v0.1.2- First observed
free_file_search - First observed
free_general_search - First observed
free_image_search - First observed
free_it_search - First observed
free_map_search - First observed
free_music_search - First observed
free_news_search - First observed
free_science_search - First observed
free_social_media_search - First observed
free_video_search
TDQS
Each tool targets a distinct category (file, general, image, IT, map, music, news, science, social media, video), so there is no overlap. An agent can easily select the appropriate tool for the desired search type.
All tools follow a consistent naming pattern: 'free_' + category + '_search'. This makes the tool set predictable and easy to understand.
With 10 tools, the set covers a broad range of search categories without being excessive. The number is appropriate for a search-focused server, though it could be slightly trimmed if some categories are rarely used.
The tool set covers major search categories (web, images, news, videos, etc.) and some niche ones (IT, science, social media). It is missing common categories like shopping or jobs, but the overall breadth is good.
Maintenance
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
Find the right MCP server for your task. 4,500+ servers ranked by community trust.
Search a nightly-refreshed directory of MCP servers by keyword, category or topic.
Serper MCP — wraps the Serper Google Search API (serper.dev)
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceAn MCP server that enables web search capabilities by integrating with a SearXNG instance to aggregate results from over 130 engines. It allows users to perform filtered searches across categories like news, science, and social media while supporting advanced parameters for language and time range.9MIT
- AlicenseNot gradedqualityCmaintenanceA privacy-friendly web search MCP server using SearXNG, enabling searches across multiple engines and categories.1MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that integrates the SearXNG API to provide web search with pagination, filtering, and URL content extraction.18MIT
- AlicenseNot gradedqualityDmaintenanceFree web search MCP server using SearXNG, supporting web search, news search, and search summaries.MIT
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/wzj177/mcp-server-freesearch'
If you have feedback or need assistance with the MCP directory API, please join our Discord server