Alfred
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| system_statusA | Return Alfred's non-sensitive local health and schema status. |
| agenda_getA | Return Alfred's deterministic local task agenda with freshness. |
| memory_searchA | Search local memory anchors and their one-hop active graph context. |
| profile_getA | Return the local owner node and current, evidence-backed profile relationships. |
| rememberC | Store a confirmed local memory; the calling client is recorded as actor. |
| memory_correctA | Correct one recalled memory while preserving its superseded history and evidence. |
| memory_feedbackB | Record whether a recalled memory was relevant, irrelevant, or incorrect. |
| forgetA | Preview deleting one memory; nothing is deleted until action_commit confirms it. Decision 8 classifies deleting data as strong-confirm, never unattended, so an MCP client -- which can call tools without a human watching in the moment -- cannot delete in a single call. |
| calendar_event_proposeA | Preview a calendar event write; nothing reaches Google until action_commit confirms it. start and end must be ISO 8601 timestamps, not phrases. The owner says "tomorrow from 10:30 am"; resolve that against the current time given above and pass 2026-08-20T10:30:00-04:00. calendar_id accepts the name the owner uses -- "family car", "Dunlap Family" -- as well as a real Google id. Pass whatever calendar they named; it is resolved here, and an unknown or ambiguous name comes back as an error listing the writable calendars rather than guessing. |
| message_draftA | Preview a Gmail draft; nothing reaches Gmail until a human confirms it. |
| message_send_proposeA | Preview sending Gmail. Telegram attaches approve/cancel; do not paste the letter in chat. |
| github_issue_proposeA | Preview a GitHub issue creation; nothing reaches GitHub until action_commit confirms it. |
| composio_searchA | Find overflow-app tools on Composio's free tier (Notion, Spotify, Linear, …). Do not use this for Gmail, Calendar, GitHub, Slack, Telegram, or Fitbit — those are first-party Alfred connectors. Returns slugs, whether they write, and required argument names. Then call composio_execute with a slug. |
| composio_statusA | Show Composio connected accounts and this UTC month's free-tier usage. |
| composio_connectA | Return a Composio Connect Link so the owner can sign into an overflow app. Open the URL, finish sign-in, then retry the original request. Not for Gmail/Calendar/GitHub/Slack/Telegram/Fitbit. |
| composio_executeA | Run a Composio read now, or preview a write for Telegram approval.
|
| action_commitB | Consume a fresh approval token and perform the action it previewed. |
| brief_getA | Render the deterministic local morning brief on demand, not just on schedule. |
| threads_awaiting_replyA | List unread Gmail threads that look like they need a reply. Groups active unread mail by thread_id and drops messages that carry a
List-Unsubscribe header (newsletters Gmail often labels PERSONAL).
Run |
| availability_getA | Find free gaps in the synced Google Calendar over the next few days. Timed events block the day; all-day events are listed as ambiguous
context rather than busy hours. Overlapping meetings merge before gaps
are computed. |
| pull_requests_getA | List open GitHub pull requests you authored or were asked to review. Fetches a live snapshot via GitHub search (not notifications sync),
marks PRs stale when |
| connector_statusA | Report each connector's health; never its credentials or synced content. |
| connector_records_getA | Return one connector's currently-active synced records, most recently observed first. brief_get/agenda_get already fold calendar events, GitHub notifications, and Canvas missing assignments into one ranked digest, but nothing else exposes a connector's raw synced content directly -- for example gmail-sync's unread-message records (subject/from/snippet) never reach an MCP caller otherwise. This reads the same connector_records table every sync already writes to (ConnectorRecordStore), so it needs no new storage or sync logic. |
| task_upsertA | Create a task, or update an existing one's title/due date when task_id is given. Decision 8 classifies this as automatic and reversible, unlike deletion, so it needs no approval step. |
| task_completeA | Mark an open task completed; completing an already-completed task is a no-op. |
| reminder_setA | Schedule a Telegram reminder; chat_id must already be locally paired to receive it. Alfred's only delivery channel today is Telegram, so the caller must
say which paired chat this goes to -- there is no channel-agnostic
queue to defer that choice to. When Hermes is answering an inbound
Telegram turn,
|
| nag_until_doneA | Repeat a reminder until the linked task is completed or attempts run out. Each firing re-reads task state, so completing the task anywhere silences future nags. The final attempt is labeled explicitly as the last reminder. |
| important_date_setA | Remember a birthday or other annual date and remind on that day each year. Stored as an ordinary task (next occurrence as due_at) plus an annual
reminder job — not a separate calendar. The morning brief and weekly
window surface dates in the next seven days under Birthdays & dates.
|
| important_dates_getA | List upcoming birthdays and important dates inside the weekly window. Defaults to seven days so a "what's coming up this week" question and the morning brief share the same horizon. Pass a larger window to look further ahead; pass 0 for only dates still later today. |
| mood_recordA | Record a 1–5 mood check-in with an optional short note. Stored separately from habits: mood tracks how things felt, not whether
a behavior happened. Use |
| gratitude_recordA | Append a free-text gratitude journal entry. |
| journal_getA | Return recent mood check-ins, gratitude entries, and mood trend. Trend direction is only named when there are at least five days with mood
check-ins and the older/newer daily averages differ by at least 0.5 on
the 1–5 scale; otherwise |
| task_scheduleA | Run an instruction later and send the answer to a paired chat. Use this, not a reminder, when the user wants something done at a time rather than something said: "check the order at 3 and text me" has no message to deliver yet, because the answer does not exist until the work runs. A reminder would just hand the task back to them. When it comes due the instruction is queued as an ordinary agent turn, so the reply arrives looking exactly like any other answer. Never schedule this kind of work in your own runtime's cron: Alfred owns schedules and delivery here, and a job elsewhere silently never fires.
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |