by fatwang2
Provides web and news search, URL crawling, sitemap extraction, reasoning, and trending tools via Search1API, exposed as an MCP server for seamless integration with clients such as LibreChat, Claude Desktop, Cursor, and other MCP‑compatible tools.
The server offers a collection of tools that wrap Search1API capabilities—web search, news search, content crawling, sitemap extraction, deep‑reasoning with a fast model, and trending topic retrieval. It runs as a Model Context Protocol (MCP) service, allowing compatible clients to invoke these tools directly.
SEARCH1API_KEY
via a .env
file (recommended) or an environment variable.npm start
(or run through npx
as shown in the serverConfig
).librechat.yaml
) pointing to the built index.js
script..env
file in the project root.A Model Context Protocol (MCP) server that provides search and crawl functionality using Search1API.
Clone the repository:
git clone https://github.com/fatwang2/search1api-mcp.git
cd search1api-mcp
Configure API Key: Before building, you need to provide your Search1API key. See the Setup Guide section below for different methods (e.g., using a .env
file or environment variables).
Install dependencies and build:
npm install
npm run build
Note: If using the project's .env
file method for the API key, ensure it exists before this step.
Ensure your API key is configured (see Setup Guide).
Start the server:
npm start
The server will then be ready to accept connections from MCP clients.
You need to make your API key available to the server. Choose one of the following methods:
Method A: Project .env
File (Recommended for Standalone or LibreChat)
This method is required if integrating with the current version of LibreChat (see specific section below).
search1api-mcp
project root directory, create a file named .env
:
# In the search1api-mcp directory
echo "SEARCH1API_KEY=your_api_key_here" > .env
your_api_key_here
with your actual key.npm install && npm run build
.Method B: Environment Variable (Standalone Only)
Set the SEARCH1API_KEY
environment variable before starting the server.
export SEARCH1API_KEY="your_api_key_here"
npm start
Method C: MCP Client Configuration (Advanced)
Some MCP clients allow specifying environment variables directly in their configuration. This is useful for clients like Cursor, VS Code extensions, etc.
{
"mcpServers": {
"search1api": {
"command": "npx",
"args": [
"-y",
"search1api-mcp"
],
"env": {
"SEARCH1API_KEY": "YOUR_SEARCH1API_KEY"
}
}
}
}
Note for LibreChat Users: Due to current limitations in LibreChat, Method A (Project .env
File) is the required method. See the dedicated integration section below for full instructions.
This section details the required steps for integrating with LibreChat via Docker.
Overview:
docker-compose.yml
..env
File method within this server's directory.librechat.yaml
.Step-by-Step:
Clone the Repository:
Navigate to the directory on your host machine where you manage external services for LibreChat (this is often alongside your docker-compose.yml
). A common location is a dedicated mcp-server
directory.
# Example: Navigate to where docker-compose.yml lives, then into mcp-server
cd /path/to/your/librechat/setup/mcp-server
git clone https://github.com/fatwang2/search1api-mcp.git
Navigate into the Server Directory:
cd search1api-mcp
Configure API Key (Project .env
File Method - Required for LibreChat):
# Create the .env file
echo "SEARCH1API_KEY=your_api_key_here" > .env
# IMPORTANT: Replace 'your_api_key_here' with your actual Search1API key
Install Dependencies and Build:
This step compiles the server code into the build
directory.
npm install
npm run build
Configure librechat.yaml
:
Edit your main librechat.yaml
file to tell LibreChat how to execute this MCP server. Add an entry under mcp_servers
:
# In your main librechat.yaml
mcp_servers:
# You can add other MCP servers here too
search1api:
# Optional: Display name for the server in LibreChat UI
# name: Search1API Tools
# Command tells LibreChat to use 'node'
command: node
# Args specify the script for 'node' to run *inside the container*
args:
- /app/mcp-server/search1api-mcp/build/index.js
args
path (/app/...
) is the location inside the LibreChat API container where the built server will be accessed (thanks to the volume bind in the next step).Configure Docker Volume Bind:
Edit your docker-compose.yml
(or more likely, your docker-compose.override.yml
) to map the search1api-mcp
directory from your host machine into the LibreChat API container. Find the volumes:
section for the api:
service:
# In your docker-compose.yml or docker-compose.override.yml
services:
api:
# ... other service config ...
volumes:
# ... other volumes likely exist here ...
# Add this volume bind:
- ./mcp-server/search1api-mcp:/app/mcp-server/search1api-mcp
./mcp-server/search1api-mcp
): This is the path on your host machine relative to where your docker-compose.yml
file is located. Adjust it if you cloned the repo elsewhere.:/app/mcp-server/search1api-mcp
): This is the path inside the container. It must match the directory structure used in the librechat.yaml
args
path.Restart LibreChat:
Apply the changes by rebuilding (if you modified docker-compose.yml
) and restarting your LibreChat stack.
docker compose down && docker compose up -d --build
# Or: docker compose restart api (if only librechat.yaml changed)
Now, the Search1API server should be available as a tool provider within LibreChat.
search
query
(required): Search query in natural language. Be specific and concise for better resultsmax_results
(optional, default: 10): Number of results to returnsearch_service
(optional, default: "google"): Search service to use (google, bing, duckduckgo, yahoo, x, reddit, github, youtube, arxiv, wechat, bilibili, imdb, wikipedia)crawl_results
(optional, default: 0): Number of results to crawl for full webpage contentinclude_sites
(optional): List of sites to include in searchexclude_sites
(optional): List of sites to exclude from searchtime_range
(optional): Time range for search results ("day", "month", "year")news
query
(required): Search query in natural language. Be specific and concise for better resultsmax_results
(optional, default: 10): Number of results to returnsearch_service
(optional, default: "bing"): Search service to use (google, bing, duckduckgo, yahoo, hackernews)crawl_results
(optional, default: 0): Number of results to crawl for full webpage contentinclude_sites
(optional): List of sites to include in searchexclude_sites
(optional): List of sites to exclude from searchtime_range
(optional): Time range for search results ("day", "month", "year")crawl
url
(required): URL to crawlsitemap
url
(required): URL to get sitemapreasoning
content
(required): The question or problem that needs deep thinkingtrending
search_service
(required): Specify the platform to get trending topics from (github, hackernews)max_results
(optional, default: 10): Maximum number of trending items to return.env
support for LibreChat integration and updated dependencies.This project is licensed under the MIT License - see the LICENSE file for details.
Please log in to share your review and rating for this MCP.
{ "mcpServers": { "search1api": { "command": "npx", "args": [ "-y", "search1api-mcp" ], "env": { "SEARCH1API_KEY": "<YOUR_API_KEY>" } } } }
Discover more MCP servers with similar functionality and use cases
by exa-labs
Provides a Model Context Protocol server that enables AI assistants to perform real‑time web searches via the Exa AI Search API, with optional company research, LinkedIn lookup, and deep research workflows.
by perplexityai
Provides real-time web search capabilities to AI models via the Perplexity Sonar API, enabling seamless integration within the Model Context Protocol ecosystem.
by brightdata
Provides real‑time web access, bypasses geo‑restrictions, handles bot detection, and offers browser automation for LLMs and AI agents via the Model Context Protocol.
by mamertofabian
mcp-everything-search is a cross-platform MCP server that provides fast and flexible file searching capabilities. It leverages native system tools to efficiently locate files and folders across Windows, macOS, and Linux.
by kagisearch
Provides web search and video summarization capabilities via the Model Context Protocol, integrating with Claude and other AI tools.
by apify
mcp-server-rag-web-browser is an MCP server for the RAG Web Browser Actor, enabling AI agents and LLMs to perform web searches and extract information from web pages.
by meilisearch
Enables LLMs to manage Meilisearch indexes, perform searches, and handle documents through natural‑language conversations via a Model Context Protocol server.
by ihor-sokoliuk
mcp-searxng is an MCP (Model Context Protocol) server that integrates with SearXNG to provide web search capabilities for AI models and applications.
by adityak74
mcp-scholarly is a MCP server designed to facilitate the search for accurate academic articles, initially supporting arXiv and with plans to integrate more scholarly vendors.