mcp-server-local-web-search
7
This project is an MCP server focused on performing local web searches and extracting content through the Model Context Protocol. It includes features like customizable web searches, content truncation, and integration with the Readability library for improved content extraction.
mcp-server-local-web-search
An MCP server for performing local web searches. This server provides tools to search and extract content from web pages through the Model Context Protocol.
Features
- Perform web searches with customizable result limits
- Extract and process content from web pages
- Return structured results with titles, URLs, and descriptions
- Support for content truncation and domain filtering
- Clean content extraction using Readability
- Headless browser operation for improved performance
Installation
To install dependencies:
bun install
Setup
Run the setup script to configure the MCP server:
bun run setup.ts
This will add the server to your Claude MCP configuration.
Available Tools
local_web_search
- Performs web search and returns results with title, URL and description
- Parameters:
query
: Search query to find relevant content (required)excludeDomains
: List of domains to exclude from search results (default: [])limit
: Maximum number of results to return (default: 5)truncate
: Maximum length of content to return per result (default: 4000)show
: Show browser window for debugging (default: false)proxy
: Proxy server to use for requests (optional)
Requirements
- Bun runtime
- Node.js TypeScript support
Development
This project uses:
- Bun as the JavaScript runtime
- TypeScript for type safety
- Model Context Protocol SDK for server implementation
- @egoist/local-web-search for web search (using playwright-core)
- Readability for content extraction
Contributors
- egoist - Original local web search author
- FradSer - Original author
- TheSethRose - Playwright integration and performance improvements
License
MIT License
This project was created using bun init
in bun v1.2.2. Bun is a fast all-in-one JavaScript runtime.