alfred_ MCP for Codex

Bring your work into Codex.

Codex can search your email, read a thread, check your calendar, and draft, send and book through alfred_. As you, you sign in once, and nothing is sent until you say yes.

Connect

You need an alfred_ account with at least one email or calendar connected. Then pick where you use Codex.

Codex CLI
[mcp_servers.alfred]
url = "https://get-alfred.ai/api/mcp"
auth = "oauth"
  1. Add this to ~/.codex/config.toml. Use .codex/config.toml in a project root to scope it to one repo.
  2. auth = "oauth" is the line that matters: without it Codex expects a token, and alfred_ does not issue one.
Then sign in
codex mcp login alfred
  1. Run the command below. Your browser opens on get-alfred.ai; sign in if you need to and press Allow.
  2. Start a Codex session and type /mcp to confirm alfred_ is connected and listing its tools.

Things to ask

  • What is on my calendar tomorrow, and is anything back to back?
  • Find the thread about the contract renewal and give me three talking points.
  • Did anyone reply to my note about the invoice this week?
  • Draft a reply saying Friday works and put it in my drafts.

What Codex can do

Reading is the default. Writing and sending are separate permissions you grant on purpose.

search_work, list_inbox, get_thread, get_email_body, list_folders, read_attachment
Find and read email

Searches every account you have connected to alfred_ (Gmail, Outlook, Microsoft 365, IMAP) in one query, then opens a thread in full: every message, who said what, and whether you already replied. Reads a PDF or an image attachment as text. Never fetches an attachment you did not point at.

create_draft, update_draft, send_email, reply_to_email, forward_email
Write, reply and send

Saves a message into your real Drafts folder for you to send yourself, or sends and replies from the account you choose. Anything that leaves your mailbox shows you the message first and waits for a yes, and that check runs inside alfred_ rather than in the assistant.

list_pending_drafts, get_pending_draft, dismiss_pending_draft
Pick up drafts alfred_ wrote

alfred_ drafts replies on its own in the background. These read that queue and clear a draft you do not want. They never send one.

organize_email, bulk_organize_emails
Tidy the inbox

Archives, labels, moves and marks read. A single message acts on the one you pointed at. A bulk sweep always counts the matches, shows you the number, and waits for your yes before touching anything.

list_email_rules, create_email_rule, update_email_rule
Set up inbox rules

Creates and edits the standing rules alfred_ applies to new mail, like archiving a newsletter or flagging a client. You see what a rule would and would not have caught before it is saved.

get_schedule, list_calendars, search_events, find_free_time, check_free
Read the calendar

Reads events from your connected calendars for a day or a range, in your timezone, with attendees and locations. Finds genuinely open slots, so a proposed time is one you are actually free for.

create_event, update_event
Book and move meetings

Creates and updates events on the calendar you choose, adds a Google Meet or Teams link, and invites people. You see exactly what will be sent, and to whom, before any invitation goes out.

list_todos, search_todos, create_todo, update_todo
Track to-dos

Reads your task lists and adds tasks, due dates and reminders, using the same timing and quiet-hours rules as the rest of alfred_. Your own lists only, never a team workspace.

lookup_contact, list_contacts
Look up a person

Resolves a name to the address you actually use for them, with the company and history alfred_ already holds. This is what stops a reply going to last year's address.

cloud_files
Read a file from cloud storage

Searches and reads Google Drive, OneDrive and SharePoint, extracting text only and never raw file bytes. A separate permission from email: connecting alfred_ for your inbox does not grant this.

search_facts, remember_fact, update_fact
Use and update what alfred_ knows

Reads the working notes alfred_ keeps about your work, and records a new one when you tell it something worth keeping. Yours alone, and visible to you in alfred_.

list_accounts, get_account_setup_link
See and fix your accounts

Shows which email and calendar accounts you have connected (up to 6) and whether each is healthy, and hands you a one-tap link to connect another or reconnect one that lost access. It cannot connect or remove an account itself; that stays a signed-in click in alfred_.

What it cannot do
  • Nothing is sent, and no invitation goes out, until you have seen it and said yes.
  • Cannot delete anything: not an email, not an event, not a to-do.
  • Tidying (archive, move, mark read) acts on messages you pointed at; a bulk sweep always shows you a count first and waits for your yes.
  • Cannot disconnect an account. Connecting and removing accounts stays a signed-in click in alfred_ itself.
  • Cannot touch a team workspace. Your own lists and accounts only.
  • You choose what to allow when you sign in. Reading is the default; writing, and sending, are separate permissions you grant on purpose.
  • Never sees your provider passwords or OAuth tokens. Every call runs through alfred_, as you.
  • Only the accounts you connected to alfred_. Nothing else on your machine.

Access tokens expire after an hour and are refreshed quietly. Revoke the connection at any time in alfred_ under Settings, Privacy and Security. We record which tool was called and how long it took, never the query or the contents. More in Security.

If something is off

Codex says the server needs a token.

The auth = "oauth" line is missing from the alfred_ block. Without it Codex looks for a bearer token in an environment variable. Add the line, then run codex mcp login alfred.

/mcp shows alfred_ but no tools.

Sign-in has not finished. Run codex mcp login alfred and complete the browser step, then start a new session.

Which email account does it search?

All of them. search_work fans out across every account connected to alfred_ and tells Codex which account each thread came from.

Can it send email without asking me?

No. Sending and inviting always show you the message or the invitation first and wait for you to say yes, and that check is in alfred_ itself rather than something the assistant can talk its way past. If you would rather it never send at all, leave the sending permission unchecked when you sign in and it can still write drafts for you to send yourself.

Can it delete my email or cancel a meeting?

No. Nothing on this connection can delete an email, cancel an event, or remove a to-do. Those are deliberately not available, whatever you allow at sign-in. Tidying is different: if you allow it, Codex can archive, move and label messages, and a bulk sweep always shows you a count first and waits for your yes.

How do I disconnect?

In alfred_, open Settings, then Privacy and Security, and revoke the entry named Codex under Connect AI assistants. Codex loses access immediately. You can also remove the block from config.toml.