MCP setup
Updated
The server is at https://mcp.faxforagents.com/mcp/, with the trailing slash. It speaks Streamable HTTP and takes your API key as a bearer token on every request. A test key is the free sandbox. There is no OAuth yet.
Claude Code
claude mcp add --transport http faxforagents https://mcp.faxforagents.com/mcp/ \
--header "Authorization: Bearer ffa_test_..." Then in a session: "quote a two page fax to +15550000001 and send it". Claude calls prepare_fax, quote_fax and send_approved_fax and reads the state back with get_fax_status.
Claude Desktop
Settings, Connectors, Add custom connector. Name faxforagents, URL https://mcp.faxforagents.com/mcp/. Claude Desktop asks for OAuth on a remote server and this server has none yet. Use the stdio bridge below until the OAuth release lands.
{
"mcpServers": {
"faxforagents": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.faxforagents.com/mcp/", "--header", "Authorization: Bearer ${FFA_KEY}"],
"env": { "FFA_KEY": "ffa_test_..." }
}
}
} The file is claude_desktop_config.json under the Claude application support folder.
Cursor
.cursor/mcp.json in the project, or the global one in ~/.cursor/:
{
"mcpServers": {
"faxforagents": {
"url": "https://mcp.faxforagents.com/mcp/",
"headers": { "Authorization": "Bearer ffa_test_..." }
}
}
} Codex
export FFA_KEY=ffa_test_...
codex mcp add faxforagents --url https://mcp.faxforagents.com/mcp/ --bearer-token-env-var FFA_KEY Or in ~/.codex/config.toml:
[mcp_servers.faxforagents]
url = "https://mcp.faxforagents.com/mcp/"
bearer_token_env_var = "FFA_KEY" n8n
Add an MCP Client Tool node to an agent workflow. Endpoint https://mcp.faxforagents.com/mcp/, transport HTTP Streamable, authentication Header Auth with name Authorization and value Bearer ffa_test_.... Keep the key in an n8n credential, not in the node.
How do I check it works?
Ask the client to call get_guide with no arguments. The answer is the manual's overview and proves the key and the URL. Then get_fax_capabilities shows the limits, the formats and the prices in force for that key.
What should I tell the agent?
Say what to fax and to whom. The tools do the rest in order: prepare, quote, send. A live API key needs an approval or a policy. The quote says so under policy, and get_review_status tells the agent when a person has decided. Do not paste an API key into a prompt. Put it in the client's configuration as above.