
MCP Server: Google Programmable Search Engine

2025.04.29
0
TypeScript搜索服务微服务插件搜索工具
MCP Server for Google Programmable Search Engine 是一个微服务插件(MCP),用于Claude Desktop或任何支持MCP的客户端。它通过HTTP请求代理到Google的自定义搜索API(Custom Search API),并返回结构化的JSON结果。该服务提供了缓存、日志记录、速率限制和监控等功能,适用于需要集成Google搜索能力的应用场景。
View on GitHub
Overview
基本能力
产品定位
MCP Server for Google Programmable Search Engine 是一个微服务插件,主要用于代理Google的自定义搜索API请求,适用于需要集成Google搜索能力的应用场景。
核心功能
- HTTP端点:提供
/health
、/search
、/filters
、/tools
、/metrics
和/docs
等端点。 - Redis缓存:支持TTL-based缓存,带有LRU内存回退和stale-while-revalidate策略。
- Prometheus监控:通过
/metrics
端点暴露监控数据。 - 速率限制:默认30请求/分钟,可配置。
- 结构化日志:使用Pino进行JSON日志记录。
- 热重载:开发模式下支持代码热重载。
- 易集成:通过
mcp_config.json
预配置,方便集成到Claude Desktop。
适用场景
- 需要集成Google搜索能力的应用。
- 需要缓存和速率限制的搜索服务。
- 需要监控和日志记录的微服务。
工具列表
- Node.js:运行环境。
- npm:包管理工具。
- Redis:可选缓存服务。
- Prometheus:监控工具。
- Pino:日志记录工具。
常见问题解答
- Missing API Key:确保
.env
文件中设置了GOOGLE_API_KEY
。 - Redis Errors:确保Redis服务运行且
REDIS_URL
配置正确。 - Rate Limit:调整
RATE_LIMIT_MAX
以增加速率限制。 - SSL Issues:检查网络和证书配置。
使用教程
使用依赖
- Node.js v14或更高版本
- npm v6或更高版本
- Google API Key(启用Custom Search API)
- Google Custom Search Engine ID (CSE ID)
- Redis实例(可选,推荐用于缓存)
安装教程
git clone https://github.com/1999AZZAR/mcp-server-google-search.git
cd mcp-server-google-search
npm install
npm run build
配置
创建.env
文件并配置以下变量:
GOOGLE_API_KEY=your_api_key_here
GOOGLE_CSE_ID=your_cse_id_here
PORT=3000
REDIS_URL=redis://localhost:6379
RATE_LIMIT_MAX=30
CACHE_TTL=3600
运行服务
- 生产环境:
npm start
- 开发环境:
npm run dev
(支持热重载)
调试方式
- 检查日志输出:使用Pino记录的JSON日志。
- 监控端点:访问
/metrics
查看Prometheus监控数据。 - 健康检查:访问
/health
和/ready
端点检查服务状态。
API参考
GET /health
返回200 OK
表示服务健康。
GET /search
执行Google自定义搜索。
示例:
curl "http://localhost:3000/search?q=weather+today"
GET /metrics
返回Prometheus格式的监控数据。
GET /docs
提供交互式Swagger UI文档。