# Faxify MCP — Full Reference > Faxify MCP is a Model Context Protocol (MCP) server that connects AI assistants (ChatGPT, Claude, Cursor, and any OAuth 2.1 client) to the Faxify fax service, so users can send, receive, and manage faxes through natural conversation. Operated by Const Agility, LLC. MCP endpoint: https://mcp.faxify.com/api/v1/mcp ## Overview Faxify is an online fax service for the US and Canada (https://www.faxify.com). Faxify MCP exposes that service to AI assistants over the Model Context Protocol. The server speaks JSON-RPC 2.0 at `https://mcp.faxify.com/api/v1/mcp` and forwards each authenticated request to the Faxify API; it stores no fax data itself. Every tool call runs as the authenticated user against their own Faxify account. Faxify MCP is useful whenever a user wants to fax a document (PDF or image) from inside an AI assistant — for example sending signed forms, medical or legal paperwork, or receiving and triaging an inbox of faxes — without a fax machine and without leaving their AI tool. ## Supported clients - Cursor — direct JWT authentication via the `@faxify/mcp-client` bridge. - Claude Desktop — direct JWT authentication via the `@faxify/mcp-client` bridge. - ChatGPT (web and desktop) — OAuth 2.1 with Dynamic Client Registration (RFC 7591). - Any OAuth 2.1-compliant client (OpenAI, Claude, Copilot, Gemini, Grok, …) — OAuth 2.1 with automatic discovery. ## Tools All tools require an authenticated user except `list_plans` and `list_offerings`, which are public. Faxes: - send_fax — Send a fax now from one or more files: either public HTTPS document URLs (fileUrls) or, for LOCAL on-device files, uploadIds from request_upload_url. Creates a draft and sends it. Requires a top-level recipient with fax number (E.164, e.g. +14155550123). The cover page is optional — omit it to send with no cover sheet; include it for a subject/message (sender defaults to the authenticated account). - send_fax_using_draft — Send a previously saved draft as a fax. Requires a top-level recipient with fax number; the cover page is optional. - list_faxes — List inbox (received) or sent faxes. Supports limit/offset pagination, search, status filter, date range, and sorting. - get_fax — Get full details of a specific completed fax. - get_fax_status — Check the delivery status of a fax. - resend_fax — Resend a previously failed fax. - delete_fax — Delete a fax record (destructive). Drafts: - list_drafts — List saved draft faxes with pagination and search. - get_draft — Get details of a specific draft. - create_draft — Create a draft, optionally including files from HTTPS URLs (fileUrls) or LOCAL files (uploadIds from request_upload_url). - update_draft — Replace a draft's files with files from HTTPS URLs (fileUrls) or LOCAL files (uploadIds). - delete_draft — Delete a draft (destructive). - get_draft_preview — Preview a draft (thumbnails / PDF), optionally with a cover page, before sending. - request_upload_url — Get a short-lived signed URL to upload a LOCAL (on-device) file, so it can be faxed without hosting it publicly. Flow: call it with the file's name + MIME type, PUT the bytes to the returned URL, then call send_fax/create_draft with uploadIds. Plans (public, no auth): - list_plans — All subscription plans (free and paid). - list_offerings — Paid subscription offerings only. Account: - get_profile — The authenticated user's profile: id, username, email, role, fax number. - get_subscription — The authenticated user's subscription: plan, limits, current-period usage, pages remaining, and status. ## Authentication Faxify MCP uses per-user authentication backed by a Faxify account. There are two ways a client obtains an access token; both end in a Faxify-issued JWT sent as `Authorization: Bearer ` on each request. 1. JWT (stdio clients such as Cursor and Claude Desktop) - Sign in at https://mcp.faxify.com and open Settings → MCP Configuration (https://mcp.faxify.com/en/settings) to copy your token. - Configure the `@faxify/mcp-client` bridge with: - FAXIFY_MCP_URL = https://mcp.faxify.com/api/v1/mcp - FAXIFY_JWT_TOKEN = - Tokens are short-lived (about one hour); re-copy when calls start failing with auth errors. 2. OAuth 2.1 (ChatGPT and other OAuth clients) - Add a connector pointing at https://mcp.faxify.com/api/v1/mcp. - The client discovers OAuth endpoints via /.well-known/oauth-authorization-server (RFC 8414), registers itself via /api/v1/oauth/register (RFC 7591), and walks the user through Faxify sign-in. No token needs to be pasted. ## Account and pricing - Free plan: sign up at https://mcp.faxify.com — includes 5 fax pages per month. - Paid plans: available via the web app https://app.faxify.com and the Faxify mobile apps (links on https://www.faxify.com). Annual plans can include a dedicated fax number. ## Endpoints - MCP (JSON-RPC 2.0): https://mcp.faxify.com/api/v1/mcp - OAuth discovery (RFC 8414): https://mcp.faxify.com/.well-known/oauth-authorization-server - OAuth registration (RFC 7591): https://mcp.faxify.com/api/v1/oauth/register - OAuth authorize: https://mcp.faxify.com/api/v1/oauth/authorize - OAuth token: https://mcp.faxify.com/api/v1/oauth/token ## Links - Documentation: https://mcp.faxify.com/en/docs - MCP client package (GitHub): https://github.com/Faxify/mcp-client - MCP client package (npm): https://www.npmjs.com/package/@faxify/mcp-client - Faxify website: https://www.faxify.com - Faxify web app: https://app.faxify.com ## About Faxify and Faxify MCP are products of Const Agility, LLC (Houston, Texas, USA). Faxify MCP supports English, Spanish, and French interfaces at /en, /es, and /fr.