Koble til hvilken som helst e-postkonto, lim inn én URL i en OAuth-kompatibel MCP-klient og godkjenn. Klienter uten OAuth bruker en API-nøkkel i stedet. Full verktøyreferanse og tilkoblingsveiledning nedenfor.
Ingen SDK kreves. MCPEmails snakker standard MCP over HTTP, så det passer rett inn i enhver MCP-kompatibel agent.
Registrer deg på mcpemails.com, og gå deretter til Dashboard → Inboxes → Connect Inbox. Velg Gmail, Outlook, iCloud, Fastmail eller en hvilken som helst IMAP-innboks, og fullfør deretter OAuth-flyten eller lim inn et app-passord. Innboksen din er klar på under ett minutt.
Koble til innboksen din →I Dashboard → API Keys, klikk "Create key". Gi den et navn, velg omfangene agenten din trenger (read:email og/eller send:email), og kopier nøkkelen. Den vises kun én gang.
# Your key looks like this:
mcpe_live_AbCdEfGhIjKlMnOpQrStUvWxYz123456Velg fanen for klienten din nedenfor. MCP-klienter med OAuth 2.0-støtte (claude.ai, Claude Desktop, Cursor og andre) limer bare inn URL-en og godkjenner, ingen API-nøkkel nødvendig. Klienter uten OAuth, samt skriptbasert tilgang, bruker API-nøkkelen fra steg 02.
# OAuth-capable clients (claude.ai, Claude Desktop, Cursor…)
# No API key required. Paste the URL, click Connect, authorize.
#
# Example: claude.ai
# 1. Go to claude.ai → Customize → Connectors
# 2. Click "Add connector" and paste this URL:
#
# https://www.mcpemails.com/api/mcp
#
# 3. Click Connect and sign in with your mcpemails account.
# 4. All six tools are live immediately.
#
# Claude Desktop and Cursor follow the same OAuth flow when
# the server URL is configured in their MCP settings.Ingen kopiering av innboks-UUID-er. Agenten din kaller list_inboxes først for å oppdage hver tilkoblet innboks og dens UUID, og deretter spør du: "Sjekk innboksen min og oppsummer de 5 siste uleste meldingene."
# The agent calls list_inboxes first, so no hardcoded UUIDs.
# System prompt (optional, for multi-inbox setups):
You have access to email via MCPEmails.
Start by calling list_inboxes to discover available inboxes.All trafikk går til ett enkelt Streamable HTTP-endepunkt. Autentiser med et bearer-token fra dashbordet ditt.
https://www.mcpemails.com/api/mcpSend en JSON-RPC 2.0-forespørselskropp. Støttede metoder: initialize, tools/list, tools/call.
curl -X POST https://www.mcpemails.com/api/mcp \
-H "Authorization: Bearer mcpe_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2025-06-18",
"clientInfo": { "name": "my-agent", "version": "1.0" },
"capabilities": {}
}
}'MCP-klienter som støtter OAuth 2.0 (claude.ai, Claude Desktop, Cursor og andre) kobler til automatisk via authorization code + PKCE. Ingen API-nøkkel, ingen konfigurasjonsfil. Lim inn URL-en og klikk Connect.
https://www.mcpemails.com/api/mcp som server-URLHvordan det fungerer under panseret
claude.ai registrerer seg selv via RFC 7591 Dynamic Client Registration, så du forhåndsregistrerer aldri en client-ID.
Godkjenning bruker OAuth 2.0 Authorization Code + PKCE (RFC 7636), så ingen client secret overføres noensinne.
Tokens er begrenset til nøyaktig de tillatelsene du godkjenner: read:email og/eller send:email.
Start med list_inboxes for å oppdage tilgjengelige innbokser og deres UUID-er. De resterende fem verktøyene tar hver en inbox_id returnert av det kallet. Klikk "Show example" for å se en full forespørsel og svar.
list_inboxesread:emaillist_inboxread:emailread_emailread:emailsearch_emailsread:emailsend_emailsend:emailreply_to_emailsend:emaillist_inboxesread:emailReturnerer alle innbokser som gjeldende API-nøkkel eller OAuth-token har tilgang til. Kall denne først for å oppdage inbox_id-verdier, slik at du aldri kopierer UUID-er fra dashbordet.
{}list_inboxread:emailList opp e-postsammendrag fra en tilkoblet innboks, nyeste først. Støtter paginering, mappevalg og filtrering på uleste.
| Parameter | Type | Påkrevd | Beskrivelse |
|---|---|---|---|
inbox_id | string (uuid) | påkrevd | UUID for innboksen som skal listes. Kall list_inboxes først for å oppdage tilgjengelige inbox-ID-er. |
limit | integer | valgfri | Maks antall resultater som returneres. Standard 20, maks 100. |
offset | integer | valgfri | Nullbasert pagineringsforskyvning. Standard 0. |
folder | string | valgfri | Mappe som skal listes. Standard "INBOX". Andre verdier: "SENT", "DRAFTS", "TRASH". |
unread_only | boolean | valgfri | Returner kun uleste meldinger. Standard false. |
read_emailread:emailHent det fulle innholdet i en enkelt e-post etter ID, inkludert tekstkropp, valgfri renset HTML og valgfrie vedleggsdata.
| Parameter | Type | Påkrevd | Beskrivelse |
|---|---|---|---|
inbox_id | string (uuid) | påkrevd | UUID for innboksen som inneholder e-posten. Kall list_inboxes for å hente tilgjengelige inbox-ID-er. |
message_id | string | påkrevd | Leverandørens meldings-ID fra list_inbox eller search_emails. |
include_html | boolean | valgfri | Inkluder renset HTML-kropp. Standard false. |
include_attachments | boolean | valgfri | Inkluder base64-vedleggsdata. Standard false. |
mark_as_read | boolean | valgfri | Merk meldingen som lest etter henting. Standard false. |
search_emailsread:emailSøk i en innboks med leverandørens egen spørresyntaks. Gmail støtter Gmail-søkeoperatorer; Outlook bruker $search; Fastmail- og IMAP-innbokser bruker tekstsøk.
| Parameter | Type | Påkrevd | Beskrivelse |
|---|---|---|---|
inbox_id | string (uuid) | påkrevd | UUID for innboksen det skal søkes i. Kall list_inboxes for å hente tilgjengelige inbox-ID-er. |
query | string | påkrevd | Søkespørring. For Gmail: "from:alice@example.com after:2026/01/01". For Outlook: naturlig språk eller KQL-spørringer. |
limit | integer | valgfri | Maks antall resultater. Standard 20, maks 100. |
offset | integer | valgfri | Pagineringsforskyvning. Standard 0. |
include_folders | array | valgfri | Begrens søket til disse mappenavnene. Standard: søk i alle mapper. |
send_emailsend:emailSend en ny e-post fra en tilkoblet innboks. Støtter ren tekst, valgfri HTML-kropp, CC/BCC og filvedlegg (opptil 10 MB totalt).
| Parameter | Type | Påkrevd | Beskrivelse |
|---|---|---|---|
inbox_id | string (uuid) | påkrevd | UUID for innboksen det skal sendes fra. Kall list_inboxes for å hente tilgjengelige inbox-ID-er. |
to | array[string] | påkrevd | Mottakernes e-postadresser. Maks 50. |
subject | string | påkrevd | E-postens emnefelt. Maks 998 tegn. |
body | string | påkrevd | E-postkropp i ren tekst. |
cc | array[string] | valgfri | CC-mottakere. Standard []. |
bcc | array[string] | valgfri | BCC-mottakere. Standard []. |
html_body | string | valgfri | HTML-versjon av kroppen (multipart/alternative). Den som kaller, er ansvarlig for trygg HTML. |
reply_to | string | valgfri | Reply-To-headeradresse. |
attachments | array | valgfri | Filvedlegg. Hvert element: { filename, mime_type, data (base64) }. Maks 20 elementer, 10 MB totalt. |
reply_to_emailsend:emailSend et svar på en eksisterende e-post. Trådheadere (In-Reply-To, References) settes automatisk. Støtter svar-til-alle og vedlegg.
| Parameter | Type | Påkrevd | Beskrivelse |
|---|---|---|---|
inbox_id | string (uuid) | påkrevd | UUID for innboksen som inneholder den opprinnelige meldingen. Kall list_inboxes for å hente tilgjengelige inbox-ID-er. |
message_id | string | påkrevd | Leverandørens meldings-ID for e-posten det svares på. |
body | string | påkrevd | Svarkropp i ren tekst. |
html_body | string | valgfri | Valgfri HTML-versjon av svaret. |
reply_all | boolean | valgfri | Svar til alle opprinnelige mottakere (To + Cc). Standard false. |
attachments | array | valgfri | Filvedlegg. Samme skjema som send_email. Maks 20 elementer. |
Feil ved autentisering, omfang og hastighetsgrense returnerer et JSON-RPC error-objekt med en numerisk kode. Feil ved verktøykjøring (innboks ikke funnet, leverandørfeil osv.) returnerer et vanlig result med isError: true og en lesbar melding i content[0].text.
| Kode | Type | Når den oppstår | Kan prøves på nytt |
|---|---|---|---|
-32001 | JSON-RPC error | Manglende, feilformatert, tilbakekalt eller utløpt API-nøkkel. Returneres også når API-nøkkelen mangler det nødvendige omfanget for verktøyet som kalles. | Nei |
-32601 | JSON-RPC error | Ukjent JSON-RPC-metode (f.eks. kall av en annen metode enn initialize, tools/list, tools/call) | Nei |
-32602 | JSON-RPC error | Ukjent verktøynavn, eller manglende / ugyldig parameter i tools/call | Nei |
-32029 | JSON-RPC error | Hastighetsgrense per nøkkel eller daglig kvote for planen overskredet. Sjekk data.error_code: "rate_limit_exceeded" vs "quota_exceeded". Sjekk data.retry_after (sekunder) før du prøver på nytt. | |
isError: true | Tool result | Verktøyet ble kjørt, men støtte på en feil (innboks ikke funnet, melding ikke funnet, autentiseringsfeil hos leverandør, ugyldig mottaker, vedlegg for stort, leverandør 5xx). Feilbeskrivelsen finnes i content[0].text. | Nei |
// Tool execution error: inbox not found
{
"jsonrpc": "2.0",
"id": 2,
"result": {
"content": [{ "type": "text", "text": "Inbox not found or not accessible." }],
"isError": true
}
}
// Rate limit error: JSON-RPC error object with data
{
"jsonrpc": "2.0",
"id": 3,
"error": {
"code": -32029,
"message": "Rate limit exceeded",
"data": {
"error_code": "rate_limit_exceeded",
"window": "per_minute",
"limit": 100,
"used": 100,
"retry_after": 34
}
}
}Håndheves per API-nøkkel uavhengig av plan. Ved overskridelse returnerer serveren feilkode -32029 med data.error_code: "rate_limit_exceeded" og et data.retry_after-felt (sekunder). Respekter den verdien før du prøver på nytt.
Bruken er ubegrenset; dette er en burst-grense for rimelig bruk per arbeidsområde (aggregert på tvers av alle API-nøklene dine). Ved overskridelse returnerer kall data.error_code: "rate_limit_exceeded" med data.window: "per_minute" og en data.retry_after-nedtelling (sekunder). Oppgrader planen din for et høyere tak.
For rate_limit_exceeded-feil, vent data.retry_after sekunder før du prøver på nytt. Bruk eksponentiell backoff for provider_error. Ikke prøv send_email automatisk på nytt ved provider_error, siden meldingen kan ha blitt akseptert av leverandøren allerede.
Start på Free-planen: ubegrenset, ingen kort kreves. Oppgrader til Solo eller Team for høyere burst-grenser og teamfunksjoner.