gmail-mcp MCP Server
# gmail-mcp MCP Server
[](https://smithery.ai/server/@mundume/gmail-mcp)
a gmail mcp server built on top of typescript and the gmail api
This is a TypeScript-based MCP server that implements a simple notes system. It demonstrates core MCP concepts by providing:
- Resources representing text notes with URIs and metadata
- Tools for creating new notes
- Prompts for generating summaries of notes
## Features
### Resources
- List and access notes via `note://` URIs
- Each note has a title, content and metadata
- Plain text mime type for simple content access
### Tools
- `create_note` - Create new text notes
- Takes title and content as required parameters
- Stores note in server state
### Prompts
- `summarize_notes` - Generate a summary of all stored notes
- Includes all note contents as embedded resources
- Returns structured prompt for LLM summarization
## Development
Install dependencies:
```bash
npm install
```
Build the server:
```bash
npm run build
```
For development with auto-rebuild:
```bash
npm run watch
```
## Installation
### Installing via Smithery
To install Gmail Notes Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@mundume/gmail-mcp):
```bash
npx -y @smithery/cli install @mundume/gmail-mcp --client claude
```
### Installing Manually
To use with Claude Desktop, add the server config:
On MacOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
On Windows: `%APPDATA%/Claude/claude_desktop_config.json`
```json
{
"mcpServers": {
"gmail-mcp": {
"command": "/path/to/gmail-mcp/build/index.js"
}
}
}
```
### Debugging
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the [MCP Inspector](https://github.com/modelcontextprotocol/inspector), which is available as a package script:
```bash
npm run inspector
```
The Inspector will provide a URL to access debugging tools in your browser.
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: getEmailContent retrieves a specific email's full content, listEmails lists emails with optional filtering/summarization, and sendEmail sends emails. There is no overlap in functionality, making tool selection straightforward for an agent.
All tools follow a consistent verb_noun naming pattern (getEmailContent, listEmails, sendEmail) with clear, descriptive names. The naming style is uniform throughout the set, enhancing readability and predictability.
With only 3 tools, the set feels thin for a Gmail integration, as it lacks operations like deleting emails, marking as read/unread, or managing labels. While the core functions are present, the scope is limited compared to typical email management needs.
The tools cover basic read (get, list) and write (send) operations, but there are notable gaps in the email lifecycle, such as updating email status (e.g., delete, archive, mark as read) or handling attachments. This could lead to agent workarounds for common email tasks.