【技术文档摘要】
<html> <head> <meta name="google-site-verification" content="7IUYOCgEkfkiWIEriwc2wXkKfrWOHg2SzPp8BKGEh7g" /> </head> </html>一组与SerpAPI和YouTube集成的Model Context Protocol (MCP)服务器,为AI助手提供搜索能力和数据检索。
该项目提供了几个MCP服务器,使像Claude这样的AI助手能够执行各种搜索操作并从以下来源检索数据:
每个服务器都设计为与模型上下文协议(MCP)兼容,使得易于集成支持此协议的AI助手,如桌面版Claude或Grok。
serpapi_google_search.py)serpapi_google_news.py)serpapi_google_scholar.py)serpapi_google_trend.py)serpapi_google_finance.py)serpapi_google_maps.py)serpapi_google_images.py)serpapi_youtube_search.py)youtube_transcript.py)git clone https://github.com/yourusername/serpapi-mcp-server.git
cd serpapi-mcp-server
python -m venv .venv
source .venv/bin/activate # 在Windows上:.venv\Scripts\activate
pip install -r requirements.txt
.env.example创建项目根目录下的.env文件:cp .env.example .env
.env文件并添加您的SerpAPI API密钥:SERPAPI_API_KEY=your_api_key_here
保存服务器代码:将服务器代码放在一个文件中,例如server.py。
配置API密钥:在同一目录下创建一个包含您的SerpApi API密钥的.env文件:
SERPAPI_API_KEY=your_api_key_here
python src/serpapi_google_search.py # 或任何其他服务器文件
claude_desktop_config.json文件中:{
"mcpServers": {
"serpapi-google-search": {
"type": "stdio",
"command": "path/to/python",
"args": [
"path/to/serpapi-mcp-server/src/serpapi_google_search.py"
],
"env": {
"PYTHONPATH": "path/to/site-packages"
}
},
"serpapi-youtube-search": {
"type": "stdio",
"command": "path/to/python",
"args": [
"path/to/serpapi-mcp-server/src/serpapi_youtube_search.py"
],
"env": {
"PYTHONPATH": "path/to/site-packages"
}
},
"serpapi-google-news": {
"type": "stdio",
"command": "path/to/python",
"args": [
"path/to/serpapi-mcp-server/src/serpapi_google_news.py"
],
"env": {
"PYTHONPATH": "path/to/site-packages"
}
},
"serpapi-google-trend": {
"type": "stdio",
"command": "path/to/python",
"args": [
"path/to/serpapi-mcp-server/src/serpapi_google_trend.py"
],
"env": {
"PYTHONPATH": "path/to/site-packages"
}
},
"serpapi-google-scholar": {
"type": "stdio",
"command": "path/to/python",
"args": [
"path/to/serpapi-mcp-server/src/serpapi_google_scholar.py"
],
"env": {
"PYTHONPATH": "path/to/site-packages"
}
},
"serpapi-google-finance": {
"type": "stdio",
"command": "path/to/python",
"args": [
"path/to/serpapi-mcp-server/src/serpapi_google_finance.py"
],
"env": {
"PYTHONPATH": "path/to/site-packages"
}
},
"serpapi-google-maps": {
"type": "stdio",
"command": "path/to/python",
"args": [
"path/to/serpapi-mcp-server/src/serpapi_google_maps.py"
],
"env": {
"PYTHONPATH": "path/to/site-packages"
}
},
"serpapi-google-images": {
"type": "stdio",
"command": "path/to/python",
"args": [
"path/to/serpapi-mcp-server/src/serpapi_google_images.py"
],
"env": {
"PYTHONPATH": "path/to/site-packages"
}
},
"youtube-transcript": {
"type": "stdio",
"command": "path/to/python",
"args": [
"path/to/serpapi-mcp-server/src/youtube_transcript.py"
],
"env": {
"PYTHONPATH": "path/to/site-packages"
}
}
}
}
确保您的SerpAPI密钥设置在项目根目录下的.env文件中。
重启桌面版Claude以加载新配置。
您现在可以直接在与Claude的对话中使用这些搜索功能。
这里有一些如何使用这些服务器与桌面版Claude的示例:
请搜索“气候变化解决方案”并总结前几个结果。
查找有关人工智能的最新新闻。
查找关于量子计算的近期学术论文。
当前技术领域的热门话题是什么?
查看苹果公司(AAPL)的当前股价和财务信息。
查找纽约中央公园附近的咖啡店。
搜索“北极光”的图片并描述您看到的内容。
搜索Python编程教程视频。
获取这个YouTube视频的字幕:https://www.youtube.com/watch?v=dQw4w9WgXcQ
每个服务器支持各种参数以微调您的搜索。以下是每个服务器的所有参数:
q: 搜索查询num: 结果数量(1-100)start: 分页结果偏移量(基于1的索引)location: 搜索位置gl: 谷歌搜索国家代码(例如,'us', 'uk')hl: 语言代码(例如,'en', 'es')device: 设备类型('desktop', 'mobile', 'tablet')safe: 安全搜索设置('active', 'off')filter: 过滤重复内容('0'关闭,'1'开启)time_period: 按时间过滤(例如,'d'过去一天)exactTerms: 应该精确出现的词或短语include_domains: 包含在搜索结果中的域名列表exclude_domains: 排除在搜索结果之外的域名列表raw_json: 返回完整的原始JSON响应(布尔值)readable_json: 返回markdown格式化的文本结果(布尔值)q: 搜索查询gl: 国家代码(例如,'us', 'uk')hl: 语言代码(例如,'en', 'es')publication_token: 在特定出版物内搜索topic_token: 在特定主题内搜索story_token: 获取特定故事的全面覆盖section_token: 在特定部分内搜索so: 排序方法('0'相关性,'1'日期)raw_json: 返回完整的原始JSON响应(布尔值)readable_json: 返回markdown格式化的文本结果(布尔值)q: 搜索查询hl: 语言代码(例如,'en', 'es')lr: 语言限制(例如,'lang_fr|lang_de')start: 分页结果偏移量num: 结果数量(1-20)cites: 引用搜索的IDas_ylo: 时间范围的起始年份as_yhi: 时间范围的结束年份scisbd: 按日期排序(0相关性,1摘要,2所有)cluster: 所有版本搜索的IDas_sdt: 搜索类型或过滤器safe: 安全搜索设置('active', 'off')filter: 相似/省略结果的过滤器('0'关闭,'1'开启)as_vis: 包括引用('0'包括,'1'排除)as_rr: 只显示评论文章('0'所有,'1'仅评论)raw_json: 返回完整的原始JSON响应(布尔值)readable_json: 返回markdown格式化的文本结果(布尔值)q: 搜索查询(可以是多个查询,用逗号分隔)geo: 地理位置(例如,'US', 'GB')date: 时间范围(例如,'now 1-d', 'now 7-d', 'today 12-m')tz: 时区偏移量(分钟)data_type: 搜索类型(例如,'TIMESERIES', 'GEO_MAP')cat: 类别IDgprop: 属性过滤器(例如,'web', 'news', 'images')raw_json: 返回完整的原始JSON响应(布尔值)readable_json: 返回markdown格式化的文本结果(布尔值)q: 股票、指数、共同基金、货币或期货的搜索查询hl: 语言代码(例如,'en', 'es')window: 图表的时间范围(例如,'1D', '5D', '1M', '6M', 'YTD', '1Y', '5Y', 'MAX')raw_json: 返回完整的原始JSON响应(布尔值)readable_json: 返回markdown格式化的文本结果(布尔值)q: 搜索查询type: 搜索类型('search'或'place')place_id: 谷歌地图上的唯一地点参考data: 过滤搜索结果或搜索特定地点ll: GPS坐标,格式为'@纬度,经度,缩放'google_domain: 使用的谷歌域(默认为google.com)hl: 语言代码(例如,'en', 'es')gl: 国家代码(例如,'us', 'uk')start: 分页结果偏移量(整数)raw_json: 返回完整的原始JSON响应(布尔值)readable_json: 返回markdown格式化的文本结果(布尔值)q: 搜索查询location: 搜索位置uule: 谷歌编码的位置(不能与location一起使用)google_domain: 使用的谷歌域(默认为google.com)hl: 语言代码(例如,'en', 'es')gl: 国家代码(例如,'us', 'uk')cr: 国家限制(例如,'countryUS')device: 设备类型('desktop', 'tablet', 'mobile')ijn: 页面编号(零基索引)chips: 谷歌提供的建议搜索过滤字符串tbs: 高级搜索参数imgar: 图片的宽高比('s' - 正方形,'t' - 长形,'w' - 宽形,'xw' - 广角)imgsz: 图片大小('l' - 大型,'m' - 中型,'i' - 图标等)image_color: 图片颜色('red', 'blue', 'green', 'black', 'white'等)image_type: 图片类型('face', 'photo', 'clipart', 'lineart', 'animated')licenses: 许可范围('f' - 免费使用,'fc' - 免费商业使用等)safe: 安全搜索设置('active', 'off')nfpr: 排除自动更正的结果('1'排除,'0'包括)filter: 启用/禁用“相似结果”和“省略结果”过滤器time_period: 按时间过滤(例如,'d'过去一天)raw_json: 返回完整的原始JSON响应(布尔值)readable_json: 返回markdown格式化的文本结果(布尔值)search_query: 搜索查询gl: 国家代码(例如,'us', 'uk')hl: 语言代码(例如,'en', 'es')sp: 过滤参数(例如,'CAISAhAB'用于今天上传的视频)raw_json: 返回完整的原始JSON响应(布尔值)readable_json: 返回markdown格式化的文本结果(布尔值)v: YouTube视频IDgl: 国家代码(例如,'us', 'uk')hl: 语言代码(例如,'en', 'es')next_page_token: 用于检索相关视频、评论或回复的下一页的令牌raw_json: 返回完整的原始JSON响应(布尔值)readable_json: 返回markdown格式化的文本结果(布尔值)video_url: YouTube视频URL或IDwith_timestamps: 在字幕中包含时间戳(布尔值)language: 字幕的语言代码(默认:'en')preserve_formatting: 保留HTML格式元素(布尔值)cookies_path: 用于年龄受限视频的cookies.txt文件路径proxy: 请求使用的HTTPS代理raw_json: 返回完整的原始JSON响应(布尔值)readable_json: 返回人类可读的格式化文本(布尔值)text_transcript: 将字幕作为单个文本字符串返回(布尔值)本项目根据MIT许可证发布 - 查看LICENSE文件了解详情。