agentlair

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

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
97%
Vollständigkeit des Schemas
85%
Qualität der Benennung
85%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~1,634Tokens (Tool-Definitionen)
~818 BTypische Antwortgröße
Mittlere Auswirkung auf die Aufmerksamkeit (1.28% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

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

Ausführbare Pakete

npm@agentlair/mcp1.3.0stdio

Remote-Endpunkte

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

Was es kann

Tool-Inventar

Tools (15)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟡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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

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

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

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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).

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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).

Eingabe-Schema

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

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

Eingabe-Schema

{
  "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).

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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"
  ]
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet15 Tools
verifiziertVersion nicht aufgezeichnet15 Tools