AnySearch
Habilidad unificada de búsqueda en tiempo real para agentes de IA.
Documentación
Servidor MCP de AnySearch
English | 简体中文
Servidor MCP de búsqueda unificada en tiempo real que admite búsqueda web general, búsqueda vertical por dominio, búsqueda por lotes en paralelo y extracción de contenido completo de páginas URL.
Características
- Búsqueda web general — consultas abiertas en lenguaje natural
- Búsqueda vertical por dominio — consultas estructuradas en finanzas, académico, seguridad, legal, código y más
- Búsqueda por lotes en paralelo — ejecuta múltiples consultas independientes en una sola llamada
- Extracción de contenido URL — obtiene y extrae el contenido completo de la página como Markdown
- Acceso anónimo — funciona sin clave de API (con límites de velocidad más bajos)
Configuración de la clave de API
Una clave de API es opcional pero recomendada. Sin clave, todas las funciones siguen funcionando mediante acceso anónimo con límites de velocidad más bajos.
Registro para obtener una clave de API (recomendado)
El agente puede registrar al usuario y obtener una clave de API en una sola llamada — sin código de verificación, sin registro manual. Pide al usuario una dirección de correo electrónico real: se convertirá en el nombre de usuario de la cuenta.
curl -s -X POST "https://api.anysearch.com/v1/auth/email/register" \
-H "Content-Type: application/json" \
-d '{"email": "you@example.com"}'
La respuesta de éxito (code: 0) devuelve la información de la cuenta y una clave de API de un solo uso en texto plano:
{
"code": 0,
"message": "success",
"data": {
"username": "you@example.com",
"email": "you@example.com",
"login_url": "https://www.anysearch.com/login",
"api_key": {
"id": "key_xxxxxxxx",
"key": "as_sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"key_prefix": "as_sk_xxxxxx...",
"name": "default",
"rate_limit": 100,
"quota_limit": 0,
"expires_at": null,
"created_at": "2026-06-23T10:23:00Z"
}
}
}
Los campos de cuota como rate_limit son valores de respuesta específicos de la cuenta; no trates el ejemplo como un plan fijo.
En caso de éxito, el agente DEBE:
- Colocar
data.api_key.keyen la configuración del servidor MCP como el valor deAuthorization: Bearer <key>(y/o establecerANYSEARCH_API_KEY) — se muestra solo una vez (también se puede recuperar más tarde desde el panel). - Informar al usuario su nombre de usuario (= correo electrónico) y el
login_url.
Los errores pueden expresarse mediante el estado HTTP, el code a nivel de aplicación o message; no asumas que cada error usa code: -1:
| estado / código / mensaje | qué hacer |
|---|---|
Invalid email address. | pide al usuario que vuelva a ingresar el correo electrónico |
HTTP 409 o email_already_registered | el correo ya está en uso — dile al usuario que inicie sesión en login_url; no reintentes |
code: 42901, rate_limited o contiene Rate limited | prefiere un retraso de reintento de Retry-After, los datos de respuesta o el mensaje; si no se proporciona ninguno, detén las solicitudes repetidas y reintenta más tarde o usa acceso anónimo |
comienza con Key creation failed. | la cuenta se creó pero la clave falló — extrae el correo y la URL del mensaje ("Key creation failed. Your account <email> was created; sign in at <url>.") y dile al usuario que inicie sesión allí para crear una clave manualmente |
Internal server error. | reintenta más tarde o recurre al acceso anónimo |
El correo electrónico debe ser real y accesible.
Obtener una clave de API
Alternativamente, visita https://anysearch.com/console/api-keys para crear una clave de API gratuita.
Prioridad de la clave
| Prioridad | Fuente |
|---|---|
| 1 (más alta) | --api_key indicador CLI / Authorization encabezado |
| 2 | Variable de entorno ANYSEARCH_API_KEY |
| 3 | Archivo .env (ANYSEARCH_API_KEY=<key>) |
| 4 | Acceso anónimo (límites de velocidad más bajos) |
Comportamiento de la clave
| Escenario | Comportamiento |
|---|---|
| Sin clave | Continuar con acceso anónimo (límites de velocidad más bajos) |
| Con clave | Se envía mediante el encabezado Authorization: Bearer <key>, límites de velocidad más altos |
| Clave agotada, se devolvió clave registrada automáticamente | El agente debe pedir confirmación al usuario y luego persistir la nueva clave |
| Clave agotada, sin clave nueva | Informar al usuario y sugerir configurar una nueva clave de API |
Transporte MCP
El endpoint de producción es:
https://api.anysearch.com/mcp
Usa nativamente HTTP Streamable. Las versiones actuales de OpenCode, Claude Code, Cursor, VS Code, Cline, OpenAI Codex, Google Antigravity, DeepSeek Harness, Hermes Agent y OMP pueden conectarse directamente; no se necesita proxy SSE ni stdio. Las configuraciones a continuación siguen la documentación oficial actual de cada cliente.
Instalación
La clave de API es opcional. Cuando un cliente documenta el almacenamiento de variables de entorno o secretos para encabezados personalizados, los ejemplos usan la configuración autenticada recomendada. Cuando no lo hace, el ejemplo permanece anónimo y explica cómo agregar autenticación solo en la configuración privada del usuario. Para usar acceso anónimo en otros lugares, elimina solo la entrada Authorization y conserva X-Anysearch-Client.
OpenCode
Documentación oficial: Servidores MCP y ubicaciones de configuración.
Usa ~/.config/opencode/opencode.json para una configuración global o opencode.json en la raíz del proyecto. En Windows, la ruta global es %USERPROFILE%\.config\opencode\opencode.json.
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"anysearch": {
"type": "remote",
"url": "https://api.anysearch.com/mcp",
"enabled": true,
"oauth": false,
"headers": {
"Authorization": "Bearer {env:ANYSEARCH_API_KEY}",
"X-Anysearch-Client": "mcp/1.0.0"
}
}
}
}
OpenCode usa {env:NAME} para la sustitución de variables de entorno. "oauth": false evita un flujo innecesario de descubrimiento OAuth para este servidor autenticado con clave de API.
Después de guardar, ejecuta opencode mcp list y confirma que anysearch se muestra como connected.
Claude Code
Documentación oficial: Conecta Claude Code a herramientas mediante MCP.
Para una instalación privada a nivel de usuario, ejecuta:
claude mcp add --transport http anysearch https://api.anysearch.com/mcp --scope user --header 'Authorization: Bearer ${ANYSEARCH_API_KEY}' --header 'X-Anysearch-Client: mcp/1.0.0'
El alcance user almacena el servidor en ~/.claude.json y lo hace disponible en todos los proyectos de la máquina. Las comillas simples preservan la referencia de variable para que la clave en texto plano no se escriba en la configuración; establece ANYSEARCH_API_KEY antes de iniciar Claude Code. Para acceso anónimo, omite la opción Authorization --header.
Para una configuración de proyecto compartible, crea .mcp.json en la raíz del proyecto:
{
"mcpServers": {
"anysearch": {
"type": "http",
"url": "https://api.anysearch.com/mcp",
"headers": {
"Authorization": "Bearer ${ANYSEARCH_API_KEY}",
"X-Anysearch-Client": "mcp/1.0.0"
}
}
}
}
Claude Code expande ${VAR} y ${VAR:-default} en .mcp.json, incluso dentro de url y headers. Establece ANYSEARCH_API_KEY antes de iniciar Claude Code. Los servidores con alcance de proyecto requieren aprobación cuando se abren interactivamente por primera vez.
Verifica la conexión con:
claude mcp get anysearch
claude mcp list
Dentro de Claude Code, /mcp muestra el estado del servidor y las herramientas disponibles.
Cursor
Documentación oficial: Protocolo de contexto de modelo.
Usa .cursor/mcp.json para un proyecto o ~/.cursor/mcp.json globalmente:
{
"mcpServers": {
"anysearch": {
"url": "https://api.anysearch.com/mcp",
"headers": {
"Authorization": "Bearer ${env:ANYSEARCH_API_KEY}",
"X-Anysearch-Client": "mcp/1.0.0"
}
}
}
}
Cursor reconoce automáticamente el endpoint HTTP remoto y admite interpolación ${env:NAME} en url y headers.
Verifica la conexión en Personalizar > MCP o Salida > Registros MCP. Si el CLI de Cursor está instalado, también puedes ejecutar:
agent mcp list
agent mcp list-tools anysearch
VS Code
Documentación oficial: Agregar y administrar servidores MCP y Referencia de configuración MCP.
Ejecuta MCP: Abrir configuración de usuario para un servidor a nivel de usuario, o crea .vscode/mcp.json en un espacio de trabajo. Este ejemplo usa una entrada de contraseña para que la clave se solicite y almacene de forma segura en lugar de confirmarse:
{
"inputs": [
{
"type": "promptString",
"id": "anysearch-api-key",
"description": "AnySearch API key",
"password": true
}
],
"servers": {
"anysearch": {
"type": "http",
"url": "https://api.anysearch.com/mcp",
"headers": {
"Authorization": "Bearer ${input:anysearch-api-key}",
"X-Anysearch-Client": "mcp/1.0.0"
}
}
}
}
Para acceso anónimo, elimina la entrada Authorization y todo el arreglo inputs.
Ejecuta MCP: Listar servidores, selecciona anysearch y luego elige Iniciar o Mostrar salida para verificar la conexión. Ten en cuenta que ${input:...} funciona en VS Code local, pero los servidores que requieren entrada interactiva no se reenvían a Agent Host. Para configuraciones compartidas con Agent Host u otras herramientas de Copilot, usa un .mcp.json de espacio de trabajo o ~/.copilot/mcp-config.json de usuario y evita entradas interactivas.
Cline
Documentación oficial: MCP.
En el panel de Cline, abre Servidores MCP > Configurar > Configurar servidores MCP, o agrega un endpoint alojado desde la pestaña Servidores remotos. Usa el tipo explícito streamableHttp; omitirlo recurre al comportamiento SSE heredado.
{
"mcpServers": {
"anysearch": {
"type": "streamableHttp",
"url": "https://api.anysearch.com/mcp",
"headers": {
"Authorization": "Bearer ${env:ANYSEARCH_API_KEY}",
"X-Anysearch-Client": "mcp/1.0.0"
},
"disabled": false,
"autoApprove": []
}
}
}
El IDE de Cline admite ${env:VAR} en url, headers y env. Ejecuta cline mcp para abrir el asistente CLI, o cline config mcp --json para listar la configuración. La documentación web oficial aún nombra ~/.cline/mcp.json, mientras que el código fuente actual usa por defecto ~/.cline/data/settings/cline_mcp_settings.json; usa Configurar servidores MCP en el IDE o el asistente CLI para abrir el archivo efectivo en lugar de depender de una ruta codificada.
Las siguientes cinco entradas se verificaron contra la documentación de configuración de primera parte el 2026-08-27. Esto establece compatibilidad documentada con el cliente, no una certificación de conexión local de extremo a extremo.
OpenAI Codex
Documentación oficial: Protocolo de contexto de modelo.
Usa ~/.codex/config.toml globalmente o .codex/config.toml en un proyecto de confianza. El CLI de Codex, la extensión del IDE y la aplicación de escritorio comparten esta configuración:
[mcp_servers.anysearch]
url = "https://api.anysearch.com/mcp"
bearer_token_env_var = "ANYSEARCH_API_KEY"
http_headers = { "X-Anysearch-Client" = "mcp/1.0.0" }
Establece ANYSEARCH_API_KEY antes de iniciar Codex. Para acceso anónimo, elimina bearer_token_env_var. Ejecuta codex mcp list, o usa /mcp dentro del TUI de Codex, para confirmar que el servidor y sus herramientas están disponibles.
Google Antigravity
Documentación oficial: Servidores MCP en Antigravity.
Usa ~/.gemini/config/mcp_config.json globalmente o .agents/mcp_config.json en un espacio de trabajo. Los servidores remotos deben usar serverUrl; las claves heredadas url y httpUrl no son compatibles:
{
"mcpServers": {
"anysearch": {
"serverUrl": "https://api.anysearch.com/mcp",
"headers": {
"X-Anysearch-Client": "mcp/1.0.0"
}
}
}
}
La documentación oficial de Antigravity actualmente muestra valores literales de encabezados personalizados pero no documenta la interpolación de variables de entorno para encabezados remotos. Si se requiere autenticación, agrega "Authorization": "Bearer YOUR_API_KEY" solo al archivo global privado y nunca lo confirmes en .agents/mcp_config.json. Abre Servidores MCP > Administrar servidores MCP en el IDE, o ejecuta /mcp en el CLI, para inspeccionar el estado en vivo, los registros y las herramientas.
DeepSeek Harness
Fuentes oficiales: DeepSeek Harness y @deepseek-ai/dsh-mcp-client.
DeepSeek Harness configura MCP a través de su complemento Cordis de primera parte en lugar de un mcp.json independiente. Fusiona este parche en ~/.dsh/profiles/web/cordis.patch.yml (o el perfil correspondiente bajo $DSH_HOME):
- insert:
- id: mcp-anysearch
name: "@deepseek-ai/dsh-mcp-client"
config:
serverName: anysearch
transport: streamable-http
url: "https://api.anysearch.com/mcp"
headers:
Authorization: !!js '`Bearer ${process.env.ANYSEARCH_API_KEY}`'
X-Anysearch-Client: "mcp/1.0.0"
failOnStartupError: true
Establece ANYSEARCH_API_KEY, luego ejecuta npx @deepseek-ai/dsh --profile web --dump-config para verificar que el perfil incluye mcp-anysearch antes de iniciarlo con npx @deepseek-ai/dsh web. El complemento MCP actual expone solo herramientas; los recursos y avisos MCP aún no son compatibles. DeepSeek Harness es una vista previa para desarrolladores, así que vuelve a verificar la documentación del complemento vinculado al actualizar.
Hermes Agent
Documentación oficial: Integración MCP.
Agrega el servidor a $HERMES_HOME/config.yaml y almacena ANYSEARCH_API_KEY en $HERMES_HOME/.env o en el entorno del proceso. En macOS y Linux, $HERMES_HOME usa por defecto ~/.hermes; el instalador nativo de Windows actualmente usa por defecto %LOCALAPPDATA%\hermes:
mcp_servers:
anysearch:
url: "https://api.anysearch.com/mcp"
headers:
Authorization: "Bearer ${ANYSEARCH_API_KEY}"
X-Anysearch-Client: "mcp/1.0.0"
Verifícalo con hermes mcp test anysearch y hermes mcp list. Después de editar la configuración durante una sesión, ejecuta /reload-mcp o inicia una nueva sesión.
OMP (Oh My Pi)
Documentación oficial: Configuración MCP.
Usa .omp/mcp.json en un proyecto o ~/.omp/agent/mcp.json globalmente:
{
"$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/src/config/mcp-schema.json",
"mcpServers": {
"anysearch": {
"type": "http",
"url": "https://api.anysearch.com/mcp",
"headers": {
"Authorization": "Bearer ${ANYSEARCH_API_KEY}",
"X-Anysearch-Client": "mcp/1.0.0"
}
}
}
}
OMP expande ${VAR} y ${VAR:-default} en los valores de configuración. Establece ANYSEARCH_API_KEY, luego ejecuta /mcp reload, /mcp test anysearch y /mcp list dentro de OMP.
Referencia rápida del cliente
| Cliente | Conexión oficial | Ubicación de configuración | ¿HTTP Streamable directo? |
|---|---|---|---|
| OpenCode | Config MCP remota | ~/.config/opencode/opencode.json o proyecto opencode.json | Sí |
| Claude Code | MCP HTTP remoto | Usuario ~/.claude.json o proyecto .mcp.json | Sí |
| Cursor | Config MCP remota | .cursor/mcp.json o ~/.cursor/mcp.json | Sí |
| VS Code | Config MCP HTTP | Config de usuario local o .vscode/mcp.json; Agent Host usa .mcp.json / ~/.copilot/mcp-config.json | Sí |
| Cline | Streamable HTTP remoto | Abre la configuración efectiva a través del IDE de Cline o el asistente CLI | Sí |
| OpenAI Codex | Config MCP remota | ~/.codex/config.toml o proyecto de confianza .codex/config.toml | Sí |
| Google Antigravity | Config MCP remota usando serverUrl | ~/.gemini/config/mcp_config.json o espacio de trabajo .agents/mcp_config.json | Sí |
| DeepSeek Harness | Complemento cliente MCP de primera parte | $DSH_HOME/profiles/<name>/cordis.patch.yml | Sí |
| Hermes Agent | MCP HTTP remoto | $HERMES_HOME/config.yaml | Sí |
| OMP (Oh My Pi) | Config MCP HTTP | .omp/mcp.json o ~/.omp/agent/mcp.json | Sí |
Herramientas disponibles
search
Ejecuta una consulta de búsqueda — general o vertical por dominio.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
query | string | Sí | Consulta de búsqueda en lenguaje natural. UNA intención por llamada |
domain | string | No | Dominio vertical (p. ej. finance, academic, security). Debe provenir del enum get_sub_domains |
sub_domain | string | No | Clave de enrutamiento de subdominio (p. ej. finance.us_stock). Debe provenir de la salida de get_sub_domains |
sub_domain_params | object | No | Parámetros estructurados de la columna de parámetros de get_sub_domains. NUNCA inventar valores |
max_results | integer | No | 1–10, predeterminado 10 |
get_sub_domains
Consulta el directorio de dominios verticales. Obligatorio antes de cualquier búsqueda que use un dominio — devuelve sub_domains válidos y sus esquemas de parámetros.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
domain | string | Uno de | Dominio único a consultar |
domains | string[] | Uno de | Lote de hasta 5 dominios (preferido — cubre más terreno) |
Devuelve una tabla Markdown: sub_domain | description | params
batch_search
Ejecuta 1–5 consultas de búsqueda independientes en paralelo. Un fallo individual no bloquea a los demás.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
queries | object[] | Sí | 1–5 objetos de consulta, cada uno con los mismos campos que search |
extract
Obtiene el contenido completo de una página desde una URL y lo devuelve como Markdown. Se trunca a 50,000 caracteres. Solo páginas HTML.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
url | string | Sí | URL de destino (http:// o https://) |