MCP-NAV v0.3.0
Servidor MCP para navegar modelcontextprotocol.io con características avanzadas.
Características
- Navegación y búsqueda en modelcontextprotocol.io
- Caché de contenido con Redis
- Búsqueda semántica con Elasticsearch
- Gestión de usuarios y autenticación
- Métricas con Prometheus
- Trazabilidad con OpenTelemetry
- Logging estructurado con structlog
Requisitos
- Python 3.11+
- Redis 5.0+
- Elasticsearch 8.12+
- Docker 20.10+ (opcional)
- Docker Compose 2.0+ (opcional)
Instalación
Usando Poetry
# Instalar dependencias
poetry install
# Activar entorno virtual
poetry shell
Usando Docker
# Construir imagen
docker build -t mcp-nav .
# Ejecutar contenedor
docker run -p 9090:9090 mcp-nav
Usando Docker Compose
# Levantar servicios
docker-compose up -d
Configuración
La configuración se realiza mediante variables de entorno:
| Variable | Descripción | Valor por defecto |
|---|---|---|
| MCP_NAV_PORT | Puerto del servidor | 9090 |
| MCP_NAV_HOST | Host del servidor | 0.0.0.0 |
| MCP_NAV_REDIS_HOST | Host de Redis | localhost |
| MCP_NAV_REDIS_PORT | Puerto de Redis | 6379 |
| MCP_NAV_ES_HOST | Host de Elasticsearch | localhost |
| MCP_NAV_ES_PORT | Puerto de Elasticsearch | 9200 |
| MCP_NAV_CACHE_TTL | TTL del caché (segundos) | 3600 |
| MCP_NAV_JWT_SECRET | Clave secreta para JWT | your-secret-key |
API REST
Usuarios
Crear usuario
POST /users/
Content-Type: application/json
{
"email": "[email protected]",
"name": "John Doe",
"password": "secret"
}
Obtener usuario
GET /users/{user_id}
Actualizar usuario
PUT /users/{user_id}
Content-Type: application/json
{
"name": "Jane Doe"
}
Eliminar usuario
DELETE /users/{user_id}
Actualizar foto de perfil
PUT /users/{user_id}/profile-picture?picture_url=https://example.com/photo.jpg
Desarrollo
Pruebas
# Ejecutar pruebas
poetry run pytest
# Con cobertura
poetry run pytest --cov=app
Linting y Formateo
# Formatear código
poetry run black app tests
# Ordenar imports
poetry run isort app tests
# Verificar tipos
poetry run mypy app
# Linting
poetry run pylint app
Pre-commit
El proyecto usa pre-commit para verificar el código antes de cada commit:
# Instalar hooks
poetry run pre-commit install
# Ejecutar manualmente
poetry run pre-commit run --all-files
Métricas y Monitoreo
- Métricas expuestas en
/metrics(Prometheus) - Trazas con OpenTelemetry
- Logs estructurados con structlog
Licencia
Este proyecto está licenciado bajo los términos de la licencia MIT.
Recommend MCP Servers 💡
help116114/zoomeye-mcp-server
提供ZoomEye v2 API访问的MCP服务器,支持网络资产搜索、用户信息查询及数据 summarization 等功能
Createve.AI Nexus Server
An open-source Model Context Protocol (MCP) and API bridge by RootUK, designed to securely connect AI agents with enterprise systems, real-time data, and custom AI models.
weather-mcp-server
A Model Context Protocol (MCP) server for weather data, built with FastAPI and the MCP framework. This server provides various weather-related tools that can be used by AI assistants to retrieve current weather conditions, forecasts, air quality data, and more.
@qian33/mcp-excel-server
A Node.js server implementing the Model Context Protocol (MCP) for performing operations on Excel files and managing local directories.
Shortcut
Shortcut is a project management platform that provides an MCP server to connect with AI tools like Cursor and Claude Code, enabling AI teammates to assist with tasks, PRs, and progress tracking.
OmniTaskAgent
A multi-model task management system that integrates with various task management solutions and editors via the MCP protocol, supporting task creation, decomposition, and analysis.