mcp-server-freesearch


Namemcp-server-freesearch JSON
Version 0.1.2 PyPI version JSON
download
home_pageNone
Summary基于 SearXNG 的免费搜索 MCP 服务器
upload_time2025-08-07 13:54:52
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseNone
keywords mcp search searxng web-search model-context-protocol
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # MCP Server FreeSearch

基于 SearXNG 的免费搜索 MCP 服务器,提供多种类型的网络搜索功能,无需 API 密钥。

## 功能特性

- **综合搜索** - 通用网页搜索,适用于查找信息、网站、文章等
- **新闻搜索** - 专门搜索新闻内容,获取最新事件和时事信息
- **图片搜索** - 搜索图片和视觉内容
- **视频搜索** - 搜索视频内容,包括教程、电影、直播等
- **地图搜索** - 地理位置查询,查找地点、地标或导航信息
- **音乐搜索** - 搜索音乐、歌曲、专辑或音频资源
- **IT搜索** - 专门搜索信息技术相关内容,适用于编程、系统、网络等技术问题
- **科学搜索** - 搜索科学信息,适用于物理、化学、生物、数学等学术内容
- **文件搜索** - 搜索可下载的公共文件,如 PDF、PPT、DOC 等格式
- **社交媒体搜索** - 搜索社交媒体平台的公开内容
- **速率限制** - 防止 API 滥用
- **全面的错误处理** - 提供详细的错误信息和故障排除建议
- **多种输出格式** - 支持 HTML 和 JSON 格式输出

## 系统要求

- Python 3.10 或更高版本
- MCP 兼容客户端(如 Claude Desktop、Cursor)
- 可访问的 SearXNG 实例

## 安装步骤

### 方式一:通过 uvx 安装(推荐)

```bash
uvx mcp-server-freesearch
```

### 方式二:从源码安装

1. 克隆此仓库:
   ```bash
   git clone <repository-url>
   cd mcp-server-freesearch
   ```

2. 安装依赖:
   ```bash
   uv venv
   source .venv/bin/activate  # Windows 系统: .venv\Scripts\activate
   uv pip install -e .
   ```

## 配置

### **建议** docker 搭建searx

- 构建
```shell
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输出
```shell
vim ./searxng/config/settings.yml
```

找到下面的format配置项,添加json
```yaml
  ...
  # formats: [html, csv, json, rss]
  formats:
    - html
    - json
```
---

### 设置所需的环境变量:

```bash
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 系统:
```cmd
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 运行(推荐):
```bash
uvx mcp-server-freesearch
```

或者从源码直接运行:
```bash
python main.py
```

### 开发和测试

使用 MCP Inspector 进行测试:
```bash
npx @modelcontextprotocol/inspector python main.py
```

### 配置 Claude Desktop

将以下配置添加到 Claude Desktop 配置文件中:
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`

```json
{
  "mcpServers": {
    "free-search": {
      "command": "uvx",
      "args": [
        "mcp-server-freesearch"
      ],
      "env": {
        "SEARXNG_API_URL": "https://searx.bndkt.io"
      }
    }
  }
}
```

如果你是从源码运行,则使用:
```json
{
  "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 和尺寸
- **视频搜索**: 标题、链接、描述、发布平台和时长(如适用)
- **其他类别**: 标题、链接、描述(以及与类别相关的附加信息)

## 故障排除

1. **"未找到搜索结果"** - 检查网络连接和 SearXNG 实例状态
2. **"Rate limit exceeded"** - 等待一段时间后重试,或检查速率限制设置
3. **连接错误** - 验证 SEARXNG_API_URL 是否正确且可访问
4. **JSON 解析错误** - 检查 SearXNG 实例是否返回有效的响应格式

## 发布到 PyPI

如果你想发布此包到 PyPI:

1. 安装构建工具:
   ```bash
   uv pip install build twine
   ```

2. 构建包:
   ```bash
   python -m build
   ```

3. 上传到 PyPI:
   ```bash
   python -m twine upload dist/*
   ```

注意:请确保在 `pyproject.toml` 中更新版本号和仓库 URL。


## 许可证

本项目基于 MIT 许可证开源。

## 贡献

欢迎提交 Issue 和 Pull Request 来改进此项目。

## 支持

如果遇到问题,请检查:
1. Python 版本是否符合要求
2. 所有依赖是否正确安装
3. 环境变量是否正确设置
4. SearXNG 实例是否可访问

更多技术支持,请提交 Issue 到项目仓库。

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "mcp-server-freesearch",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "mcp, search, searxng, web-search, model-context-protocol",
    "author": null,
    "author_email": "Jiecheng Yang <yangjiecheng1995@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/0f/cc/00edd615a273a1d69b24249c327309bb03c7633d90d8c7329e793026df9d/mcp_server_freesearch-0.1.2.tar.gz",
    "platform": null,
    "description": "# MCP Server FreeSearch\n\n\u57fa\u4e8e SearXNG \u7684\u514d\u8d39\u641c\u7d22 MCP \u670d\u52a1\u5668\uff0c\u63d0\u4f9b\u591a\u79cd\u7c7b\u578b\u7684\u7f51\u7edc\u641c\u7d22\u529f\u80fd\uff0c\u65e0\u9700 API \u5bc6\u94a5\u3002\n\n## \u529f\u80fd\u7279\u6027\n\n- **\u7efc\u5408\u641c\u7d22** - \u901a\u7528\u7f51\u9875\u641c\u7d22\uff0c\u9002\u7528\u4e8e\u67e5\u627e\u4fe1\u606f\u3001\u7f51\u7ad9\u3001\u6587\u7ae0\u7b49\n- **\u65b0\u95fb\u641c\u7d22** - \u4e13\u95e8\u641c\u7d22\u65b0\u95fb\u5185\u5bb9\uff0c\u83b7\u53d6\u6700\u65b0\u4e8b\u4ef6\u548c\u65f6\u4e8b\u4fe1\u606f\n- **\u56fe\u7247\u641c\u7d22** - \u641c\u7d22\u56fe\u7247\u548c\u89c6\u89c9\u5185\u5bb9\n- **\u89c6\u9891\u641c\u7d22** - \u641c\u7d22\u89c6\u9891\u5185\u5bb9\uff0c\u5305\u62ec\u6559\u7a0b\u3001\u7535\u5f71\u3001\u76f4\u64ad\u7b49\n- **\u5730\u56fe\u641c\u7d22** - \u5730\u7406\u4f4d\u7f6e\u67e5\u8be2\uff0c\u67e5\u627e\u5730\u70b9\u3001\u5730\u6807\u6216\u5bfc\u822a\u4fe1\u606f\n- **\u97f3\u4e50\u641c\u7d22** - \u641c\u7d22\u97f3\u4e50\u3001\u6b4c\u66f2\u3001\u4e13\u8f91\u6216\u97f3\u9891\u8d44\u6e90\n- **IT\u641c\u7d22** - \u4e13\u95e8\u641c\u7d22\u4fe1\u606f\u6280\u672f\u76f8\u5173\u5185\u5bb9\uff0c\u9002\u7528\u4e8e\u7f16\u7a0b\u3001\u7cfb\u7edf\u3001\u7f51\u7edc\u7b49\u6280\u672f\u95ee\u9898\n- **\u79d1\u5b66\u641c\u7d22** - \u641c\u7d22\u79d1\u5b66\u4fe1\u606f\uff0c\u9002\u7528\u4e8e\u7269\u7406\u3001\u5316\u5b66\u3001\u751f\u7269\u3001\u6570\u5b66\u7b49\u5b66\u672f\u5185\u5bb9\n- **\u6587\u4ef6\u641c\u7d22** - \u641c\u7d22\u53ef\u4e0b\u8f7d\u7684\u516c\u5171\u6587\u4ef6\uff0c\u5982 PDF\u3001PPT\u3001DOC \u7b49\u683c\u5f0f\n- **\u793e\u4ea4\u5a92\u4f53\u641c\u7d22** - \u641c\u7d22\u793e\u4ea4\u5a92\u4f53\u5e73\u53f0\u7684\u516c\u5f00\u5185\u5bb9\n- **\u901f\u7387\u9650\u5236** - \u9632\u6b62 API \u6ee5\u7528\n- **\u5168\u9762\u7684\u9519\u8bef\u5904\u7406** - \u63d0\u4f9b\u8be6\u7ec6\u7684\u9519\u8bef\u4fe1\u606f\u548c\u6545\u969c\u6392\u9664\u5efa\u8bae\n- **\u591a\u79cd\u8f93\u51fa\u683c\u5f0f** - \u652f\u6301 HTML \u548c JSON \u683c\u5f0f\u8f93\u51fa\n\n## \u7cfb\u7edf\u8981\u6c42\n\n- Python 3.10 \u6216\u66f4\u9ad8\u7248\u672c\n- MCP \u517c\u5bb9\u5ba2\u6237\u7aef\uff08\u5982 Claude Desktop\u3001Cursor\uff09\n- \u53ef\u8bbf\u95ee\u7684 SearXNG \u5b9e\u4f8b\n\n## \u5b89\u88c5\u6b65\u9aa4\n\n### \u65b9\u5f0f\u4e00\uff1a\u901a\u8fc7 uvx \u5b89\u88c5\uff08\u63a8\u8350\uff09\n\n```bash\nuvx mcp-server-freesearch\n```\n\n### \u65b9\u5f0f\u4e8c\uff1a\u4ece\u6e90\u7801\u5b89\u88c5\n\n1. \u514b\u9686\u6b64\u4ed3\u5e93\uff1a\n   ```bash\n   git clone <repository-url>\n   cd mcp-server-freesearch\n   ```\n\n2. \u5b89\u88c5\u4f9d\u8d56\uff1a\n   ```bash\n   uv venv\n   source .venv/bin/activate  # Windows \u7cfb\u7edf: .venv\\Scripts\\activate\n   uv pip install -e .\n   ```\n\n## \u914d\u7f6e\n\n### **\u5efa\u8bae** docker \u642d\u5efasearx\n\n- \u6784\u5efa\n```shell\ndocker pull docker.io/searxng/searxng:latest\n# Create directories for configuration and persistent data\n$ mkdir -p ./searxng/config/ ./searxng/data/\n$ cd ./searxng/\n\n# Run the container\n$ docker run --name searxng --replace -d \\\n    -p 8888:8080 \\\n    -v \"./config/:/etc/searxng/\" \\\n    -v \"./data/:/var/cache/searxng/\" \\\n    docker.io/searxng/searxng:latest\n```\n- \u914d\u7f6e\u652f\u6301json\u8f93\u51fa\n```shell\nvim ./searxng/config/settings.yml\n```\n\n\u627e\u5230\u4e0b\u9762\u7684format\u914d\u7f6e\u9879\uff0c\u6dfb\u52a0json\n```yaml\n  ...\n  # formats: [html, csv, json, rss]\n  formats:\n    - html\n    - json\n```\n---\n\n### \u8bbe\u7f6e\u6240\u9700\u7684\u73af\u5883\u53d8\u91cf\uff1a\n\n```bash\nexport SEARXNG_API_URL=\"https://searx.bndkt.io\"  # SearXNG \u5b9e\u4f8b URL\nexport SEARXNG_COOKIE=\"\"  # \u53ef\u9009\uff1aSearXNG Cookie\nexport SEARXNG_USER_AGENT=\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36\"  # \u53ef\u9009\uff1a\u7528\u6237\u4ee3\u7406\nexport SEARXNG_REQUEST_TIMEOUT=\"10\"  # \u53ef\u9009\uff1a\u8bf7\u6c42\u8d85\u65f6\u65f6\u95f4\uff08\u79d2\uff09\nexport ENV_FASTMCP_LOG_LEVEL=\"WARNING\"  # \u53ef\u9009\uff1a\u65e5\u5fd7\u7ea7\u522b\n```\n\nWindows \u7cfb\u7edf\uff1a\n```cmd\nset SEARXNG_API_URL=https://searx.bndkt.io\nset SEARXNG_COOKIE=\nset SEARXNG_USER_AGENT=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36\nset SEARXNG_REQUEST_TIMEOUT=10\nset ENV_FASTMCP_LOG_LEVEL=WARNING\n```\n\n## \u4f7f\u7528\u65b9\u6cd5\n\n### \u8fd0\u884c\u670d\u52a1\u5668\n\n\u901a\u8fc7 uvx \u8fd0\u884c\uff08\u63a8\u8350\uff09\uff1a\n```bash\nuvx mcp-server-freesearch\n```\n\n\u6216\u8005\u4ece\u6e90\u7801\u76f4\u63a5\u8fd0\u884c\uff1a\n```bash\npython main.py\n```\n\n### \u5f00\u53d1\u548c\u6d4b\u8bd5\n\n\u4f7f\u7528 MCP Inspector \u8fdb\u884c\u6d4b\u8bd5\uff1a\n```bash\nnpx @modelcontextprotocol/inspector python main.py\n```\n\n### \u914d\u7f6e Claude Desktop\n\n\u5c06\u4ee5\u4e0b\u914d\u7f6e\u6dfb\u52a0\u5230 Claude Desktop \u914d\u7f6e\u6587\u4ef6\u4e2d\uff1a\n- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`\n- Windows: `%APPDATA%\\Claude\\claude_desktop_config.json`\n\n```json\n{\n  \"mcpServers\": {\n    \"free-search\": {\n      \"command\": \"uvx\",\n      \"args\": [\n        \"mcp-server-freesearch\"\n      ],\n      \"env\": {\n        \"SEARXNG_API_URL\": \"https://searx.bndkt.io\"\n      }\n    }\n  }\n}\n```\n\n\u5982\u679c\u4f60\u662f\u4ece\u6e90\u7801\u8fd0\u884c\uff0c\u5219\u4f7f\u7528\uff1a\n```json\n{\n  \"mcpServers\": {\n    \"free-search\": {\n      \"command\": \"python\",\n      \"args\": [\n        \"/path/to/your/mcp-server-freesearch/main.py\"\n      ],\n      \"env\": {\n        \"SEARXNG_API_URL\": \"https://searx.bndkt.io\"\n      }\n    }\n  }\n}\n```\n\n## \u53ef\u7528\u5de5\u5177\n\n### 1. free_general_search\n\u7528\u4e8e\u7efc\u5408\u6027\u641c\u7d22\uff0c\u6700\u9002\u5408\u67e5\u627e\u4fe1\u606f\u3001\u7f51\u7ad9\u3001\u6587\u7ae0\u548c\u4e00\u822c\u5185\u5bb9\u3002\n\n\u793a\u4f8b\uff1a\"\u6cd5\u56fd\u7684\u9996\u90fd\u662f\u4ec0\u4e48\uff1f\" \u6216 \"\u5de7\u514b\u529b\u66f2\u5947\u98df\u8c31\"\n\n### 2. free_news_search\n\u4e13\u95e8\u7528\u4e8e\u65b0\u95fb\u76f8\u5173\u67e5\u8be2\uff0c\u6700\u9002\u5408\u65f6\u4e8b\u3001\u6700\u65b0\u53d1\u5c55\u548c\u65f6\u6548\u6027\u4fe1\u606f\u3002\n\n\u793a\u4f8b\uff1a\"\u6c14\u5019\u53d8\u5316\u6700\u65b0\u65b0\u95fb\" \u6216 \"\u6700\u65b0\u79d1\u6280\u516c\u544a\"\n\n### 3. free_image_search\n\u7528\u4e8e\u67e5\u627e\u56fe\u7247\uff0c\u6700\u9002\u5408\u89c6\u89c9\u5185\u5bb9\u67e5\u8be2\u3002\n\n\u793a\u4f8b\uff1a\"\u91d1\u6bdb\u72ac\u56fe\u7247\" \u6216 \"\u57c3\u83f2\u5c14\u94c1\u5854\u7167\u7247\"\n\n### 4. free_video_search\n\u7528\u4e8e\u641c\u7d22\u89c6\u9891\u5185\u5bb9\uff0c\u6700\u9002\u5408\u6559\u7a0b\u3001\u7535\u5f71\u3001\u76f4\u64ad\u6216\u77ed\u89c6\u9891\u3002\n\n\u793a\u4f8b\uff1a\"Python \u5165\u95e8\u89c6\u9891\" \u6216 \"\u6700\u65b0 NASA \u7eaa\u5f55\u7247\"\n\n### 5. free_map_search\n\u7528\u4e8e\u5730\u7406\u4f4d\u7f6e\u67e5\u8be2\uff0c\u6700\u9002\u5408\u67e5\u627e\u5730\u70b9\u3001\u5730\u6807\u6216\u5bfc\u822a\u76f8\u5173\u4fe1\u606f\u3002\n\n\u793a\u4f8b\uff1a\"\u4e0a\u6d77\u5916\u6ee9\u5728\u54ea\u91cc\uff1f\" \u6216 \"\u6700\u8fd1\u7684\u5730\u94c1\u7ad9\"\n\n### 6. free_music_search\n\u7528\u4e8e\u67e5\u627e\u97f3\u4e50\u3001\u6b4c\u66f2\u3001\u4e13\u8f91\u6216\u97f3\u9891\u8d44\u6e90\u3002\n\n\u793a\u4f8b\uff1a\"\u5468\u6770\u4f26\u9752\u82b1\u74f7\" \u6216 \"\u8d1d\u591a\u82ac\u6708\u5149\u594f\u9e23\u66f2\"\n\n### 7. free_it_search\n\u7528\u4e8e\u641c\u7d22\u4fe1\u606f\u6280\u672f\u76f8\u5173\u5185\u5bb9\uff0c\u6700\u9002\u5408\u7f16\u7a0b\u3001\u7cfb\u7edf\u3001\u7f51\u7edc\u548c\u5b89\u5168\u7b49\u6280\u672f\u95ee\u9898\u3002\n\n\u793a\u4f8b\uff1a\"\u5982\u4f55\u4fee\u590d\u84dd\u5c4f\u9519\u8bef\uff1f\" \u6216 \"\u67e5\u770b\u5185\u5b58\u7684 Linux \u547d\u4ee4\"\n\n### 8. free_science_search\n\u7528\u4e8e\u67e5\u627e\u79d1\u5b66\u4fe1\u606f\uff0c\u9002\u7528\u4e8e\u7269\u7406\u3001\u5316\u5b66\u3001\u751f\u7269\u548c\u6570\u5b66\u7b49\u5b66\u672f\u5185\u5bb9\u3002\n\n\u793a\u4f8b\uff1a\"\u5149\u5408\u4f5c\u7528\u7684\u8fc7\u7a0b\" \u6216 \"\u9ed1\u6d1e\u662f\u5982\u4f55\u5f62\u6210\u7684\"\n\n### 9. free_file_search\n\u7528\u4e8e\u67e5\u627e\u53ef\u4e0b\u8f7d\u7684\u516c\u5171\u6587\u4ef6\uff0c\u5982 PDF\u3001PPT\u3001DOC \u7b49\u683c\u5f0f\u3002\n\n\u793a\u4f8b\uff1a\"\u673a\u5668\u5b66\u4e60\u5165\u95e8 PDF\" \u6216 \"\u5e74\u5ea6\u8d22\u52a1\u62a5\u544a\u4e0b\u8f7d\"\n\n### 10. free_social_media_search\n\u7528\u4e8e\u641c\u7d22\u793e\u4ea4\u5a92\u4f53\u5e73\u53f0\u7684\u516c\u5f00\u5185\u5bb9\uff0c\u9002\u5408\u6355\u83b7\u63a8\u6587\u3001\u8ba8\u8bba\u548c\u793e\u4ea4\u6d3b\u52a8\u3002\n\n\u793a\u4f8b\uff1a\"\u5173\u4e8e AI \u7684\u70ed\u95e8\u63a8\u6587\" \u6216 \"Reddit \u8fdc\u7a0b\u5de5\u4f5c\u8ba8\u8bba\"\n\n## \u53c2\u6570\u8bf4\u660e\n\n\u6240\u6709\u641c\u7d22\u5de5\u5177\u90fd\u652f\u6301\u4ee5\u4e0b\u53c2\u6570\uff1a\n\n- `query` (string, \u5fc5\u9700): \u641c\u7d22\u67e5\u8be2\u5b57\u7b26\u4e32\n- `language` (string, \u53ef\u9009): \u641c\u7d22\u8bed\u8a00\uff0c\u9ed8\u8ba4\u4e3a \"zh\"\uff08\u4e2d\u6587\uff09\n- `safe_search` (int, \u53ef\u9009): \u5b89\u5168\u641c\u7d22\u7b49\u7ea7\uff0c\u9ed8\u8ba4\u4e3a 1\uff08\u9664\u56fe\u7247\u3001\u89c6\u9891\u7b49\u4e3a 0\uff09\n- `time_range` (string, \u53ef\u9009): \u65f6\u95f4\u8303\u56f4\u8fc7\u6ee4\u5668\uff0c\u9ed8\u8ba4\u4e3a\u7a7a\n- `output_format` (string, \u53ef\u9009): \u8f93\u51fa\u683c\u5f0f\uff0c\"html\" \u6216 \"json\"\uff0c\u9ed8\u8ba4\u4e3a \"html\"\n\n## \u8f93\u51fa\u683c\u5f0f\n\n\u6240\u6709\u641c\u7d22\u7ed3\u679c\u90fd\u683c\u5f0f\u5316\u4e3a\u6587\u672c\uff0c\u6bcf\u4e2a\u7ed3\u679c\u9879\u5305\u542b\u4e0d\u540c\u7684\u5b57\u6bb5\uff1a\n\n- **\u7efc\u5408\u641c\u7d22**: \u6807\u9898\u3001URL \u548c\u63cf\u8ff0\n- **\u65b0\u95fb\u641c\u7d22**: \u6807\u9898\u3001URL\u3001\u63cf\u8ff0\u3001\u53d1\u5e03\u65e5\u671f\u548c\u63d0\u4f9b\u8005\n- **\u56fe\u7247\u641c\u7d22**: \u6807\u9898\u3001\u6765\u6e90 URL\u3001\u56fe\u7247 URL \u548c\u5c3a\u5bf8\n- **\u89c6\u9891\u641c\u7d22**: \u6807\u9898\u3001\u94fe\u63a5\u3001\u63cf\u8ff0\u3001\u53d1\u5e03\u5e73\u53f0\u548c\u65f6\u957f\uff08\u5982\u9002\u7528\uff09\n- **\u5176\u4ed6\u7c7b\u522b**: \u6807\u9898\u3001\u94fe\u63a5\u3001\u63cf\u8ff0\uff08\u4ee5\u53ca\u4e0e\u7c7b\u522b\u76f8\u5173\u7684\u9644\u52a0\u4fe1\u606f\uff09\n\n## \u6545\u969c\u6392\u9664\n\n1. **\"\u672a\u627e\u5230\u641c\u7d22\u7ed3\u679c\"** - \u68c0\u67e5\u7f51\u7edc\u8fde\u63a5\u548c SearXNG \u5b9e\u4f8b\u72b6\u6001\n2. **\"Rate limit exceeded\"** - \u7b49\u5f85\u4e00\u6bb5\u65f6\u95f4\u540e\u91cd\u8bd5\uff0c\u6216\u68c0\u67e5\u901f\u7387\u9650\u5236\u8bbe\u7f6e\n3. **\u8fde\u63a5\u9519\u8bef** - \u9a8c\u8bc1 SEARXNG_API_URL \u662f\u5426\u6b63\u786e\u4e14\u53ef\u8bbf\u95ee\n4. **JSON \u89e3\u6790\u9519\u8bef** - \u68c0\u67e5 SearXNG \u5b9e\u4f8b\u662f\u5426\u8fd4\u56de\u6709\u6548\u7684\u54cd\u5e94\u683c\u5f0f\n\n## \u53d1\u5e03\u5230 PyPI\n\n\u5982\u679c\u4f60\u60f3\u53d1\u5e03\u6b64\u5305\u5230 PyPI\uff1a\n\n1. \u5b89\u88c5\u6784\u5efa\u5de5\u5177\uff1a\n   ```bash\n   uv pip install build twine\n   ```\n\n2. \u6784\u5efa\u5305\uff1a\n   ```bash\n   python -m build\n   ```\n\n3. \u4e0a\u4f20\u5230 PyPI\uff1a\n   ```bash\n   python -m twine upload dist/*\n   ```\n\n\u6ce8\u610f\uff1a\u8bf7\u786e\u4fdd\u5728 `pyproject.toml` \u4e2d\u66f4\u65b0\u7248\u672c\u53f7\u548c\u4ed3\u5e93 URL\u3002\n\n\n## \u8bb8\u53ef\u8bc1\n\n\u672c\u9879\u76ee\u57fa\u4e8e MIT \u8bb8\u53ef\u8bc1\u5f00\u6e90\u3002\n\n## \u8d21\u732e\n\n\u6b22\u8fce\u63d0\u4ea4 Issue \u548c Pull Request \u6765\u6539\u8fdb\u6b64\u9879\u76ee\u3002\n\n## \u652f\u6301\n\n\u5982\u679c\u9047\u5230\u95ee\u9898\uff0c\u8bf7\u68c0\u67e5\uff1a\n1. Python \u7248\u672c\u662f\u5426\u7b26\u5408\u8981\u6c42\n2. \u6240\u6709\u4f9d\u8d56\u662f\u5426\u6b63\u786e\u5b89\u88c5\n3. \u73af\u5883\u53d8\u91cf\u662f\u5426\u6b63\u786e\u8bbe\u7f6e\n4. SearXNG \u5b9e\u4f8b\u662f\u5426\u53ef\u8bbf\u95ee\n\n\u66f4\u591a\u6280\u672f\u652f\u6301\uff0c\u8bf7\u63d0\u4ea4 Issue \u5230\u9879\u76ee\u4ed3\u5e93\u3002\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "\u57fa\u4e8e SearXNG \u7684\u514d\u8d39\u641c\u7d22 MCP \u670d\u52a1\u5668",
    "version": "0.1.2",
    "project_urls": {
        "Homepage": "https://github.com/wzj177/mcp-server-freesearch",
        "Issues": "https://github.com/wzj177/mcp-server-freesearch/issues",
        "Repository": "https://github.com/wzj177/mcp-server-freesearch"
    },
    "split_keywords": [
        "mcp",
        " search",
        " searxng",
        " web-search",
        " model-context-protocol"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cd5b88a47f122f61e7df6d3c03f1ddb24e0138770953c1ff1e34e648b93dc014",
                "md5": "0c7f9d1876b4fa5ccf5e5b32a3392340",
                "sha256": "24af238092dfa58bea4f0d1a36280cebf5db1c2eed2b98008eba5b9a0aaabc57"
            },
            "downloads": -1,
            "filename": "mcp_server_freesearch-0.1.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "0c7f9d1876b4fa5ccf5e5b32a3392340",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 14759,
            "upload_time": "2025-08-07T13:54:50",
            "upload_time_iso_8601": "2025-08-07T13:54:50.744522Z",
            "url": "https://files.pythonhosted.org/packages/cd/5b/88a47f122f61e7df6d3c03f1ddb24e0138770953c1ff1e34e648b93dc014/mcp_server_freesearch-0.1.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0fcc00edd615a273a1d69b24249c327309bb03c7633d90d8c7329e793026df9d",
                "md5": "20d4baf6e02302fe39e6fd6247a91e27",
                "sha256": "d4880c49b623d72482f41b57bb051633f51e138a8b12dac09d483bb3f7488a39"
            },
            "downloads": -1,
            "filename": "mcp_server_freesearch-0.1.2.tar.gz",
            "has_sig": false,
            "md5_digest": "20d4baf6e02302fe39e6fd6247a91e27",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 17840,
            "upload_time": "2025-08-07T13:54:52",
            "upload_time_iso_8601": "2025-08-07T13:54:52.186252Z",
            "url": "https://files.pythonhosted.org/packages/0f/cc/00edd615a273a1d69b24249c327309bb03c7633d90d8c7329e793026df9d/mcp_server_freesearch-0.1.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-07 13:54:52",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "wzj177",
    "github_project": "mcp-server-freesearch",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "mcp-server-freesearch"
}
        
Elapsed time: 1.01785s