Asterwise
Astrología védica y occidental para agentes de IA: cartas, dasha, compatibilidad, panchanga, numerología, tarot.
Documentación
Servidor MCP de Asterwise
Cálculos de astrología y adivinación como herramientas MCP. 103 herramientas que cubren astrología védica y occidental, numerología, tarot, cristales, sueños, cartas natales, Dasha, emparejamiento y Panchanga, con interpretaciones que siguen el método clásico de Jyotish. Cada posición se verifica contra una ejecución independiente de Swiss Ephemeris (asterwise.com/proof) y se contrasta con NASA JPL Horizons, con una mediana de 0,046 segundos de arco en 80 posiciones (asterwise.com/accuracy).
Inicio rápido (2 minutos)
Véalo primero: demostración de 46 segundos de Claude Desktop generando una carta a través de este servidor, y la verificación cruzada independiente con Swiss Ephemeris.
Obtenga su clave de API
Regístrese gratis en asterwise.com/dashboard: 500 llamadas al mes en el nivel Sandbox. Sin tarjeta de crédito. Sin límite de tiempo.
Conéctese a Claude Desktop
Añada a ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"asterwise": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.asterwise.com/mcp"
],
"env": {
"MCP_HEADER_AUTHORIZATION": "Bearer your-api-key-here"
}
}
}
}
Conéctese a Cursor
Añada a .cursor/mcp.json en su proyecto:
{
"mcpServers": {
"asterwise": {
"url": "https://mcp.asterwise.com/mcp",
"headers": {
"Authorization": "Bearer your-api-key-here"
}
}
}
}
Pruebe la conexión
curl https://mcp.asterwise.com/health
Autenticación
Se admiten tres métodos:
Método 1 — Clave de API (inicio rápido)
Pase su clave de API de Asterwise (comienza con aw_) ya sea como Authorization: Bearer <api-key> o como un encabezado X-API-Key: <api-key>. Ambos son equivalentes; use el que su cliente MCP pueda configurar.
Método 2 — OAuth 2.1 (producción)
Intercambie su clave de API por un token de corta duración:
curl -X POST https://mcp.asterwise.com/oauth/token \
-H "Content-Type: application/json" \
-d '{
"grant_type": "client_credentials",
"client_id": "your-api-key",
"client_secret": "your-api-key"
}'
Devuelve: {"access_token": "...", "expires_in": 3600, ...}
Use el token: Authorization: Bearer <access_token>
Los tokens de acceso son JWT HS256 sin estado. La clave de API se transporta dentro del token cifrada con una clave derivada de JWT_SECRET; solo aparece un hash SHA-256 de la clave en la reclamación sub. Mantenga JWT_SECRET privada.
Método 3 — Código de autorización OAuth 2.1 para clientes MCP (Claude, Cursor, VS Code, Smithery)
Los clientes MCP inician sesión de un usuario mediante el flujo estándar de código de autorización con PKCE (S256). El descubrimiento está en /.well-known/oauth-authorization-server. Se admiten dos formas para que un cliente se identifique:
- Documentos de metadatos de ID de cliente (especificación MCP actual, preferida): use una URL HTTPS como
client_id. La URL debe servir un documento JSON cuyoclient_idsea igual a la URL, conclient_name,redirect_urisytoken_endpoint_auth_method: "none". Estos clientes son públicos: sin secreto, solo PKCE, concesionesauthorization_codeyrefresh_token, y los tokens de actualización rotan en cada uso. Las URI de redirección deben serhttps, ohttpenlocalhost/127.0.0.1/[::1](se ignora el puerto, según RFC 8252). Un documento de referencia que puede copiar: https://asterwise.com/public/oauth/example-client.json. - Registro dinámico de clientes (
POST /oauth/register, obsoleto en la especificación MCP pero aún compatible): devuelve unclient_idy unclient_secret; el secreto es obligatorio en/oauth/token.
El servidor obtiene los documentos de metadatos con protecciones SSRF (solo direcciones públicas, sin redirecciones, 64 KB, 10 s) y los almacena en caché durante el Cache-Control: max-age del documento (60 s a 24 h, 1 h por defecto). La página de consentimiento muestra el host que publicó el documento.
Configuración
Copie .env.example a .env y establezca al menos:
| Variable | Obligatoria | Descripción |
|---|---|---|
ASTERWISE_API_BASE_URL | Sí | URL base de la API de Asterwise (p. ej. https://api.asterwise.com). |
JWT_SECRET | Para /oauth/token | Al menos 32 caracteres; se usa para firmar los tokens de acceso. |
MCP_SERVER_HOST / MCP_SERVER_PORT | No | Dirección de enlace y puerto para el servidor HTTP MCP. |
LOG_LEVEL | No | INFO por defecto. |
MCP_OAUTH_SECRET | Para OAuth | Compartida con asterwise-api; verifica los tokens de acceso emitidos por su /v1/oauth/token. |
INTERNAL_API_TOKEN | Para el registro de clientes OAuth | Compartida con asterwise-api; se usa al reenviar el registro dinámico de clientes. |
FRONTEND_URL | Para /authorize | Dónde se envía al navegador para iniciar sesión y dar consentimiento (p. ej. https://asterwise.com). |
OPENAI_APPS_CHALLENGE_TOKEN | No | Se sirve en /.well-known/openai-apps-challenge para la verificación del directorio. |
Herramientas (103 en total)
El servidor MCP expone 103 herramientas organizadas por módulo de Python. La categorización refleja la organización del código; las herramientas pueden servir a múltiples tradiciones (p. ej., el emparejamiento incluye tanto el método sánscrito Dashakoot como el tamil Porutham).
- western — 16 herramientas (carta, tránsitos, retornos, progresiones)
- natal — 13 herramientas (carta, árboles dasha, sistemas de ascendente)
- numerology — 11 herramientas (perfil, compatibilidad, camino de vida)
- tarot — 9 herramientas (tiradas, extensiones, referencias de palos)
- vedic_reference — 8 herramientas (nakshatra, naturaleza planetaria, ayanamsha, referencia clásica)
- numerology_gaps — 7 herramientas (expresión, impulso del alma, personalidad, madurez, equilibrio, kármico, ciclos personales)
- panchanga — 6 herramientas (panchanga, choghadiya, rahu kaal, hora)
- crystals — 5 herramientas (lista, por planeta, recomendaciones, individual)
- dasha — 5 herramientas (vimshottari, ashtottari, yogini, char, tránsitos)
- matchmaking — 5 herramientas (dashakoot, porutham, thirumana, papasamyam, compatibilidad)
- horoscope — 4 herramientas (diario/semanal/mensual/anual)
- yoga_dosha — 4 herramientas (yogas, doshas, sade sati, pitra dosha)
- angel_numbers — 3 herramientas (hoy, personal, consulta)
- varshaphal — 3 herramientas (carta anual, saham, harsha bala)
- dreams — 2 herramientas (símbolos, individual)
- panchanga_ext — 2 herramientas (calendario, festivales, tamil)
Para la lista completa de herramientas, consulte docs.asterwise.com o el punto final de listado de herramientas del servidor MCP.
Ejecutar localmente
python -m venv .venv
source .venv/bin/activate
pip install -r requirements-dev.txt
export ASTERWISE_API_BASE_URL=https://api.asterwise.com
export JWT_SECRET="$(python -c 'import secrets; print(secrets.token_hex(32))')"
uvicorn server:app --host 0.0.0.0 --port 8080
uvicorn server:app es el mismo punto de entrada que usan el Dockerfile y el railway.toml de producción, por lo que el middleware de autenticación, las rutas OAuth y /health están presentes localmente. Las dependencias de ejecución están fijadas en requirements.txt; requirements-dev.txt añade el conjunto de herramientas de prueba.
Pruebas
pytest
La cobertura se aplica al 78% para los módulos principales (auth, client, errors, logging_config, models, runtime, server); los módulos de herramientas quedan excluidos del umbral (consulte .coveragerc).
Estado
Licencia
MIT. Consulte LICENSE. Informes de seguridad: consulte SECURITY.md.