Monday.com API服务器

一个提供与Monday.com GraphQL v2 API交互工具的服务器,使AI助手能够管理看板、项目、用户并在Monday.com工作区执行各种操作。

  • by sagyg
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 sagyg/mcp-monday

使用说明

MCP Monday.com服务器

一个模型上下文协议(MCP)服务器,提供与Monday.com的GraphQL v2 API交互的工具。此服务器使AI助手能够管理板、项目、用户,并在Monday.com工作区执行各种操作。

特性

🔧 可用工具(只读)

  • 账户管理

    • get_account -获取帐户信息,包括计划详细信息和用户
  • 董事会运营

    • get_boards -列出所有包含基本信息的板
    • get_board -获取特定电路板的详细信息
    • get_board_items -从特定板获取所有项目
  • 用户和团队管理

    • get_users -获取帐户中的所有用户
    • get_teams -让帐户中的所有团队
  • 搜索与发现

    • search_items -全面按列值搜索项目
  • 活动跟踪

    • get_updates -获取项目的活动日志/更新

备注:出于安全考虑,此服务器提供对Monday.com的只读访问。没有可用的创建、更新或删除操作。

快速开始

先决条件

  • 已安装Node.js 20+
  • 具有API访问权限的Monday.com帐户
  • 星期一.com API令牌

安装

  1. 克隆此存储库:
git clone https://github.com/your-username/mcp-monday.git
cd mcp-monday
  1. 安装依赖项:
npm install
  1. 设置环境变量:
cp .env.example .env
  1. 编辑 .env 并添加您的Monday.com API令牌:
MONDAY_TOKEN=your_monday_api_token_here
MONDAY_API_URL=https://api.monday.com/v2

获取您的Monday.com API代币

  1. 转到您的Monday.com帐户
  2. 点击您的个人资料图片(左下角)
  3. 选择“管理员”→ "API"
  4. 生成新的API令牌
  5. 将令牌复制到您的 .env 文件

发展

构建项目:

npm run build

以开发模式启动:

npm run dev

运行测试:

npm test

棉绒和格式代码:

npm run lint
npm run format

与MCP客户端一起使用

Claude桌面版

将此服务器添加到您的Claude Desktop配置中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "mcp-monday": {
      "command": "node",
      "args": ["path/to/mcp-monday/dist/index.js"],
      "env": {
        "MONDAY_TOKEN": "your_monday_api_token_here"
      }
    }
  }
}

Visual Studio Code

创建一个 mcp.json VS Code工作区中的文件:

{
  "mcpServers": {
    "mcp-monday": {
      "command": "node",
      "args": ["path/to/mcp-monday/dist/index.js"],
      "env": {
        "MONDAY_TOKEN": "your_monday_api_token_here"
      }
    }
  }
}

然后使用Ctrl+Shift+P并选择“MCP:重新启动服务器”加载配置。

工具调用示例

获取帐户信息

{
  "tool": "get_account"
}

列出所有董事会

{
  "tool": "get_boards",
  "parameters": {
    "limit": 10
  }
}

获取董事会详细信息

{
  "tool": "get_board",
  "parameters": {
    "boardId": "1234567890"
  }
}

搜索项目

{
  "tool": "search_items",
  "parameters": {
    "query": "urgent",
    "limit": 5
  }
}

获取板项

{
  "tool": "get_board_items",
  "parameters": {
    "boardId": "1234567890",
    "limit": 20
  }
}

获取用户

{
  "tool": "get_users",
  "parameters": {
    "limit": 10
  }
}

环境变量

变量 描述 默认值
MONDAY_TOKEN 您的Monday.com API令牌 必需
MONDAY_API_URL Monday.com API端点 https://api.monday.com/v2

安全

  • 始终确保您的Monday.com API代币的安全
  • 永远不要承诺你的 .env 文件到版本控制
  • 为不同的部署使用特定于环境的令牌
  • API令牌与您的Monday.com用户帐户具有相同的权限

发展

项目结构

mcp-monday/
├── src/
│   ├── index.ts           # Main MCP server
│   ├── monday-client.ts   # Monday.com API client
│   └── tools/
│       └── index.ts       # Tool definitions
├── dist/                  # Compiled JavaScript
├── .env.example          # Environment template
├── package.json
├── tsconfig.json
└── README.md

脚本

  • npm start -运行已编译的服务器
  • npm run dev -自动重新加载的开发模式
  • npm run build -将TypeScript构建为JavaScript
  • npm test -运行测试
  • npm run lint -Lint代码
  • npm run format -使用Prettier格式化代码
  • npm run type-check -不发射的类型检查

贡献

  1. 分叉存储库
  2. 创建要素分支: git checkout -b feature/amazing-feature
  3. 进行更改
  4. 运行测试: npm test
  5. 运行linting: npm run lint
  6. 提交您的更改: git commit -m 'Add amazing feature'
  7. 推到分支: git push origin feature/amazing-feature
  8. 打开拉取请求

Monday.com GraphQL API

此服务器使用Monday.com的GraphQL v2 API。有关可用查询和突变的更多信息,请参阅:

故障排除

常见问题

错误:“MONDAY_TOKEN环境变量是必需的”

  • 确保您已创建 .env 使用API令牌文件
  • 验证令牌的格式是否正确,没有多余的空格

错误:“GraphQL错误:…”

  • 检查您的API令牌是否具有所需的权限
  • 验证电路板/项目ID是否存在,以及您是否有权访问它们
  • 查看Monday.com API文档以了解具体查询

错误:“找不到模块'@modelcontextprotocol/sdk'”

  • 跑 npm install 安装依赖项
  • 确保你使用的是Node.js 20+

调试模式

运行附加日志:

DEBUG=mcp-monday npm start

API费率限制

Monday.com有API价格限制。如果遇到速率限制:

  • 减少请求的频率
  • 使用较小的分页 limit 价值观
  • 在客户机中实现指数回退

许可证

MIT许可证-有关详细信息,请参阅许可证文件。

支持


内置❤️ 使用 模型上下文协议