Skip to main content
Glama
WalidMoultamiss

CocoInbox MCP Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MCP_HTTP_PORTNoHTTP transport port.3100
COCOINBOX_TOKENNoOptional pre-set Bearer token.
COCOINBOX_API_URLNoExisting REST API base URL.http://localhost:4000

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
loginA

Open the CocoInbox secure login portal (browser). Prefer this over asking for passwords in chat.

When presenting the result:

  • Show a short connect card with the login link/button.

  • Do NOT write multi-step "copy auth code" instructions.

  • If portal_opened is true, the window should already be open.

  • If the user later pastes a one-time code, call complete_login({ code }). Clients with MCP OAuth can also use the built-in Authenticate / mcp_auth flow instead.

connectA

Alias for login — open the CocoInbox secure connect portal. Preferred name for "log me in" / "get user" when not authenticated.

complete_loginA

Finish browser login only when the user pastes the one-time auth code from the success page (fallback if OAuth/portal did not auto-connect).

login_with_passwordA

Fallback programmatic login (prefer login/connect portal or MCP OAuth). Use only if the user explicitly pastes credentials.

logoutA

Clear the in-memory auth session and selected sender email.

get_current_userA

Return the authenticated user profile (includes company when set).

If not connected: opens the secure login portal automatically and returns a login_portal card — present that card, do not invent multi-step paste instructions.

auth_statusA

Show whether this MCP process is authenticated. If not, returns a login_portal card (call connect/login or open the URL).

get_privacy_scoreA

Get the user privacy / security score (GET /api/security/score).

scan_dark_webA

Scan one email address on the dark web for breaches (POST /api/security/dark-web-scan).

scan_dark_web_allB

Scan the account email plus all ephemeral addresses (POST /api/security/dark-web-scan-all).

list_foldersA

List mail dossiers/folders for the user (GET /api/folders).

create_folderB

Create a new mail dossier/folder (POST /api/folders). Example name: "Work" or "mail/aze-walid".

create_folder_for_emailA

Create a dossier for a mailbox address (default name mail/). Optionally use a custom folder name.

move_email_to_folderB

Move a message (inbound or sent) into a dossier (PATCH /api/mail/messages/:id/move).

list_emailsA

List ephemeral email addresses for the logged-in user.

create_emailC

Create a new ephemeral CocoInbox address. Optionally auto-select it as From.

select_emailB

Select which mailbox address to send from (id from list_emails, or "fixed").

get_emailC

Fetch the message thread for one mailbox address.

send_emailC

Send an email via POST /api/mail/send using the selected From address. Automatically moves the sent message into the "MCP" dossier.

submit_ideaA

Save an idea to the user's CocoInbox account (title + description). Same as the Ideas page on the website. Use when the user wants to note a product/feature wish, or when no existing MCP tool covers their need — do not invent fake tools.

list_my_ideasA

List ideas (title + description + status) previously submitted for this authenticated account. Same data as CocoInbox → Ideas (/ideas).

request_missing_toolC

Alias for submit_idea. Prefer submit_idea.

list_my_tool_requestsA

Alias for list_my_ideas. Prefer list_my_ideas.

crm_summaryA

Compact CRM counts for this user (groups, leads, tasks todo). Start here to see state without loading full lists.

crm_create_groupA

Create a lead group (campaign). REQUIRED: name + why (outreach reason, e.g. "car garages without websites in Casablanca → pitch website build"). Also set source_ai (claude|grok|cursor|manual) and optional location. Returns group id for crm_add_leads.

crm_list_groupsB

List CRM lead groups (token-friendly table). Filter: status active|paused|archived.

When presenting the result:

  • Display as a Markdown table using content.columns / content.rows.

  • Do not output raw JSON unless the user asks.

  • For empty results, show content.empty.

  • Keep why short; full why is in crm_get_group.

crm_get_groupA

Get one lead group by id (includes why / source_ai / location).

crm_add_leadsA

Add up to 25 leads to a group you own. Include name, email, phone, company, address, city, map_url, website, has_website=false when no site. Private to this user — no cross-user leak.

crm_list_leadsB

List CRM leads as a table (optional group_id / with_email / status).

When presenting the result:

  • Display as a Markdown table using content.columns / content.rows.

  • Do not output raw JSON unless the user asks.

  • For empty results, show content.empty.

  • Prefer company + name; show "sans site" when has_website is false.

crm_generate_prospect_tasksA

For a group: create email_prospect tasks for leads that have emails. Each task brief + draft uses group.why. Never sends email — returns drafts. After review, send with send_email and mark task done via crm_update_task.

crm_list_tasksA

List CRM tasks as a table (optional group_id / status todo|doing|done|cancelled).

When presenting the result:

  • Display as a Markdown table using content.columns / content.rows.

  • Do not output raw JSON unless the user asks.

  • For empty results, show content.empty.

  • After sending a prospect email with send_email, mark the task done via crm_update_task.

crm_update_leadB

Update one of your leads (status, email, notes, etc.). Ownership enforced server-side.

crm_update_taskA

Update a CRM task status or draft. After sending prospect email via send_email, set status=done.

get_company_profileA

Get the user's company profile + generated report (name, what they do, offer, audience).

When presenting:

  • Summarize the company clearly (name, what they do, offer).

  • If configured=false, tell the user to fill Profil → Entreprise or call update_company_profile.

  • Use this before creating CRM groups / prospect tasks so outreach matches the real business.

update_company_profileA

Save/update the sender company profile. Regenerates an AI report used to refine CRM prospect emails.

Required: name OR description. Prefer filling name, description (what you do), and offer (what you pitch).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/WalidMoultamiss/cocoinbox-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server