agentlair
Give AI agents a real email address, vault, calendar, and task delegation via MCP.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"agentlair": {
"command": "npx",
"args": [
"@agentlair/mcp"
]
}
}
}실행 가능한 패키지
1.3.0stdio원격 엔드포인트
https://agentlair-mcp-server.amdal-dev.workers.dev/mcpstreamable-http할 수 있는 일
도구 목록
도구 (15)
🟡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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"type": "object",
"properties": {},
"required": []
}⚪claim_address(address)
Claim a new @agentlair.dev email address for your agent. Free tier supports multiple addresses.
입력 스키마
{
"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.
입력 스키마
{
"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).
입력 스키마
{
"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.
입력 스키마
{
"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).
입력 스키마
{
"type": "object",
"properties": {},
"required": []
}🔴vault_delete(key)
Delete a key and all its versions from the AgentLair Vault.
입력 스키마
{
"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).
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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"
]
}커뮤니티
증거