agentlair

Give AI agents a real email address, vault, calendar, and task delegation via MCP.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
97%
Integridad del esquema
85%
Calidad de los nombres
85%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~1,634Tokens (definiciones de herramientas)
~818 BTamaño de respuesta típico
Impacto moderado en la atención (1.28% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "agentlair": {
      "command": "npx",
      "args": [
        "@agentlair/mcp"
      ]
    }
  }
}

Paquetes ejecutables

npm@agentlair/mcp1.3.0stdio

Puntos de conexión remotos

https://agentlair-mcp-server.amdal-dev.workers.dev/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (15)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟡send_email(from, to, subject, text, html, ...)

Send an email from your AgentLair address (@agentlair.dev) to any recipient. No SMTP or DNS setup needed.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "from": {
      "type": "string",
      "description": "Sender address — must be an @agentlair.dev address you own (e.g. [email protected])"
    },
    "to": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Array of recipient email addresses"
    },
    "subject": {
      "type": "string",
      "description": "Email subject line"
    },
    "text": {
      "type": "string",
      "description": "Plain text body of the email"
    },
    "html": {
      "type": "string",
      "description": "Optional HTML body (supplement to text)"
    },
    "cc": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional CC recipient addresses"
    }
  },
  "required": [
    "from",
    "to",
    "subject",
    "text"
  ]
}
🟢check_inbox(address, limit)

Check the inbox for an @agentlair.dev email address. Returns recent messages with sender, subject, and received time.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "The @agentlair.dev address to check (e.g. [email protected])"
    },
    "limit": {
      "type": "number",
      "description": "Max number of messages to return (default: 10, max: 50)"
    }
  },
  "required": [
    "address"
  ]
}
🟢read_message(message_id, address)

Read the full content of a specific email message, including the body text.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "message_id": {
      "type": "string",
      "description": "The message_id from check_inbox (angle brackets will be stripped automatically)"
    },
    "address": {
      "type": "string",
      "description": "The @agentlair.dev address this message was delivered to"
    }
  },
  "required": [
    "message_id",
    "address"
  ]
}
🟢list_addresses

List all @agentlair.dev email addresses associated with your API key.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "required": []
}
⚪claim_address(address)

Claim a new @agentlair.dev email address for your agent. Free tier supports multiple addresses.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "The address to claim (must end in @agentlair.dev, e.g. [email protected])"
    }
  },
  "required": [
    "address"
  ]
}
🟢preflight_trust_check(agent_id)

Check trust readiness before engaging with an agent. Returns a ReadinessCard: trust score, behavioral maturity level, whether it's safe to engage, and any caveats. Call this before delegating tasks, accepting agent output, or authorizing payments involving an unknown agent. Free — no extra charge beyond your API key.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "agent_id": {
      "type": "string",
      "description": "AgentLair agent ID to check (format: acc_<alphanumeric>). Found via the agent's AgentLair profile or DID document."
    }
  },
  "required": [
    "agent_id"
  ]
}
🟡vault_put(key, value, metadata)

Store a value in the AgentLair Vault. Use this to persist API keys, secrets, or any data your agent needs across sessions. Best practice: encrypt sensitive data client-side before storing (the server stores whatever you send).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "key": {
      "type": "string",
      "description": "Vault key name (1-128 chars, alphanumeric + _ - .). Examples: 'openai-key', 'session_token', 'config.json'"
    },
    "value": {
      "type": "string",
      "description": "Value to store. For secrets: encrypt first, then store the ciphertext."
    },
    "metadata": {
      "type": "object",
      "description": "Optional JSON metadata (labels, timestamps, etc.) — never encrypted"
    }
  },
  "required": [
    "key",
    "value"
  ]
}
🟢vault_get(key)

Retrieve a stored value from the AgentLair Vault by key name.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "key": {
      "type": "string",
      "description": "Vault key name to retrieve"
    }
  },
  "required": [
    "key"
  ]
}
🟢vault_list

List all keys stored in your AgentLair Vault (metadata only, values not returned).

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "required": []
}
🔴vault_delete(key)

Delete a key and all its versions from the AgentLair Vault.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "key": {
      "type": "string",
      "description": "Vault key name to delete"
    }
  },
  "required": [
    "key"
  ]
}
🟡calendar_create_event(summary, start, end, description, location, ...)

Create a calendar event on your AgentLair calendar. Events are published via iCal feed for human subscription (Google Calendar, Apple Calendar, Outlook).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "summary": {
      "type": "string",
      "description": "Event title / summary (required)"
    },
    "start": {
      "type": "string",
      "description": "Event start time in ISO 8601 format. Date-only (\"2026-03-20\") or datetime (\"2026-03-20T14:00:00Z\")"
    },
    "end": {
      "type": "string",
      "description": "Event end time in ISO 8601 format. Date-only (\"2026-03-21\") or datetime (\"2026-03-20T15:00:00Z\")"
    },
    "description": {
      "type": "string",
      "description": "Optional event description / notes"
    },
    "location": {
      "type": "string",
      "description": "Optional event location (address, URL, or room name)"
    },
    "attendees": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional list of attendee email addresses"
    }
  },
  "required": [
    "summary",
    "start",
    "end"
  ]
}
🟢calendar_list_events(from, to)

List events on your AgentLair calendar. Optionally filter by date range.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "from": {
      "type": "string",
      "description": "Optional start of date range filter (ISO 8601, e.g. \"2026-03-01\")"
    },
    "to": {
      "type": "string",
      "description": "Optional end of date range filter (ISO 8601, e.g. \"2026-03-31\")"
    }
  },
  "required": []
}
🔴calendar_delete_event(id)

Delete an event from your AgentLair calendar by event ID. Use calendar_list_events to find event IDs.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Event ID to delete (e.g. evt_abc123...)"
    }
  },
  "required": [
    "id"
  ]
}
🟢calendar_get_feed

Get the public iCal subscription URL for your AgentLair calendar. Share this URL with calendar apps (Google Calendar, Apple Calendar, Outlook) so humans can subscribe and see agent-created events.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "required": []
}
🟡delegate_task(to, task, context, priority, constraints)

Delegate a task to another AgentLair agent. The task is delivered to the agent's inbox and picked up asynchronously. Use this when you need another agent to do something — send an email, run a deployment, do research, etc.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "to": {
      "type": "string",
      "description": "Target agent's AgentLair email (e.g. [email protected])"
    },
    "task": {
      "type": "string",
      "description": "What to do — be specific and self-contained. The receiving agent has no context from your conversation."
    },
    "context": {
      "type": "string",
      "description": "Background information the agent needs to execute the task"
    },
    "priority": {
      "type": "string",
      "enum": [
        "low",
        "normal",
        "high",
        "urgent"
      ],
      "description": "Task priority (default: normal)"
    },
    "constraints": {
      "type": "string",
      "description": "Timing constraints, requirements, or limits"
    }
  },
  "required": [
    "to",
    "task"
  ]
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada15 herramientas
verificadoversión no registrada15 herramientas