Skip to content

Commit e6f7796

Browse files
committed
Add Gmail MCP server
Signed-off-by: Mohammod Al Amin Ashik <maa.ashik00@gmail.com> Claude-Session: https://claude.ai/code/session_01S58U7phvDgphx6ZTXuWMJQ
1 parent 14015a9 commit e6f7796

1 file changed

Lines changed: 84 additions & 0 deletions

File tree

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
{
2+
"$schema": "../schemas/server-definition.schema.json",
3+
"id": "shinzolabs.gmail-mcp-npx",
4+
"name": "Gmail (npx)",
5+
"alias": "gmail",
6+
"description": "Complete Gmail API access via MCP: send, read, search, and manage messages, threads, drafts, labels, filters, delegates, and settings (vacation responder, IMAP/POP, forwarding). Uses file-based Google OAuth2 with your own Google Cloud OAuth client.",
7+
"logo": "https://avatars.githubusercontent.com/u/112792321?v=4",
8+
"schema_version": "2.1",
9+
"categories": [
10+
"communication",
11+
"productivity"
12+
],
13+
"tags": [
14+
"gmail",
15+
"email",
16+
"google",
17+
"oauth",
18+
"messaging",
19+
"productivity"
20+
],
21+
"transport": {
22+
"type": "stdio",
23+
"command": "npx",
24+
"args": [
25+
"-y",
26+
"@shinzolabs/gmail-mcp"
27+
],
28+
"env": {
29+
"GMAIL_OAUTH_PATH": "${input:GMAIL_OAUTH_PATH}",
30+
"GMAIL_CREDENTIALS_PATH": "${input:GMAIL_CREDENTIALS_PATH}"
31+
},
32+
"metadata": {
33+
"inputs": [
34+
{
35+
"id": "GMAIL_OAUTH_PATH",
36+
"label": "OAuth Keys File Path",
37+
"description": "Path to your Google Cloud OAuth client keys file (gcp-oauth.keys.json). Create an OAuth 2.0 Client ID of type 'Desktop app' in Google Cloud Console with the Gmail API enabled, download the JSON, and point here. Leave blank to use the default ~/.gmail-mcp/gcp-oauth.keys.json.",
38+
"type": "file_path",
39+
"required": false,
40+
"secret": false,
41+
"placeholder": "~/.gmail-mcp/gcp-oauth.keys.json",
42+
"obtain": {
43+
"url": "https://console.cloud.google.com/apis/credentials",
44+
"instructions": "1. Open Google Cloud Console > APIs & Services > Credentials\n2. Enable the Gmail API for your project\n3. Configure the OAuth consent screen (add yourself as a test user)\n4. Click 'Create Credentials' > 'OAuth client ID'\n5. Choose application type 'Desktop app'\n6. Download the JSON and save it (e.g. ~/.gmail-mcp/gcp-oauth.keys.json)\n7. Run 'npx @shinzolabs/gmail-mcp auth' once to authorize in the browser and generate the credentials/token file",
45+
"button_label": "Open Google Cloud Console"
46+
}
47+
},
48+
{
49+
"id": "GMAIL_CREDENTIALS_PATH",
50+
"label": "Credentials / Token File Path",
51+
"description": "Path where the OAuth token (refresh token) is stored after authorizing. Generated by running 'npx @shinzolabs/gmail-mcp auth'. Leave blank to use the default ~/.gmail-mcp/credentials.json.",
52+
"type": "file_path",
53+
"required": false,
54+
"secret": false,
55+
"placeholder": "~/.gmail-mcp/credentials.json"
56+
}
57+
]
58+
}
59+
},
60+
"auth": {
61+
"type": "oauth",
62+
"instructions": "Bring your own Google OAuth client. In Google Cloud Console, enable the Gmail API and create an OAuth 2.0 Client ID of type 'Desktop app', then download the keys to gcp-oauth.keys.json. Run 'npx @shinzolabs/gmail-mcp auth' once to complete the browser consent flow; the resulting refresh token is saved to credentials.json. CLIENT_ID/CLIENT_SECRET/REFRESH_TOKEN env vars are only needed for remote/hosted deployments, not for local npx use."
63+
},
64+
"contributor": {
65+
"name": "shinzo-labs",
66+
"github": "shinzo-labs",
67+
"url": "https://github.com/shinzo-labs/gmail-mcp"
68+
},
69+
"links": {
70+
"repository": "https://github.com/shinzo-labs/gmail-mcp",
71+
"homepage": "https://github.com/shinzo-labs/gmail-mcp#readme",
72+
"documentation": "https://github.com/shinzo-labs/gmail-mcp#readme"
73+
},
74+
"platforms": [
75+
"all"
76+
],
77+
"capabilities": {
78+
"tools": true,
79+
"resources": false,
80+
"prompts": false,
81+
"read_only_mode": false
82+
},
83+
"changelog_url": "https://github.com/shinzo-labs/gmail-mcp/releases"
84+
}

0 commit comments

Comments
 (0)