An MCP server. For real letters.
The Send Letters Online MCP server connects compatible AI assistants to physical letter printing and posting. An assistant can check your balance, review orders, preview a letter price and submit a paid order using your enabled account. Review the draft, recipient and quoted total in your assistant before authorising it to send.
Manage assistant access See the setup options
- Remote MCP server
- OAuth or bearer API key
- Five account-scoped tools
- Explicit price-confirmation contract
What is an MCP server for sending letters?
Model Context Protocol (MCP) is a way for an assistant to call tools provided by another service. Send Letters Online exposes tools for your balance, letter orders and pricing. The assistant prepares the text; the letter service performs the paid printing and posting operation after receiving the required confirmation fields.
How do I send a physical letter through an assistant?
Tell your connected assistant who the letter is for and what it should say. Check the complete draft and postal address yourself. Ask for a price preview for the document, print options and postal service, then explicitly approve the intended order in your client.
After a confirmed order, the letter is printed, folded, enveloped and posted. Use get_order or your dashboard to follow its progress. Do not assume that an assistant saying 'sent' is proof of posting or delivery.
- Connect your enabled account using a supported authentication method.
- Draft and review the full content and recipient address.
- Preview the current price without ordering.
- Authorise the specific letter and total in your client.
- Check the resulting order and its recorded status.
How do I connect a remote MCP client?
The remote server endpoint is https://sendlettersonline.co.uk/api/mcp. If your client supports remote MCP with OAuth, add the server URL and follow the sign-in and consent flow. Make sure API access is enabled for your account and your prepaid balance covers any orders.
For clients that use a local command configuration, the bridge example below passes a bearer API key to the same remote endpoint. Review your client's current setup documentation: remote connector support and settings differ between products and plans.
What does the price-confirmation safeguard check?
preview_letter_price is read-only. Calling create_letter_order without confirmation returns a quote rather than creating or paying for an order. A paid call must supply confirmed: true and expectedTotalPence equal to the current total; a missing or mismatched total is rejected.
This is a server-side contract for the tool call, not independent proof that a person clicked an approval button. Your assistant and client must obtain your permission and send the correct fields. Only connect clients you trust, keep credentials private and review every proposed recipient and charge.
Should I use MCP or the REST API?
Choose MCP when you want a supported assistant to interact with the service using named tools. Choose the REST API when your application needs direct HTTP requests and your own workflow controls. Use the website for occasional letters without either integration.
All three workflows lead to physical mail. MCP does not supply a separate free postage allowance, a different Royal Mail network or a delivery guarantee. The API and MCP share the account's balance and letter-order logic.
What should I review before connecting an assistant?
The assistant may receive the content and account information it needs to complete your request. Review its privacy settings, the permissions you grant and whether you are authorised to share the letter's information. Never paste API keys into a conversation, and revoke access when it is no longer needed.
API-key bridge configuration example
{
"mcpServers": {
"send-letters-online": {
"command": "npx",
"args": [
"-y", "mcp-remote",
"https://sendlettersonline.co.uk/api/mcp",
"--header", "Authorization: Bearer ${API_KEY}"
],
"env": { "API_KEY": "YOUR_API_KEY" }
}
}
}Which tools does the MCP server expose?
- get_balance
- Reads the prepaid balance available to your account, without spending it.
- list_orders
- Looks back through your past letters, most recent first.
- get_order
- Checks on one specific letter, including whether it's been posted yet.
- preview_letter_price
- Works out exactly what a letter will cost - without spending anything or creating an order.
- create_letter_order
- Without confirmation, returns a price preview. With confirmed: true and the matching expectedTotalPence, creates a paid letter order from your balance.
Frequently asked questions
Which AI assistants work with this?
Use a client that supports remote MCP and the authentication method you choose. Clients with native remote-server support can connect to the server URL. A local client that expects a command-based server can use an appropriate bridge such as mcp-remote. Connector availability depends on the client and its account settings.
What prevents an unconfirmed letter order?
The server requires confirmed: true and expectedTotalPence matching the current quoted total before it creates a paid order. The assistant and client are responsible for asking you for approval; the server checks the submitted confirmation fields, not a separate human click. Use a trusted client and review what you authorise.
How does the assistant authenticate?
Use OAuth sign-in and consent where supported by your client, or supply your account's bearer API key. API access must be enabled for the account. Keep keys private and do not paste them into a conversation or publish them in a repository.
Does it use a separate balance from the API or website?
No. MCP and REST orders share the enabled customer account's prepaid balance and order history. Website balance payments can use that balance too. Funding a website wallet alone does not enable API or MCP access.
Can I see what my AI assistant has ordered?
Yes. View orders in your dashboard, or use list_orders and get_order in your assistant. Review the recorded content, recipient and status rather than relying only on a conversational claim that a letter was sent.
Can I disconnect an AI assistant later?
Manage connected assistants and API access in your account's balance and access settings. Revoke the relevant OAuth connection or API key if you no longer trust it. Disconnecting does not recall a letter already ordered or posted.
Does preview_letter_price send a letter or charge me?
No. It calculates a price without creating an order or spending balance. A confirmed create_letter_order call is the paid operation.
Can the assistant guarantee when my letter arrives?
No. The assistant can select a postal service and read available order information, but arrival is governed by the postal service and its terms. Posting, tracking and confirmed delivery are different states.
Send Letters Online