mirror of
https://github.com/open-webui/openapi-servers.git
synced 2026-08-24 12:02:55 -04:00
[PR #57] [MERGED] feat: Add Google Programmable Search Engine (PSE) Tool Server #13
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/open-webui/openapi-servers/pull/57
Author: @taylorwilsdon
Created: 7/17/2025
Status: ✅ Merged
Merged: 9/1/2025
Merged by: @tjbck
Base:
main← Head:google_pse📝 Commits (6)
2ab5136Update README.md1e69956Update README.mdab5ac99Update README.mdb30ad45Merge branch 'open-webui:main' into main089ecbdadd Google PSE OpenAPI tool server549ed08revert readme change📊 Changes
5 files changed (+388 additions, -0 deletions)
View changed files
➕
servers/google-pse/Dockerfile(+51 -0)➕
servers/google-pse/README.md(+154 -0)➕
servers/google-pse/compose.yaml(+6 -0)➕
servers/google-pse/main.py(+172 -0)➕
servers/google-pse/requirements.txt(+5 -0)📄 Description
This PR allows for "magic" native tool calling for web search without downstream scraping - very useful while still preserving the core Open WebUI Web Search capabilities for things that require greater research.
Summary
This PR introduces a new FastAPI-based server that provides web search functionality using Google's Programmable Search Engine via the Custom Search JSON API. The server offers a clean, RESTful interface for performing web searches with comprehensive filtering and configuration options.
What's New
Core Features
Files Added
servers/google-pse/main.py- FastAPI application with search endpointsservers/google-pse/Dockerfile- Multi-stage Docker build with security best practicesservers/google-pse/compose.yaml- Docker Compose configurationservers/google-pse/requirements.txt- Python dependenciesservers/google-pse/README.md- Comprehensive documentation🔧 Technical Details
API Endpoints
GET /search- Main search endpoint with comprehensive query parametersGET /health- Health check endpointKey Parameters
q(search query)num,start,safe,lr,cr,dateRestrict,exactTerms,excludeTerms,fileType,siteSearch,siteSearchFilterConfiguration
Requires two environment variables:
GOOGLE_API_KEY- Google API key with Custom Search API enabledGOOGLE_PSE_CX- Programmable Search Engine IDSecurity & Best Practices
Testing
The server can be tested locally with:
Or with Docker:
Documentation
/docs/openapi.json🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.