Skip to main content

Servidor MCP para el agente aia (amanda-IA)

Project description

aia-mcp

Servidor MCP (Model Context Protocol) que expone herramientas para el agente aia del proyecto hermano amanda-IA.

Estructura

aia-mcp/
├── README.md
├── pyproject.toml
├── mcp_cli/           # CLI para ejecutar servidores
├── specs/
│   └── SPEC_TEMPERATURA.md
├── temperatura/       # get_temperature (ciudades)
│   ├── __init__.py
│   └── server.py
└── monitor/           # medición, historial_mediciones
    ├── __init__.py
    └── server.py

Cada servidor MCP vive en su propio directorio. Ejecuta cualquiera con poetry run mcp <servidor>.

Requisitos

Instalación

cd aia-mcp
poetry install

Ejecutar servidores MCP

Desde el directorio aia-mcp/:

poetry run mcp                    # temperatura (por defecto, stdio)
poetry run mcp temperatura        # explícito
poetry run mcp monitor            # acumulador/estanque (litros, %, velocidad)
poetry run mcp --list             # listar servidores disponibles

# Modo HTTP (para conexión remota)
poetry run mcp temperatura --http   # puerto 8001
poetry run mcp monitor --http     # puerto 8003

# Levantar todos los servidores
poetry run mcp all --http
  • stdio (por defecto): para Cursor, Claude Desktop, etc.
  • HTTP (--http): servidor en http://0.0.0.0:8001/mcp para que el agente aia se conecte por red.

Swagger UI (documentación de APIs)

poetry run mcp-swagger           # puerto 8010
# o
poetry run mcp swagger --http

Accede a: http://localhost:8010/

Cada servidor tiene su documentación:

  • /temperatura, /wahapedia, /monitor, /shell
  • /airbnb, /charts, /email, /mangadex

Conectar con el agente (Cursor / amanda-IA)

Configura el servidor MCP en Cursor o en el agente aia. Ejemplo para ~/.cursor/mcp.json:

{
  "mcpServers": {
    "temperatura": {
      "command": "poetry",
      "args": ["run", "mcp", "temperatura"],
      "cwd": "/ruta/a/aia-mcp"
    }
  }
}

Ajusta cwd a la ruta absoluta de tu proyecto aia-mcp.

Conectar aia por HTTP

  1. Inicia el servidor MCP en modo HTTP: poetry run mcp temperatura --http
  2. En otra terminal, ejecuta el agente con la variable de entorno:
    MCP_URL=http://localhost:8001/mcp poetry run aia
    

Añadir nuevos servidores: crea el directorio (ej. nuevo_servidor/), implementa el servidor con FastMCP, y regístralo en mcp_cli/cli.py en el diccionario SERVERS.

Tools disponibles

get_temperature

Obtiene la temperatura actual de una ciudad (valores simulados).

  • Parámetro: city (string, opcional) — Nombre de la ciudad
  • Retorno: String con la temperatura

Ciudades soportadas: Santiago, Buenos Aires, Lima, Bogotá, Madrid, New York, Londres, Tokio.

Monitor (acumulador / estanque)

  • get_lectura_actual(): Obtiene litros y porcentaje del acumulador en tiempo real. Usa MQTT (MQTT_HOST, MQTT_TOPIC_OUT) o TINAJA_ESTADO_URL como fallback. Si no hay datos, devuelve un cálculo de ejemplo.
  • calculate_tinaja_level(distance): Calcula litros y porcentaje desde la distancia del sensor (cm).
  • get_tinaja_config(): Configuración del estanque y estado MQTT.
  • get_velocidad_disminucion_agua(db_name, horas_atras): Calcula la velocidad de disminución del agua (L/h) usando el historial en MongoDB (tomi-db.estanque-historial). Requiere MONGODB_URI en .env.

Variables en .env: MQTT_HOST, MQTT_PORT, MQTT_USERNAME, MQTT_PASSWORD, MQTT_TOPIC_OUT. Fallback HTTP: TINAJA_ESTADO_URL. Para velocidad: MONGODB_URI.

Wahapedia (Warhammer 40K)

  • get_unit_stats(query, faction): Estadísticas de una unidad.
  • search_wahapedia(query): Búsqueda en español.
  • get_factions(): Lista todas las facciones.
  • get_units(faction): Unidades de una facción.
  • get_stratagems(faction): Estratagemas de una facción.

Cache: config por variables de entorno (WAHAPEDIA_CACHE_ENABLED, WAHAPEDIA_CACHE_DIR, WAHAPEDIA_CACHE_TTL_DAYS). Por defecto deshabilitado. Si habilitas, guarda en .aia/cache/wahapedia/ y TTL de 60 días.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aia_mcp-1.1.5.tar.gz (58.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aia_mcp-1.1.5-py3-none-any.whl (66.5 kB view details)

Uploaded Python 3

File details

Details for the file aia_mcp-1.1.5.tar.gz.

File metadata

  • Download URL: aia_mcp-1.1.5.tar.gz
  • Upload date:
  • Size: 58.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.13.1 Linux/6.17.0-1018-azure

File hashes

Hashes for aia_mcp-1.1.5.tar.gz
Algorithm Hash digest
SHA256 124c7699153cf4f7e2a8934b069a6b9483007f4f012f11b540e107ab3ff08b8c
MD5 145f3dcfc031f3c33032617ff8a709a0
BLAKE2b-256 e47eef055c3bf5b8e5e7b1c8a41caae487aa5bc1aa0266f7c59a10e37d2c9c37

See more details on using hashes here.

File details

Details for the file aia_mcp-1.1.5-py3-none-any.whl.

File metadata

  • Download URL: aia_mcp-1.1.5-py3-none-any.whl
  • Upload date:
  • Size: 66.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.13.1 Linux/6.17.0-1018-azure

File hashes

Hashes for aia_mcp-1.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 a04c3e256e66ff59a35971422967d3d773886807b66d69349103b9407832ebac
MD5 2d682f00f075009c1c2ee530d4a5af61
BLAKE2b-256 0f3ded1fdc2fc9f5d8e80ecd7b211af5e33a998ce245f8d2c5c16cc99080e3f6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page