Skip to content

Send files with Codex and yasync

Use Codex to inspect your yasync transfers through MCP, or send a finished build, video or delivery folder from a terminal-enabled session. Start with a read-only connection check before uploading anything.

Connection guidance reviewed .

1. Connect your account

Create a dedicated key in API keys on any registered account, including Free. A key acts as its owner; keep its value in local environment or secret settings, outside prompts and committed files.

Set YASYNC_API_KEY securely in the environment that launches Codex. Add this entry to your Codex configuration, then start a new session that inherits the variable.

~/.codex/config.toml
[mcp_servers.yasync]
url = "https://yasync.com/api/mcp"
bearer_token_env_var = "YASYNC_API_KEY"

2. Check the tools without changing files

Run codex mcp list to confirm the server entry. Ask Codex to call the listing tool, then inspect one result using its actual transfer ID.

First prompt
Use yasync_list_transfers with limit 5. Show each transfer’s title, ID and status. Do not create, finalize or delete a transfer.

An empty transfer list is a valid result. A configured server entry alone does not verify that its key is accepted.

3. Send a local delivery folder

The MCP tools manage transfer metadata and return signed upload plans. They do not read your disk or accept file bodies. For local files and watch folders, use the local stdio companion or the yasync CLI in an assistant session with approved terminal and file access, or implement the direct upload flow. The CLI uses its own account login rather than the MCP API key.

Install the CLI from the Apps page, then complete yasync login. Choose the exact folder yourself and let Codex scan it before authorizing the send.

Selection preview, followed by an intentional upload
yasync send ./delivery --dry-run --json
# After reviewing the selected files:
yasync send ./delivery --title "Client delivery" --json

The preview does not upload. A real send emits newline-delimited JSON progress; wait for a successful exit and the completed result before sharing its URL. Do not parse progress output as a single JSON document.

When a connection fails

  • 401 / INVALID_API_KEY: verify that the launching process received the variable and that the key is current.
  • 403 / PRO_REQUIRED: this particular operation requires a paid capability; ordinary API/MCP use is available on Free.
  • No local file access: run the CLI yourself or use a Codex environment that has the intended folder mounted.

Official references

Examples follow the published client configuration and yasync API contracts. They are not a certification of every client version or an authenticated end-to-end test.