GitHubスター
3
ユーザー評価
未評価
フォーク
1
イシュー
2
閲覧数
2
お気に入り
0
SearXNG MCP Bridge Server
This is a Model Context Protocol (MCP) server that acts as a bridge to a SearXNG instance. It allows compatible clients to perform searches using a configured SearXNG instance via MCP tools.
Quick Start (Using from npm)
Set up a SearXNG instance:
# Using Docker docker run -d -p 8888:8080 --name searxng searxng/searxng
Install and run the MCP bridge:
# Run directly with npx npx @nitish-raj/searxng-mcp-bridge
Configure in your MCP settings file: Add to your MCP settings file (e.g.,
~/.vscode-server/data/User/globalStorage/rooveterinaryinc.roo-cline/settings/mcp_settings.json
):{ "mcpServers": { "searxng-bridge": { "command": "npx", "args": ["@nitish-raj/searxng-mcp-bridge"], "env": { "SEARXNG_INSTANCE_URL": "YOUR_SEARXNG_INSTANCE_URL" # Replace with your instance URL (e.g., http://localhost:8888 or a public one) }, "disabled": false } } }
Features
- Provides an MCP tool named
search
. - Connects to a SearXNG instance specified by an environment variable.
- Returns search results from SearXNG in JSON format.
Prerequisites
- Node.js and npm installed.
- A running SearXNG instance accessible from where this server will run.
Installation & Configuration
Installing via Smithery
To install searxng-mcp-bridge for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @nitish-raj/searxng-mcp-bridge --client claude
Option 1: Using npm (Recommended)
Install the package globally:
npm install -g @nitish-raj/searxng-mcp-bridge
Add to MCP Settings: Add the following configuration to your MCP settings file (e.g.,
~/.vscode-server/data/User/globalStorage/rooveterinaryinc.roo-cline/settings/mcp_settings.json
):{ "mcpServers": { "searxng-bridge": { "command": "mcp-searxng-bridge", "env": { "SEARXNG_INSTANCE_URL": "YOUR_SEARXNG_INSTANCE_URL" # Replace with your instance URL (e.g., http://localhost:8888 or a public one) }, "disabled": false, "alwaysAllow": ["search"] // Optional: Allow search without confirmation } } }
- Crucially, set the
SEARXNG_INSTANCE_URL
environment variable in theenv
section to the URL of the SearXNG instance the bridge should connect to (e.g.,http://localhost:8888
or a public instance likehttps://searx.space/
). This variable is mandatory.
- Crucially, set the
Option 2: From Source
Clone the repository:
git clone https://github.com/nitish-raj/searxng-mcp-bridge.git cd searxng-mcp-bridge npm install npm run build
Add to MCP Settings: Add the following configuration to your MCP settings file:
{ "mcpServers": { "searxng-bridge": { "command": "node", "args": [ "/path/to/searxng-mcp-bridge/build/index.js" // Adjust path if needed ], "env": { "SEARXNG_INSTANCE_URL": "YOUR_SEARXNG_INSTANCE_URL" # Replace with your instance URL (e.g., http://localhost:8888 or a public one) }, "disabled": false } } }
- Replace
/path/to/searxng-mcp-bridge/build/index.js
with the actual path to the built server file.
- Replace
Restart MCP Client: Restart the application using MCP (e.g., VS Code with the Roo extension) to load the new server configuration.
Setting up SearXNG
You need a running SearXNG instance to use this bridge. Here are some options:
Using Docker (Recommended):
docker run -d -p 8888:8080 --name searxng searxng/searxng
Using Docker Compose: Create a
docker-compose.yml
file:version: '3' services: searxng: image: searxng/searxng ports: - "8888:8080" restart: unless-stopped
Then run:
docker-compose up -d
For more advanced configuration options, refer to the SearXNG documentation.
Usage
Once configured, you can instruct your MCP client (like Roo) to use the tool:
"Use the searxng-bridge search tool to search for 'your query'"
Development
npm install
: Install dependencies.npm run build
: Compile TypeScript to JavaScript.npm run watch
: Watch for changes and rebuild automatically.npm run inspector
: Run the MCP inspector to test the server.
Release Process
This project uses GitHub Actions for continuous integration and deployment:
Initial Setup (First-time only)
Push the code to GitHub:
# Initialize git if not already done git init git add . git commit -m "Initial commit" # Add your GitHub repository as remote git remote add origin https://github.com/nitish-raj/searxng-mcp-bridge.git git push -u origin main
Set up npm access:
# Login to npm (you'll need an npm account) npm login # Generate an access token for GitHub Actions # Go to npmjs.com → User Settings → Access Tokens → Generate New Token
Add the npm token to GitHub repository secrets:
- Go to your GitHub repository
- Navigate to Settings → Secrets and variables → Actions
- Click "New repository secret"
- Name:
NPM_TOKEN
- Value: [Your npm access token]
- Click "Add secret"
Validate your package before publishing (optional):
- After pushing your code to GitHub, go to the "Actions" tab
- Select the "Validate Package" workflow
- Click "Run workflow"
- This will build and pack your package without publishing it
- You can download the packed package as an artifact to inspect it
Release Process
Continuous Integration: Every push to main and pull request is automatically built and tested.
Release Management: When a new version is ready to be released:
# For a patch release (0.1.0 -> 0.1.1) npm run release:patch # For a minor release (0.1.0 -> 0.2.0) npm run release:minor # For a major release (0.1.0 -> 1.0.0) npm run release:major
This will:
- Update the version in
package.json
. - Automatically update
CHANGELOG.md
based on commit messages since the last tag (usingconventional-changelog-cli
). Ensureconventional-changelog-cli
is installed (npm install --save-dev conventional-changelog-cli
) and use Conventional Commits (e.g.,feat: ...
,fix: ...
) for meaningful changelog entries. - Create a git commit and tag locally.
- Update the version in
Publishing:
# Push the commit and tag git push && git push --tags
The GitHub Actions workflow will automatically:
- Build the project
- Publish to npm
- Create a GitHub release
The CHANGELOG.md
file is automatically updated by the release script based on conventional commit messages.
Contributing
Contributions are welcome!
Please see the GitHub repository for contribution guidelines.
21
フォロワー
10
リポジトリ
0
Gist
58
貢献数