mcp-personal
Provides tools for listing, retrieving, and sending emails via Gmail API.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-personallist my last 5 Gmail messages"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-personal
MCP server exposing Gmail, Outlook and Mercadona tools for Cursor and LangChain.
Installation
npm installCopy environment variables and fill in your credentials:
cp .env.example .env
# Edit .env with your Google and/or Microsoft app credentialsRelated MCP server: Email MCP Server
Credentials
Gmail
Go to Google Cloud Console.
Create or select a project, then enable the Gmail API.
Under APIs & Services → Credentials, create an OAuth 2.0 Client ID (Desktop app or Web application; if Web, set redirect URI to
http://localhost:3333/oauth2callbackor the value you use forGOOGLE_REDIRECT_URIso it does not clash with the MCP server port).Put the Client ID and Client Secret in
.envasGOOGLE_CLIENT_IDandGOOGLE_CLIENT_SECRET.
Outlook
Go to Azure Portal → App registrations → New registration.
Set supported account types and redirect URI as needed. For device code flow, no redirect is required.
Under Certificates & secrets, create a client secret if your app type needs it (e.g. confidential client).
Under API permissions, add Microsoft Graph → Delegated:
Mail.Read,Mail.Send,User.Read,offline_access.Put Application (client) ID and Directory (tenant) ID in
.envasAZURE_CLIENT_IDandAZURE_TENANT_ID. AddAZURE_CLIENT_SECRETif applicable.
Auth scripts (generate token files)
Run once (or when tokens expire) to write gmail-tokens.json and/or outlook-tokens.json in the project root. These files are gitignored.
npm run gmail:auth
npm run outlook:authRun the server
# Development
npm run dev
# Production (build first)
npm run build
npm startServer listens on http://0.0.0.0:3000 by default (override with PORT in .env). MCP endpoint: POST http://localhost:3000/mcp.
Configure MCP in Cursor
Open Cursor Settings → MCP (or edit your MCP config file).
Add a Streamable HTTP (or HTTP) MCP server with:
URL:
http://localhost:3000/mcp(or your deployed URL).Headers (if you set
MCP_API_KEYin.env):Authorization: Bearer <your MCP_API_KEY value>
Example config (structure may vary by Cursor version):
{
"mcpServers": {
"mcp-personal": {
"url": "http://localhost:3000/mcp",
"headers": {
"Authorization": "Bearer YOUR_MCP_API_KEY"
}
}
}
}If you do not set MCP_API_KEY, omit the Authorization header.
Tools
Tool | Description |
| Echo back a message (test tool). |
| List Gmail messages (maxResults, optional labelIds). |
| Get a single Gmail message by ID. |
| Send an email via Gmail (to, subject, body). |
| List Outlook messages (maxResults, optional folder). |
| Get a single Outlook message by ID. |
| Send an email via Outlook (to, subject, body). |
| Search Mercadona products (query). Returns name, price, link. Experimental; site may change. |
Environment variables (reference)
Variable | Description |
| Server port (default 3000). |
| Optional API key; if set, clients must send |
| Gmail OAuth client ID. |
| Gmail OAuth client secret. |
| OAuth redirect URI (e.g. |
| Azure app (client) ID. |
| Azure tenant ID (often |
| Azure client secret if required by app type. |
| Optional path to Gmail tokens file (default: project root |
| Optional path to Outlook tokens file (default: project root |
Token files gmail-tokens.json and outlook-tokens.json are created by the auth scripts and must not be committed.
Mercadona: The mercadona_search tool uses Playwright. On first use you may need to install browsers: npx playwright install chromium.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/afoone/mcp-personal'
If you have feedback or need assistance with the MCP directory API, please join our Discord server