MCP日历服务器
一个模型上下文协议(MCP)服务器,提供谷歌日历集成,允许人工智能助手按日期检索日历事件。
🚀 特性
- 谷歌日历集成:无缝连接到Google日历API
- 基于日期的事件检索:获取特定日期的日历事件
- MCP协议合规性:使用官方MCP SDK构建
- Docker支持:容器化部署就绪
- 环境配置:安全的API密钥管理
📋 先决条件
- Node.js 18+
- Google日历API凭证
- npm或yarn包管理器
🛠️ 安装
地方发展
- 克隆存储库
git clone
cd mcp_server_3- 安装依赖项
npm install- 环境设置
创建一个 .env 根目录中的文件:
GOOGLE_PUBLIC_API_KEY=your_google_api_key_here
CALENDER_ID=your_calendar_id@gmail.com- 启动服务器
npm startDocker部署
- 构建Docker镜像
docker build -t mcp-calendar-server .- 使用Docker Compose运行
docker-compose up -d🔧 配置
Google日历API设置
- 转到 谷歌云控制台
- 创建新项目或选择现有项目
- 启用Google日历API
- 创建凭据(API密钥)
- 将API密钥添加到
.env文件
环境变量
| 变量 | 描述 | 必填 |
|---|---|---|
GOOGLE_PUBLIC_API_KEY | Google日历API密钥 | 是 |
CALENDER_ID | 目标日历ID(通常是您的电子邮件) | 是 |
📖 api参考
工具
getMyCalendarDataByDate
检索特定日期的日历事件。
参数:
date(字符串):ISO格式的日期(例如,“2024-01-15”)
答复:
{
"meetings": [
"Meeting Title at 2024-01-15T10:00:00Z",
"Another Event at 2024-01-15T14:30:00Z"
]
}错误响应:
{
"error": "Error message description"
}🐳 码头工人
Dockerfile功能
- 多阶段构建:针对生产进行了优化
- 安全:非root用户执行
- 健康检查:集装箱健康监测
- Alpine Linux:最小图像大小
Docker Compose
这 docker-compose.yaml 包括:
- 服务编排
- 环境变量管理
- 网络配置
- 健康检查
- 批量安装用于开发
🔒 安全
- API密钥存储在环境变量中
- Docker容器以非root用户身份运行
.gitignore排除敏感文件- 源代码中没有硬编码凭据
📁 项目结构
mcp_server_3/
├── .env # Environment variables (not in repo)
├── .gitignore # Git ignore rules
├── Dockerfile # Docker container configuration
├── docker-compose.yaml # Docker Compose orchestration
├── package.json # Node.js dependencies and scripts
├── server.js # Main MCP server implementation
└── README.md # Project documentation🚀 发展
以开发模式运行
# Install dependencies
npm install
# Start the server
npm start代码的风格
- ES6模块
- 异步/等待异步操作
- Zod用于输入验证
- 基于环境的配置
🤝 贡献
- 分叉存储库
- 创建要素分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
📝 许可证
此项目根据ISC许可证获得许可-请参阅 许可证 文件以获取详细信息。
🆘 故障排除
常见问题
- “找不到模块”错误
- 确保 package.json 有 "type": "module" - 检查所有导入语句是否使用ES6语法
- Google API身份验证错误
- 验证您的API密钥是否正确 - 确保Google日历API已启用 - 检查日历ID格式
- Docker构建失败
- 确保Docker正在运行 - 检查Dockerfile语法 - 验证所有文件是否存在
调试模式
要使用调试日志运行,请执行以下操作:
DEBUG=* npm start📞 支持
有关支持和问题:
- 在存储库中创建问题
- 检查现有文档
- 查看Google日历API文档
🔄 更新日志
v1.0.0
- 初始版本
- 谷歌日历集成
- MCP协议实现
- Docker支持
- 基本错误处理
______________________________________________________________________
内置于❤️ 使用模型上下文协议
