GitHub - fatwang2/search1api-mcp (original) (raw)

Search1API MCP Server

中文文档

A Model Context Protocol (MCP) server that provides search and crawl functionality using Search1API.

Prerequisites

Installation (Standalone / General)

  1. Clone the repository:
    git clone https://github.com/fatwang2/search1api-mcp.git
    cd search1api-mcp
  2. 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).
  3. 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.

Usage (Standalone / General)

Ensure your API key is configured (see Setup Guide).

Start the server:

The server will then be ready to accept connections from MCP clients.

Setup Guide

1. Get Search1API Key

  1. Register at Search1API
  2. Get your API key from your dashboard.

2. Configure API Key

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).

  1. In the search1api-mcp project root directory, create a file named .env:

In the search1api-mcp directory

echo "SEARCH1API_KEY=your_api_key_here" > .env 2. Replace your_api_key_here with your actual key. 3. Make sure this file exists before running 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.

Integration with LibreChat (Docker)

This section details the required steps for integrating with LibreChat via Docker.

Overview:

  1. Clone this server's repository into a location accessible by your LibreChat docker-compose.yml.
  2. Configure the required API key using the Project .env File method within this server's directory.
  3. Build this server.
  4. Tell LibreChat how to run this server by editing librechat.yaml.
  5. Make sure the built server code is available inside the LibreChat container via a Docker volume bind.
  6. Restart LibreChat.

Step-by-Step:

  1. **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 2. Navigate into the Server Directory: 3. 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

  1. **Install Dependencies and Build:**This step compiles the server code into the build directory.
    npm install
    npm run build
  2. **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

  1. **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

  1. **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.

Features

Tools

1. Search Tool

2. News Tool

3. Crawl Tool

4. Sitemap Tool

5. Reasoning Tool

Version History

License

This project is licensed under the MIT License - see the LICENSE file for details.