{"slug": "introducing-mcp-bundle-support-for-serpapi", "title": "Introducing MCP Bundle Support for SerpApi", "summary": "SerpApi has introduced MCP Bundle (MCPB) support for its MCP server, allowing users to download the server as a .mcpb file and install it in desktop applications like Claude Desktop. The bundle enables AI assistants to access live search results from Google, Bing, YouTube, Amazon, and other sources via SerpApi, with the application handling installation and prompting for an API key. The release is available on GitHub Releases, and the bundle manifest is provided in the repository.", "body_md": "We've added MCP Bundle (MCPB) support to the [SerpApi MCP server](https://github.com/serpapi/serpapi-mcp). You can now download the server as a `.mcpb` file and install it in a desktop application that supports the bundle's format and runtime.\n\nThe server gives AI assistants access to live search results from Google, Bing, YouTube, Amazon, and other sources through SerpApi. You can use it to research a topic, compare shopping results, find local businesses, or look up academic papers. With a bundle, the application handles installation and prompts you for your API key.\n\nYou can download it from our [GitHub Releases](https://github.com/serpapi/serpapi-mcp/releases/latest).\n\n## What are MCP Bundles?\n\n[MCP Bundles](https://github.com/modelcontextprotocol/mcpb) package local Model Context Protocol servers for installation in desktop applications. Each `.mcpb` file is a ZIP archive with a `manifest.json` at its root. The manifest describes the server, its capabilities, and how the application should launch it.\n\nThe format's [manifest specification](https://github.com/modelcontextprotocol/mcpb/blob/main/MANIFEST.md) also covers configuration fields and compatibility requirements. A server can declare a required API key, for example, so the application can collect it during setup. Developers can specify the operating systems and runtime versions their server supports.\n\nMCPB is an open packaging format that other applications can implement. The [official repository](https://github.com/modelcontextprotocol/mcpb) contains the specification, packaging tools, and code used by Claude Desktop to load bundles. An application's ability to connect to MCP servers does not automatically mean it can install `.mcpb` files. It needs support for the bundle's manifest version and server runtime as well.\n\nOur SerpApi bundle runs the MCP server locally and sends search requests to SerpApi using your account. It includes the search tools and engine parameter schemas, along with the configuration needed to start the server. You can inspect the [bundle manifest in our repository](https://github.com/serpapi/serpapi-mcp/blob/main/mcpb/manifest.json).\n\n## Adding SerpApi MCP to the Claude Desktop app\n\nClaude Desktop is one application that supports MCP Bundles. This example uses its Extensions settings to install SerpApi, enter an API key, and run a search from a conversation.\n\nYou'll need the latest version of [Claude Desktop](https://claude.com/download) and a [SerpApi API key](https://serpapi.com/manage-api-key). You can [create a SerpApi account](https://serpapi.com/users/sign_up) if you don't have one yet.\n\n1. Download the bundle from [SerpApi MCP's GitHub Releases](https://github.com/serpapi/serpapi-mcp/releases/latest) . Under**Assets** , select the file ending in`.mcpb` , such as`serpapi-mcp-1.0.3.mcpb` .\n2. Open Claude Desktop and go to **Settings > Extensions** .\n\n1. Drag the downloaded `.mcpb` file onto the Extensions page and follow the installation prompts. When Claude asks for your**SerpApi API Key** , paste the key from your[SerpApi dashboard](https://serpapi.com/manage-api-key) into that field and complete the setup. Claude stores it as a sensitive setting and supplies it to the server as the`SERPAPI_API_KEY` environment variable.\n\nYou can also select the file through **Advanced settings > Install Extension...**, as described in [Claude's desktop extension instructions](https://support.claude.com/en/articles/10949351-getting-started-with-local-mcp-servers-on-claude-desktop).\n\nAfter installation, make sure that the SerpApi extension is enabled from the extension settings:\n\n1. Start a new conversation and ask Claude to use SerpApi. For example:\n\nUse SerpApi to search Google for \"best coffee shops in Austin\". Show the top organic results with their ranking positions, titles, and links.\n\nAllow Claude to use the SerpApi tool if prompted. You can then ask follow-up questions about the results in the same conversation.\n\nAfter the first search, try a more specific task:\n\nFind papers on Google Scholar about retrieval-augmented generation. Include the titles, authors, and publication links.\n\nYou can also ask for Google Shopping listings or YouTube tutorials. Name SerpApi and the search source in your prompt to specify which tool and data you want Claude to use.\n\nThe bundle also includes our MCP Apps tools for interactive search tables and dashboards in compatible hosts. We covered these views in [MCP Apps with FastMCP: Turning Tool Output Into Interactive UI](https://serpapi.com/blog/mcp-apps-with-fastmcp-interactive-ui/).\n\n## How to add MCP Bundle support to your server\n\nFor an existing local MCP server, start by preparing its runtime files and adding a manifest. The [official MCPB CLI](https://github.com/modelcontextprotocol/mcpb/blob/main/CLI.md) can generate that manifest interactively:\n\n```\nnpm install -g @anthropic-ai/mcpb\nmcpb init\n```\n\nRun `mcpb init` in the directory you intend to package. Fill in your server's metadata, entry point, and configuration, then prepare its dependencies according to the runtime you choose.\n\nThe [official packaging guidance](https://github.com/modelcontextprotocol/mcpb#language-choice-recommendation) recommends Node.js for reducing installation work in Claude Desktop because that application includes Node.js. MCPB also supports Python and compiled executables. The available server types are described in the [server configuration reference](https://github.com/modelcontextprotocol/mcpb/blob/main/MANIFEST.md#server-configuration):\n\n| Server type | What to package | \n|---|---|\n| Node.js ( `node` ) | Include the JavaScript entry point and its dependencies in `node_modules` . | \n| Python ( `python` ) | Include the Python entry point and dependencies in `server/lib/` or a bundled virtual environment. Declare the required Python version. | \n| Python with `uv` (`uv` ) | Include the source and `pyproject.toml` . A compatible host installs Python and the dependencies. This option requires manifest version 0.4 or later. | \n| Compiled executable ( `binary` ) | Include the executable and everything it needs to run on the target platform. | \n\nFor Node.js, the guidance recommends reproducible dependency installation with commands such as `npm ci`. Traditional Python bundles need care with compiled dependencies, which can depend on the operating system and processor architecture. For binaries, the recommendation is to prefer static linking or include required shared libraries, then test on a clean system.\n\nUse a `.mcpbignore` file to exclude development files from the archive. Once the runtime files are ready, validate the manifest and create the archive:\n\n```\nmcpb validate manifest.json\nmcpb pack . my-server.mcpb\n```\n\nInstall the finished bundle in your target application and check that it starts, accepts its configuration, and runs a tool successfully. Manifest validation checks the configuration's structure. An installation check exercises the packaged server.\n\n### How we package SerpApi\n\nOur server is written in Python, and we use the `uv` runtime. The bundle includes the source, engine schemas, `pyproject.toml`, and `uv.lock`. Its launch command uses `uv run --frozen --no-dev`, so the host installs the locked dependencies without including development dependencies. We keep installed packages and local virtual environments out of the archive.\n\nThe API-key field is declared as required and sensitive. Its value is passed to the server through `SERPAPI_API_KEY`, which our local entry point reads when making searches.\n\nOur [bundle build script](https://github.com/serpapi/serpapi-mcp/blob/main/mcpb/build.py) prepares the archive, checks its contents, and starts the packaged server over stdio for a smoke check. The release workflow attaches the resulting `.mcpb` file to a GitHub release. Developers can find the build instructions in the repository's [MCP Bundle documentation](https://github.com/serpapi/serpapi-mcp/tree/main/mcpb).\n\nDownload the SerpApi bundle from [GitHub Releases](https://github.com/serpapi/serpapi-mcp/releases/latest) and try it with your next research task, from comparing products to finding academic papers. We'd like to hear how you're using it and what would make it more useful. Share your feedback, suggest a feature, or report a problem in the [SerpApi MCP repository](https://github.com/serpapi/serpapi-mcp/issues).", "url": "https://wpnews.pro/news/introducing-mcp-bundle-support-for-serpapi", "canonical_source": "https://serpapi.com/blog/introducing-mcp-bundle-support-for-serpapi/", "published_at": "2026-09-09 10:59:18+00:00", "updated_at": "2026-09-09 11:12:08.338022+00:00", "lang": "en", "topics": ["ai-tools", "developer-tools"], "entities": ["SerpApi", "SerpApi MCP server", "MCP Bundle", "Claude Desktop", "GitHub Releases"], "alternates": {"html": "https://wpnews.pro/news/introducing-mcp-bundle-support-for-serpapi", "markdown": "https://wpnews.pro/news/introducing-mcp-bundle-support-for-serpapi.md", "text": "https://wpnews.pro/news/introducing-mcp-bundle-support-for-serpapi.txt", "jsonld": "https://wpnews.pro/news/introducing-mcp-bundle-support-for-serpapi.jsonld"}}