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.6.tar.gz (58.8 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.6-py3-none-any.whl (66.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: aia_mcp-1.1.6.tar.gz
  • Upload date:
  • Size: 58.8 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.6.tar.gz
Algorithm Hash digest
SHA256 25fcfaa6e6487250843091fd06ad1dc3f8dd9da8255d5e931c60bae201f6dde9
MD5 a463015d0ba1ad4d9fa0abd680c5b995
BLAKE2b-256 9027864310bbf749a295a5782a2eb1be62c92173ce173e281972f89148502fe4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aia_mcp-1.1.6-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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 74c1d428f8fd2bba04937dd58dafcd242eadfa805b2c22fd5cb693aa05606167
MD5 5ae60bb3af19dc290bd24df7cc7b89dd
BLAKE2b-256 b677e7a08f37f853b95f9178dba3e5c9a521c63fddb0a04562e65a8cc138de49

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