使用说明
谷歌mcp
汇总了Google API的MCP(Model Context Protocol)服务器群的pnpm workspace单报告。
包裹
软件包|说明|
|---|---|
| packages/auth |共通OAuth认证(PKCE对应)|
| packages/calendar 谷歌Calendar MCP服务器
| packages/gmail |Gmail MCP服务器|
| packages/sheets 谷歌Sheets MCP服务器
| packages/docs 谷歌Docs MCP服务器
设置
1.GCP项目准备
- 谷歌云控制台 在中创建项目
- 启用要使用的API(Calendar/Gmail/Sheets/Drive)
- 设置“授权”屏幕
- 创建OAuth2.0客户端ID(桌面应用程序)
- 下载认证信息的JSON文件→
credentials.json保存为
2. MCP设定
npx 中所述修改相应参数的值。
{
"mcpServers": {
"google-calendar": {
"command": "npx",
"args": ["-y", "@shivaduke28/google-calendar-mcp"],
"env": {
"GOOGLE_OAUTH_CREDENTIALS": "/path/to/credentials.json",
"GOOGLE_MCP_CONFIG": "/path/to/config.json"
}
},
"gmail": {
"command": "npx",
"args": ["-y", "@shivaduke28/gmail-mcp"],
"env": {
"GOOGLE_OAUTH_CREDENTIALS": "/path/to/credentials.json"
}
},
"google-sheets": {
"command": "npx",
"args": ["-y", "@shivaduke28/google-sheets-mcp"],
"env": {
"GOOGLE_OAUTH_CREDENTIALS": "/path/to/credentials.json",
"GOOGLE_MCP_CONFIG": "/path/to/config.json"
}
},
"google-docs": {
"command": "npx",
"args": ["-y", "@shivaduke28/google-docs-mcp"],
"env": {
"GOOGLE_OAUTH_CREDENTIALS": "/path/to/credentials.json",
"GOOGLE_MCP_CONFIG": "/path/to/config.json"
}
}
}
}
3.环境变数
| 变数 | 必须 | 说明 |
|---|---|---|
GOOGLE_OAUTH_CREDENTIALS 是:客户机凭据的JSON文件路径 |
||
GOOGLE_MCP_CONFIG 否:公用配置文件路径(用于calendar/sheets/docs) |
||
GOOGLE_OAUTH_TOKENS |否|令牌保存位置(默认值: ~/.config/<package>-mcp/tokens.json) |
路径包括 ~ 可以使用$HOME 对较大场景进行渲染期间已观察到该故障。
4.认证
首次启动时浏览器打开,要求用谷歌账户进行认证。认证后,令牌 ~/.config/<package>-mcp/tokens.json 中所述修改相应参数的值。支持PKCE(Proof Key for Code Exchange)。
配置
GOOGLE_MCP_CONFIG 中描述的场景,使用下列步骤创建明细表,以便在概念设计中分析体量的周长。
{
"calendar": {
"internalDomain": "example.com",
"permissions": {
"read": { "self_only": "allow", "internal": "allow", "external": "allow" },
"create": { "self_only": "allow", "internal": "deny", "external": "deny" },
"update": { "self_only": "allow", "internal": "deny", "external": "deny" },
"delete": { "self_only": "deny", "internal": "deny", "external": "deny" }
}
},
"sheets": {
"allowedSpreadsheets": [
{ "id": "spreadsheet-id", "name": "表示名", "access": "readonly" }
]
},
"docs": {
"allowedDocuments": [
{ "id": "document-id", "name": "表示名" }
],
"allowedFolders": [
{ "id": "folder-id", "name": "表示名" }
]
}
}
每个包都有自己的键(calendar, sheets, docs),忽略其他关键帧。有关详细信息,请参见每个包的自述文件。
发展
构建测试
pnpm install # 依存解決
pnpm build # 全パッケージビルド
pnpm typecheck # 全パッケージ型チェック
pnpm -r test # 全パッケージテスト
在本地构建中启动MCP服务器
构建的 dist/index.js 中所述修改相应参数的值。
{
"mcpServers": {
"google-calendar": {
"command": "node",
"args": ["/path/to/google-mcp/packages/calendar/dist/index.js"],
"env": {
"GOOGLE_OAUTH_CREDENTIALS": "/path/to/credentials.json",
"GOOGLE_MCP_CONFIG": "/path/to/config.json"
}
}
}
}
许可证
国际协调委员会
