Integrations
SearchAPI.site - Servidor MCP
Este proyecto proporciona un servidor de Protocolo de Contexto de Modelo (MCP) que conecta a los asistentes de IA con fuentes de datos externas (Google, Bing, etc.) a través de SearchAPI.site .
Plataformas disponibles
- [x] Google - Búsqueda web
- [x] Google - Búsqueda de imágenes
- [x] Google - Búsqueda en YouTube
- [ ] Búsqueda en Google Maps
- [x] Bing - Búsqueda web
- [ ] Bing - Búsqueda de imágenes
- [ ] X/Twitter
- [ ] Búsqueda en Facebook
- [ ] Búsqueda de grupos de Facebook
- [ ] TikTok
SearchAPI.site
- Sitio web
- Documentación de la API
- Configuración de interfaz de usuario de Swagger
- Cree una clave API de búsqueda aquí
- GitHub
Transportes soportados
- [x] Transporte "stdio" : transporte predeterminado para el uso de CLI
- [x] Transporte"HTTP transmitible" : para clientes web
- [ ] Implementar autenticación (encabezados "Autorización" con
Bearer <token>
)
- [ ] Implementar autenticación (encabezados "Autorización" con
- [ ]
transporte "sse"(Obsoleto)
Cómo utilizar
CLI
Configuración de MCP
Para la configuración local con transporte stdio:
Para la configuración HTTP remota:
Variables de entorno para el transporte HTTP:
Puede configurar el servidor HTTP utilizando estas variables de entorno:
MCP_HTTP_HOST
: El host al que vincularse (predeterminado:127.0.0.1
)MCP_HTTP_PORT
: El puerto para escuchar (predeterminado:8080
)MCP_HTTP_PATH
: La ruta del punto final (predeterminado:/mcp
)
Descripción general del código fuente
¿Qué es MCP?
El Protocolo de Contexto de Modelo (MCP) es un estándar abierto que permite a los sistemas de IA conectarse de forma segura y contextual con herramientas y fuentes de datos externas.
Esta plantilla implementa la especificación MCP con una arquitectura limpia y en capas que puede ampliarse para crear servidores MCP personalizados para cualquier API o fuente de datos.
¿Por qué utilizar este texto estándar?
- Arquitectura lista para producción : sigue el mismo patrón utilizado en los servidores MCP publicados, con una clara separación entre CLI, herramientas, controladores y servicios.
- Seguridad de tipos : creado con TypeScript para mejorar la experiencia del desarrollador, la calidad del código y la facilidad de mantenimiento.
- Ejemplo de trabajo : incluye una herramienta de búsqueda de IP completamente implementada que demuestra el patrón completo desde la CLI hasta la integración de API.
- Marco de pruebas : incluye infraestructura de pruebas para pruebas de integración unitarias y CLI, incluidos informes de cobertura.
- Herramientas de desarrollo : incluye ESLint, Prettier, TypeScript y otras herramientas de calidad preconfiguradas para el desarrollo de servidores MCP.
Empezando
Prerrequisitos
- Node.js (>=18.x): Descargar
- Git : para el control de versiones
Paso 1: Clonar e instalar
Paso 2: Ejecutar el servidor de desarrollo
Inicie el servidor en modo de desarrollo con el transporte stdio (predeterminado):
O con el transporte HTTP Streamable:
Esto inicia el servidor MCP con recarga activa y habilita el Inspector MCP en http://localhost:5173 .
⚙️ El servidor proxy escucha en el puerto 6277 🔍 MCP Inspector está en funcionamiento en http://127.0.0.1:6274
Al utilizar el transporte HTTP, el servidor estará disponible en http://127.0.0.1:8080/mcp de forma predeterminada.
Paso 3: Pruebe la herramienta de ejemplo
Ejecute la herramienta de búsqueda de IP de ejemplo desde la CLI:
Arquitectura
Este modelo sigue un patrón de arquitectura limpio y en capas que separa las preocupaciones y promueve la capacidad de mantenimiento.
Estructura del proyecto
Capas y responsabilidades
Capa CLI ( src/cli/*.cli.ts
)
- Propósito : Definir interfaces de línea de comandos que analizan argumentos y llaman a controladores.
- Nombre : Los archivos deben llamarse
<feature>.cli.ts
- Pruebas : pruebas de integración de CLI en
<feature>.cli.test.ts
Capa de herramientas ( src/tools/*.tool.ts
)
- Propósito : Definir herramientas MCP con esquemas y descripciones para asistentes de IA.
- Nombre : Los archivos deben llamarse
<feature>.tool.ts
con tipos en<feature>.types.ts
- Patrón : Cada herramienta debe usar zod para la validación de argumentos
Capa de controladores ( src/controllers/*.controller.ts
)
- Propósito : Implementar lógica empresarial, manejar errores y dar formato a respuestas.
- Nombre : Los archivos deben llamarse
<feature>.controller.ts
- Patrón : Debe devolver objetos
ControllerResponse
estandarizados
Capa de servicios ( src/services/*.service.ts
)
- Propósito : Interactuar con API externas o fuentes de datos
- Nombre : Los archivos deben llamarse
<feature>.service.ts
- Patrón : Interacciones de API puras con lógica mínima
Capa de utilidades ( src/utils/*.util.ts
)
- Propósito : Proporcionar funcionalidad compartida en toda la aplicación.
- Utilidades clave :
logger.util.ts
: Registro estructuradoerror.util.ts
: Manejo de errores y estandarizaciónformatter.util.ts
: ayudantes de formato Markdown
Guía de desarrollo
Scripts de desarrollo
Pruebas
Calidad del código
Creación de herramientas personalizadas
Siga estos pasos para agregar sus propias herramientas al servidor:
1. Definir la capa de servicio
Cree un nuevo servicio en src/services/
para interactuar con su API externa:
2. Crear controlador
Agregue un controlador en src/controllers/
para manejar la lógica empresarial:
3. Implementar la herramienta MCP
Crea una definición de herramienta en src/tools/
:
4. Agregar compatibilidad con CLI
Cree un comando CLI en src/cli/
:
5. Registrar componentes
Actualice los puntos de entrada para registrar sus nuevos componentes:
Herramientas de depuración
Inspector de MCP
Acceda al Inspector visual de MCP para probar sus herramientas y ver los detalles de la solicitud/respuesta:
- Ejecutar
npm run dev:server
- Abra http://localhost:5173 en su navegador
- Pruebe sus herramientas y vea los registros directamente en la interfaz de usuario
Registros del servidor
Habilitar registros de depuración para el desarrollo:
Publicación de su servidor MCP
Cuando esté listo para publicar su servidor MCP personalizado:
- Actualice package.json con sus datos
- Actualice README.md con la documentación de su herramienta
- Construya el proyecto:
npm run build
- Pruebe la compilación de producción:
npm run start:server
- Publicar en npm:
npm publish
Licencia
Nota: Para garantizar la compatibilidad con versiones anteriores, el servidor también reconocerá las configuraciones con el nombre completo del paquete ( searchapi-mcp-server
) o con el nombre sin ámbito ( searchapi-mcp-server
) si no se encuentra la clave searchapi
. Sin embargo, se recomienda usar la clave searchapi
corta para las nuevas configuraciones.
You must be authenticated.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
Conecta asistentes de IA con fuentes de datos externas (Google, Bing, etc.) a través de SearchAPI.site, implementando el Protocolo de Contexto de Modelo (MCP) para un acceso seguro y contextual a la información web.
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.Last updated -12,8061,458TypeScriptMIT License
- AsecurityFlicenseAqualityAn MCP protocol server that enables web search functionality using the Tavily API, allowing AI assistants to perform internet searches in real-time.Last updated -42Python
- -securityFlicense-qualityA Model Context Protocol server that enables AI assistants like Claude to perform real-time web searches using the Exa AI Search API in a safe and controlled manner.Last updated -2,806
- AsecurityFlicenseAqualityA Model Context Protocol server that enables AI assistants to perform real-time web searches, retrieving up-to-date information from the internet via a Crawler API.Last updated -1448JavaScript