使用说明
谷歌联系人MCP服务器
用于Google联系人API的模型上下文协议(MCP)服务器实现,使人工智能助手能够通过OAuth 2.0身份验证与Google联系人进行交互。
特性
-
完成Google联系人API集成
- 通过搜索和筛选列出联系人
- 获取个人联系方式
- 创建新联系人
- 更新现有联系人
- 删除联系人
- 列出联系人组
-
OAuth 2.0身份验证
- 安全的Google OAuth流
- 自动令牌刷新
- 会话管理
-
MCP协议支持
- 流式HTTP服务器传输
- 多个并发会话
- 基于工具的操作
-
生产就绪
- TypeScript实现
- 全面的错误处理
- 请求日志记录
- CORS支持
- 健康监测
先决条件
- Node.js 18+或兼容的运行时环境
- 启用人员API的谷歌云项目
- Google OAuth 2.0凭据(客户端ID和密码)
安装
- 克隆存储库:
git clone <repository-url>
cd google-contacts-mcp-server
- 安装依赖项:
npm install
- 配置环境变量:
cp env.example .env
编辑 .env 并添加您的Google OAuth凭据:
GOOGLE_CLIENT_ID=your_client_id_here
GOOGLE_CLIENT_SECRET=your_client_secret_here
GOOGLE_REDIRECT_URI=http://localhost:3003/oauth/callback
FRONTEND_URL=http://localhost:5173
谷歌云设置
- 首选 谷歌云控制台
- 创建新项目或选择现有项目
- 启用 人民API
- 转到“凭据”→ “创建凭据”→ “OAuth 2.0客户端ID”
- 配置OAuth同意屏幕
- 添加授权重定向URI:
http://localhost:3003/oauth/callback(发展)- 您的生产回调URL
- 将客户端ID和客户端密码复制到
.env
发展
使用热重载启动开发服务器:
npm run dev
服务器将于启动 http://localhost:3003 (可通过以下方式配置 PORT 有人)。
建筑
将TypeScript构建为JavaScript:
npm run build
运行构建版本:
npm start
API终点
健康检查
GET /health
返回服务器状态和版本。
OAuth流
1.获取授权URL
GET /oauth/authorize?userId=<user_id>&state=<state>
2.OAuth回调 (自动)
GET /oauth/callback?code=<code>&state=<state>
3.刷新令牌
POST /oauth/refresh
Body: { userId: string, refreshToken: string }
4.断开连接
POST /oauth/disconnect
Body: { userId: string }
MCP协议
初始化会话
POST /mcp
Content-Type: application/json
Body: MCP initialize request
工具执行
POST /mcp
Mcp-Session-Id: <session_id>
Body: MCP tool call request
会话通知(SSE)
GET /mcp
Mcp-Session-Id: <session_id>
MCP工具
1.google_contacts_list
列出并搜索联系人。
输入:
userId(必填):用于身份验证的用户IDquery(可选):搜索查询maxResults(可选):最大结果(默认值:100,最大值:1000)sortOrder(可选):排序顺序(默认:LAST_MODIFIED_DESENDING)
输出: 包含详细信息的联系人数组。
2.google_contacts_get
按资源名称获取特定联系人。
输入:
userId(必填):用于身份验证的用户IDresourceName(必填):联系人资源名称(例如,“people/c123456”)
输出: 联系方式。
3.google_contacts_create
创建新联系人。
输入:
userId(必填):用于身份验证的用户IDgivenName(可选):名字familyName(可选):姓氏emailAddresses(可选):电子邮件地址数组phoneNumbers(可选):电话号码数组organizations(可选):组织数组
输出: 已创建联系方式。
4.google_contacts_update
更新现有联系人。
输入:
userId(必填):用于身份验证的用户IDresourceName(必填):联系人资源名称updatePersonFields(必填):要更新的字段(例如,[“姓名”、“电子邮件地址”])- 其他要更新的字段
输出: 更新了联系方式。
5.谷歌联系人删除
删除联系人。
输入:
userId(必填):用于身份验证的用户IDresourceName(必填):联系人资源名称
输出: 成功确认。
6.谷歌联络小组
列出联系人组。
输入:
userId(必填):用于身份验证的用户ID
输出: 联系人组数组。
用法示例
JavaScript/TypeScript客户端
import { MCPClient } from '@modelcontextprotocol/sdk/client';
// Initialize MCP client
const client = new MCPClient({
serverUrl: 'http://localhost:3003/mcp',
transport: 'streamable-http',
});
// Connect to server
await client.connect();
// List contacts
const result = await client.callTool('google_contacts_list', {
userId: 'user123',
query: 'john',
maxResults: 10,
});
console.log(result.contacts);
使用AI助手
此MCP服务器可以与支持模型上下文协议的AI助手集成:
- 使用MCP服务器URL配置AI助手
- 通过OAuth流对用户进行身份验证
- 人工智能可以使用自然语言与联系人进行交互:
- “显示我的所有联系人”
- “通过电子邮件为John Doe创建联系人john@example.com"
- “将Jane的电话号码更新为555-1234”
部署
Cloudflare员工
部署到Cloudflare Workers进行生产:
# Create KV namespace for sessions
npm run kv:create
# Update wrangler.toml with namespace ID
# Deploy
npm run deploy
传统主机
将构建的服务器部署到任何Node.js托管平台:
- 构建:
npm run build - 设置环境变量
- 开始:
npm start
配置
环境变量:
| 变量 | 描述 | 默认值 |
|---|---|---|
PORT |
服务器端口 | 3003 |
NODE_ENV |
环境 | development |
GOOGLE_CLIENT_ID |
Google OAuth客户端ID | (必填) |
GOOGLE_CLIENT_SECRET |
Google OAuth客户端密码 | (必填) |
GOOGLE_REDIRECT_URI |
OAuth回调URL | http://localhost:3003/oauth/callback |
FRONTEND_URL |
前端应用程序URL | http://localhost:5173 |
安全
- OAuth令牌存储在内存中(基于会话)
- 对于生产,实施持久存储(数据库或KV存储)
- 所有端点都支持具有可配置源的CORS
- 过期时自动刷新令牌
- 使用状态参数保护OAuth 2.0流
错误处理
服务器提供全面的错误消息:
- 400错误请求:参数无效或缺少必填字段
- 401未经授权:需要身份验证或令牌已过期
- 403禁止:权限不足
- 404未找到:未找到联系人或资源
- 500内部服务器错误:服务器端错误
日志记录
不同级别的结构化日志记录:
debug:请求详细信息(仅用于开发)info:一般业务warn:非关键问题error:堆栈跟踪出现严重错误
贡献
欢迎投稿!拜托:
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
许可证
MIT许可证-有关详细信息,请参阅许可证文件。
支持
对于问题、疑问或贡献:
- 在GitHub上打开一个问题
- 检查现有文档
- 查看INTEGRATION.md指南
相关项目
由ZeroTwo提供技术支持
此Google Contacts MCP连接器是 ZeroTwo人工智能平台 --一体化的人工智能工作区,让您通过GPT-5、Claude和Gemini搜索、创建和管理您的谷歌联系人。
| 🌐 ZeroTwo——一个应用程序中的所有AI模型 | 使用GPT-5、Claude和Gemini管理您的谷歌联系人——所有这些都在一个地方。 |
| ✨ 零两个功能 | 人工智能联系人管理、电子邮件起草、网络搜索和MCP驱动的谷歌工作区工具。 |
| 🤖 人工智能模型——GPT-5、克劳德和双子座 | 使用世界上最好的人工智能来组织联系人、查找人员和起草外联信息。 |
| 🔌 ZeroTwo连接器和集成 | 将Google联系人、Gmail、Google日历等连接到您的AI工作流程。 |
| 💰 零二定价 | 一个替代ChatGPT Plus、Claude Pro和Gemini Advanced的订阅。 |
| 📝 ZeroTwo博客 | AI CRM提示、联系人管理指南和ZeroTwo产品更新。 |
| 🚀 免费试用ZeroTwo | 让AI组织你的联系人——今天就免费开始吧。 |
专为ZeroTwo打造 --使用此Google联系人MCP服务器 ZeroTwo的AI连接器系统 通过自然语言搜索联系人、创建新联系人和管理您的Google People数据。