- Home
- MCP servers
- Custom Search
Custom Search
- python
0
GitHub Stars
python
Language
7 months ago
First Indexed
3 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"qingyun-wu-custom-search-api": {
"command": "python",
"args": [
"mcp_server/main.py",
"stdio"
],
"env": {
"CONFIG": "YOUR_CONFIG_JSON_STRING",
"SECURITY": "YOUR_SECURITY_PARAMETERS",
"CONFIG_PATH": "YOUR_CONFIG_PATH"
}
}
}
}You can run an MCP server to expose an OpenAPI-driven MCP endpoint for the Google Custom Search API. This server lets clients connect via standard MCP transports and negotiate conversations with agents, using a prebuilt configuration generated from the specified OpenAPI spec. It’s practical when you want a dedicated MCP service that orchestrates multi-agent interactions around the Custom Search API.
How to use
You interact with the MCP server through an MCP client. Start the server using the provided stdio transport, then connect your client to the local process. The server supports multiple transport methods, including stdio, server-sent events (sse), and streamable HTTP pipelines. Once running, your client can request search-related actions defined by the underlying OpenAPI-driven MCP configuration and receive coordinated responses from participating agents.
How to install
Prerequisites: Python 3.9 or newer, pip, and uv.
- Clone the project directory and navigate into it.
git clone <repository-url>
cd mcp-server
- Install dependencies using the editable dev install option. You can run the standard pip workflow or use uv to manage editable installs.
pip install -e ".[dev]"
uv pip install --editable ".[dev]"
Notes on running the server
To start the MCP server, run the stdio version of the main entry point. This launches a local process that your MCP client can attach to via standard input/output.
python mcp_server/main.py stdio
Configuration and security
Configure the server using environment variables. The following options are supported: CONFIG_PATH for the path to a JSON configuration file, CONFIG for a JSON string containing the configuration, and SECURITY for security-related parameters (such as API keys). These controls influence how the server loads settings and enforces access.
Building, testing, and quality checks
The project uses linting, static analysis, and tests to maintain quality. Run lint checks, format, static analysis, and tests as part of your development workflow to keep the codebase healthy.
Troubleshooting and notes
If you encounter issues starting the server, verify that Python 3.9+ is in use, dependencies are installed, and the environment variables are set correctly. Inspect error messages for guidance on missing config values or bad JSON in CONFIG_PATH. For transport-related problems, ensure the chosen MCP transport (stdio, sse, or streamable-http) is supported by your client and that the server process is reachable.
Examples and tips
Use the stdio transport during local development to keep a tight feedback loop with your MCP client. When deploying, consider switching to a more scalable transport such as streamable-http if your workflow requires remote clients to connect over HTTP.
Available tools
lint
Run lints and format checks to ensure code quality (ruff) and formatting (ruff format).
static-analysis
Perform static analysis including type checks (mypy) and additional security scans (bandit, semgrep).
tests
Execute unit and integration tests with coverage reporting.