日历服务器

一个基于Model Context Protocol (MCP)的日历管理服务器,兼容OpenAI Tools Remote MCP规范,提供创建、列出、获取、更新、删除和搜索事件的功能。

  • by chrestopherm77
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 chrestopherm77/mcp-calendar-server

使用说明

MCP日历服务器-兼容OpenAI

此服务器实现日历管理模型上下文协议 (MCP),与 OpenAI Tools Remote MCP 规范兼容。

回顾

  • ✅ 创建事件 向日历添加新事件
  • ✅ 列出事件 - 使用日期过滤器查看事件
  • ✅ 获取事件 特定事件的细节
  • ✅ 更新事件 修改现有事件
  • ✅ 删除事件 从日历中删除事件
  • ✅ 搜索活动 - 按标题或描述搜索事件

本地安装

1. 安装依赖关系

npm install

2. 运行服务器

npm start

3. 发展方式

npm run dev

服务器将可在 http://localhost:3000

不部署铁路

1. 连接到铁路

  1. 访问 铁路
  2. 创建新帐户或登录
  3. Clique em“新项目”
  4. Selecione“从GitHub仓库部署”
  5. 连接您的仓库

2. 设置环境变量

在Railway中,转到“变量”标签并添加:

  • PORT将由Railway自动设置
  • 必要的其他变量

3.部署automático

Railway 将使用 package.json e railway.json

Uso-com OpenAI

1.配置没有OpenAI

使用 Railway 部署的 URL 作为 MCP 端点:

https://seu-app.railway.app/mcp

2. 配置示例

{
  "mcp_servers": {
    "calendar": {
      "url": "https://seu-app.railway.app/mcp",
      "transport": "http"
    }
  }
}

端点

MCP负责人

  • POST /mcp -端点主体执行MCP(JSON-RPC 2.0)

资讯

  • GET / 服务器基本信息
  • GET /health -健康检查
  • GET /info - 详细信息 + 工具列表

可用工具

1.创建事件

在日历中创建新事件 。

参数 :

  • title (必填): 活动标题
  • start_time 开始日期/时间(ISO 8601)
  • end_time 结束日期/时间(ISO 8601)
  • description (可选): 事件描述
  • location (可选): 活动地点
  • attendees (opcial):参与者电子邮件列表

2.事件列表

列出带有可选过滤器的事件 。

参数 :

  • start_date (可选): 过滤器开始日期 (YYY-MM-DD)
  • end_date (可选): 过滤器结束日期 (YYY-MM-DD)
  • limit (可选):最大事件数(默认:10)

3.事件

获取特定事件的详细信息。

参数 :

  • event_id (必填): 事件ID

4.更新事件

更新已有事件 。

参数 :

  • event_id (必填): 事件ID
  • 其它可选的更新字段

5.删除事件

从日历中删除事件 。

参数 :

  • event_id (必填): 事件ID

6.搜索事件

按标题或描述搜索事件 。

参数 :

  • query (必填): 搜索条件
  • limit (可选):最大结果数(默认:10)

使用范例

创建事件

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "create_event",
    "arguments": {
      "title": "Reunião de Equipe",
      "description": "Reunião semanal da equipe de desenvolvimento",
      "start_time": "2024-01-15T10:00:00Z",
      "end_time": "2024-01-15T11:00:00Z",
      "location": "Sala de Conferências",
      "attendees": ["joao@empresa.com", "maria@empresa.com"]
    }
  },
  "id": 1
}

列出事件

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "list_events",
    "arguments": {
      "start_date": "2024-01-01",
      "end_date": "2024-01-31",
      "limit": 5
    }
  },
  "id": 2
}

项目结构

mcp-calendar-server/
├── server.js          # Servidor principal
├── package.json       # Dependências
├── railway.json       # Configuração Railway
├── README.md          # Este arquivo
└── .gitignore         # Arquivos ignorados pelo Git

使用的技术

  • Node.js -运行时JavaScript
  • Express.js -框架web
  • JSON-RPC 2.0 - 通信协议
  • 通用唯一标识符 生成唯一 ID
  • CORS 跨源访问控制

生产考虑因素

存储

  • 当前正在使用内存存储
  • 用于生产,集成到数据库(MongoDB,PostgreSQL等)

认证

  • 添加适合生产的身份验证
  • 考虑使用 JWT 或 OAuth2

校验

  • 更强大的输入数据验证
  • 数据卫生

日志记录

  • 实施适当的日志记录
  • 错误监控

速率限制

  • 实施限速措施
  • 考虑使用 Redis 进行分布式控制

支持

如有疑问或问题:

  1. 检查铁路日志
  2. 使用健康检查测试端点
  3. 在 OpenAI 中验证 MCP 配置

许可证

麻省理工学院许可证 - 详情请参阅许可证文件。