SearXNG MCP Server
SearXNG - A2A | AG-UI | MCP
버전: 0.1.56
개요
SearXNG MCP 서버 + A2A 서버
Model Context Protocol (MCP) 서버와 즉시 사용 가능한 Agent2Agent (A2A) 에이전트가 포함되어 있습니다.
MCP 서버를 통해 SearXNG를 사용하여 개인정보를 보호하는 웹 검색을 수행하세요!
이 저장소는 활발히 유지 관리되고 있으며 - 기여를 환영합니다!
지원 기능:
개인정보 보호 메타 검색
사용자 지정 가능한 검색 매개변수 (언어, 시간 범위, 카테고리, 엔진)
안전 검색 수준
페이지네이션 제어
기본 인증 지원
무작위 인스턴스 선택
MCP
MCP 도구
함수 이름 | 설명 | 태그 |
| 개인정보 보호 메타 검색 엔진인 SearXNG를 사용하여 웹 검색을 수행합니다. 사용자 지정 가능한 매개변수와 함께 관련 웹 콘텐츠를 반환합니다. |
|
MCP 서버로 사용하기
MCP 서버는 stdio (로컬 테스트용) 또는 http (네트워크 액세스용)의 두 가지 모드로 실행할 수 있습니다. 서버를 시작하려면 다음 명령어를 사용하세요:
stdio 모드로 실행 (기본값):
searxng-mcp --transport "stdio"HTTP 모드로 실행:
searxng-mcp --transport "http" --host "0.0.0.0" --port "8000"AI 프롬프트:
Search for information about artificial intelligenceAI 응답:
Search completed successfully. Found 10 results for "artificial intelligence":
1. **What is Artificial Intelligence?**
URL: https://example.com/ai
Content: Artificial intelligence (AI) refers to the simulation of human intelligence in machines...
2. **AI Overview**
URL: https://example.org/ai-overview
Content: AI encompasses machine learning, deep learning, and more...A2A 에이전트
이 패키지에는 SearXNG MCP 서버와 상호 작용하는 데 사용할 수 있는 A2A 에이전트 서버도 포함되어 있습니다.
아키텍처:
---
config:
layout: dagre
---
flowchart TB
subgraph subGraph0["Agent Capabilities"]
C["Agent"]
B["A2A Server - Uvicorn/FastAPI"]
D["MCP Tools"]
F["Agent Skills"]
end
C --> D & F
A["User Query"] --> B
B --> C
D --> E["Platform API"]
C:::agent
B:::server
A:::server
classDef server fill:#f9f,stroke:#333
classDef agent fill:#bbf,stroke:#333,stroke-width:2px
style B stroke:#000000,fill:#FFD600
style D stroke:#000000,fill:#BBDEFB
style F fill:#BBDEFB
style A fill:#C8E6C9
style subGraph0 fill:#FFF9C4구성 요소 상호 작용 다이어그램
sequenceDiagram
participant User
participant Server as A2A Server
participant Agent as Agent
participant Skill as Agent Skills
participant MCP as MCP Tools
User->>Server: Send Query
Server->>Agent: Invoke Agent
Agent->>Skill: Analyze Skills Available
Skill->>Agent: Provide Guidance on Next Steps
Agent->>MCP: Invoke Tool
MCP-->>Agent: Tool Response Returned
Agent-->>Agent: Return Results Summarized
Agent-->>Server: Final Response
Server-->>User: Output사용법
MCP CLI
짧은 플래그 | 긴 플래그 | 설명 |
-h | --help | 도움말 정보 표시 |
-t | --transport | 전송 방식: 'stdio', 'http', 또는 'sse' [레거시] (기본값: stdio) |
-s | --host | HTTP 전송을 위한 호스트 주소 (기본값: 0.0.0.0) |
-p | --port | HTTP 전송을 위한 포트 번호 (기본값: 8000) |
--auth-type | 인증 유형: 'none', 'static', 'jwt', 'oauth-proxy', 'oidc-proxy', 'remote-oauth' (기본값: none) | |
--token-jwks-uri | JWT 검증을 위한 JWKS URI | |
--token-issuer | JWT 검증을 위한 발급자 | |
--token-audience | JWT 검증을 위한 대상 | |
--oauth-upstream-auth-endpoint | OAuth 프록시를 위한 업스트림 인증 엔드포인트 | |
--oauth-upstream-token-endpoint | OAuth 프록시를 위한 업스트림 토큰 엔드포인트 | |
--oauth-upstream-client-id | OAuth 프록시를 위한 업스트림 클라이언트 ID | |
--oauth-upstream-client-secret | OAuth 프록시를 위한 업스트림 클라이언트 시크릿 | |
--oauth-base-url | OAuth 프록시를 위한 기본 URL | |
--oidc-config-url | OIDC 구성 URL | |
--oidc-client-id | OIDC 클라이언트 ID | |
--oidc-client-secret | OIDC 클라이언트 시크릿 | |
--oidc-base-url | OIDC 프록시를 위한 기본 URL | |
--remote-auth-servers | 원격 OAuth를 위한 인증 서버의 쉼표로 구분된 목록 | |
--remote-base-url | 원격 OAuth를 위한 기본 URL | |
--allowed-client-redirect-uris | 허용된 클라이언트 리디렉션 URI의 쉼표로 구분된 목록 | |
--eunomia-type | Eunomia 인증 유형: 'none', 'embedded', 'remote' (기본값: none) | |
--eunomia-policy-file | 임베디드 Eunomia를 위한 정책 파일 (기본값: mcp_policies.json) | |
--eunomia-remote-url | 원격 Eunomia 서버를 위한 URL |
A2A CLI
엔드포인트
웹 UI:
http://localhost:8000/(활성화된 경우)A2A:
http://localhost:8000/a2a(검색:/a2a/.well-known/agent.json)AG-UI:
http://localhost:8000/ag-ui(POST)
짧은 플래그 | 긴 플래그 | 설명 | |
-h | --help | 도움말 정보 표시 | |
--host | 서버를 바인딩할 호스트 (기본값: 0.0.0.0) | ||
--port | 서버를 바인딩할 포트 (기본값: 9000) | ||
--reload | 자동 재시작 활성화 | ||
--provider | LLM 제공자: 'openai', 'anthropic', 'google', 'huggingface' | ||
--model-id | LLM 모델 ID (기본값: nvidia/nemotron-3-super) | ||
--base-url | LLM 기본 URL (OpenAI 호환 제공자용) | ||
--api-key | LLM API 키 | ||
--mcp-url | MCP 서버 URL (기본값: http://localhost:8000/mcp) | ||
--web | Pydantic AI 웹 UI 활성화 | False (환경 변수: ENABLE_WEB_UI) |
MCP 서버로 사용하기
MCP 서버는 stdio (로컬 테스트용) 또는 http (네트워크 액세스용)의 두 가지 모드로 실행할 수 있습니다. 서버를 시작하려면 다음 명령어를 사용하세요:
stdio 모드로 실행 (기본값):
searxng-mcp --transport "stdio"HTTP 모드로 실행:
searxng-mcp --transport "http" --host "0.0.0.0" --port "8000"AI 프롬프트:
Search for information about artificial intelligenceAI 응답:
Search completed successfully. Found 10 results for "artificial intelligence":
1. **What is Artificial Intelligence?**
URL: https://example.com/ai
Content: Artificial intelligence (AI) refers to the simulation of human intelligence in machines...
2. **AI Overview**
URL: https://example.org/ai-overview
Content: AI encompasses machine learning, deep learning, and more...에이전트 AI
searxng-mcp는 에이전트 AI 시스템에서 사용하도록 설계되었습니다. 에이전트가 SearXNG를 사용하여 웹을 검색할 수 있도록 하는 도구 세트를 제공합니다.
에이전트 간 통신 (A2A)
이 패키지에는 SearXNG MCP 서버와 상호 작용하는 데 사용할 수 있는 A2A 에이전트 서버도 포함되어 있습니다.
CLI
인수 | 설명 | 기본값 |
| 서버를 바인딩할 호스트 |
|
| 서버를 바인딩할 포트 |
|
| 자동 재시작 활성화 |
|
| LLM 제공자 (openai, anthropic, google, huggingface) |
|
| LLM 모델 ID |
|
| LLM 기본 URL (OpenAI 호환 제공자용) |
|
| LLM API 키 |
|
| MCP 서버 URL |
|
| 허용된 MCP 도구 목록 |
|
예시
A2A 서버 실행
searxng-agent --provider openai --model-id gpt-4 --api-key sk-... --mcp-url http://localhost:8000/mcpDocker로 실행
docker run -e CMD=searxng-agent -p 8000:8000 searxng-mcpDocker
빌드
docker build -t searxng-mcp .MCP 서버 실행
docker run -p 8000:8000 searxng-mcpA2A 서버 실행
docker run -e CMD=searxng-agent -p 8001:8001 searxng-mcpMCP 서버를 서비스로 배포
ServiceNow MCP 서버는 구성 가능한 인증, 미들웨어 및 Eunomia 권한 부여를 사용하여 Docker로 배포할 수 있습니다.
Docker Run 사용
docker pull knucklessg1/searxng-mcp:latest
docker run -d \
--name searxng-mcp \
-p 8004:8004 \
-e HOST=0.0.0.0 \
-e PORT=8004 \
-e TRANSPORT=http \
-e AUTH_TYPE=none \
-e EUNOMIA_TYPE=none \
-e SEARXNG_URL=https://searxng.example.com \
-e SEARXNG_USERNAME=user \
-e SEARXNG_PASSWORD=pass \
-e USE_RANDOM_INSTANCE=false \
knucklessg1/searxng-mcp:latest고급 인증(예: JWT, OAuth 프록시, OIDC 프록시, 원격 OAuth) 또는 Eunomia의 경우 관련 환경 변수를 추가하세요:
docker run -d \
--name searxng-mcp \
-p 8004:8004 \
-e HOST=0.0.0.0 \
-e PORT=8004 \
-e TRANSPORT=http \
-e AUTH_TYPE=oidc-proxy \
-e OIDC_CONFIG_URL=https://provider.com/.well-known/openid-configuration \
-e OIDC_CLIENT_ID=your-client-id \
-e OIDC_CLIENT_SECRET=your-client-secret \
-e OIDC_BASE_URL=https://your-server.com \
-e ALLOWED_CLIENT_REDIRECT_URIS=http://localhost:*,https://*.example.com/* \
-e EUNOMIA_TYPE=embedded \
-e EUNOMIA_POLICY_FILE=/app/mcp_policies.json \
-e SEARXNG_URL=https://searxng.example.com \
-e SEARXNG_USERNAME=user \
-e SEARXNG_PASSWORD=pass \
-e USE_RANDOM_INSTANCE=false \
knucklessg1/searxng-mcp:latestDocker Compose 사용
docker-compose.yml 파일을 생성합니다:
services:
searxng-mcp:
image: knucklessg1/searxng-mcp:latest
environment:
- HOST=0.0.0.0
- PORT=8004
- TRANSPORT=http
- AUTH_TYPE=none
- EUNOMIA_TYPE=none
- SEARXNG_URL=https://searxng.example.com
- SEARXNG_USERNAME=user
- SEARXNG_PASSWORD=pass
- USE_RANDOM_INSTANCE=false
ports:
- 8004:8004인증 및 Eunomia를 포함한 고급 설정의 경우:
services:
searxng-mcp:
image: knucklessg1/searxng-mcp:latest
environment:
- HOST=0.0.0.0
- PORT=8004
- TRANSPORT=http
- AUTH_TYPE=oidc-proxy
- OIDC_CONFIG_URL=https://provider.com/.well-known/openid-configuration
- OIDC_CLIENT_ID=your-client-id
- OIDC_CLIENT_SECRET=your-client-secret
- OIDC_BASE_URL=https://your-server.com
- ALLOWED_CLIENT_REDIRECT_URIS=http://localhost:*,https://*.example.com/*
- EUNOMIA_TYPE=embedded
- EUNOMIA_POLICY_FILE=/app/mcp_policies.json
- SEARXNG_URL=https://searxng.example.com
- SEARXNG_USERNAME=user
- SEARXNG_PASSWORD=pass
- USE_RANDOM_INSTANCE=false
ports:
- 8004:8004
volumes:
- ./mcp_policies.json:/app/mcp_policies.json서비스 실행:
docker-compose up -dAI 통합을 위한 mcp.json 구성
{
"mcpServers": {
"searxng": {
"command": "uv",
"args": [
"run",
"--with",
"searxng-mcp",
"searxng-mcp"
],
"env": {
"SEARXNG_URL": "https://searxng.example.com",
"SEARXNG_USERNAME": "user",
"SEARXNG_PASSWORD": "pass",
"USE_RANDOM_INSTANCE": "false"
},
"timeout": 300000
}
}
}Python 패키지 설치
python -m pip install searxng-mcpuv pip install searxng-mcp저장소 소유자
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Knuckles-Team/searxng-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server