@mondaydotcomorg/agent-toolkit 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +170 -0
- package/package.json +85 -0
package/README.md
ADDED
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
# @mondaydotcomorg/agent-toolkit
|
|
2
|
+
|
|
3
|
+
A powerful toolkit for building AI agents that interact with the Monday.com API. This package provides a set of tools and utilities to help you create AI-powered integrations with Monday.com, supporting both OpenAI and Model Context Protocol (MCP) implementations.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @mondaydotcomorg/agent-toolkit
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Features
|
|
12
|
+
|
|
13
|
+
- OpenAI integration support
|
|
14
|
+
- Model Context Protocol (MCP) support
|
|
15
|
+
- Pre-built Monday.com API tools
|
|
16
|
+
- TypeScript support with full type definitions
|
|
17
|
+
- Modular architecture with subpath exports
|
|
18
|
+
|
|
19
|
+
## Subpath Exports
|
|
20
|
+
|
|
21
|
+
The package provides several modular components that can be imported separately:
|
|
22
|
+
|
|
23
|
+
- `@mondaydotcomorg/agent-toolkit/mcp` - MCP server implementation
|
|
24
|
+
- `@mondaydotcomorg/agent-toolkit/tools` - Monday.com API tools
|
|
25
|
+
- `@mondaydotcomorg/agent-toolkit/core` - Core utilities and base classes
|
|
26
|
+
- `@mondaydotcomorg/agent-toolkit/openai` - OpenAI integration
|
|
27
|
+
|
|
28
|
+
## Available Tools
|
|
29
|
+
|
|
30
|
+
The toolkit includes several pre-built tools for common Monday.com operations:
|
|
31
|
+
|
|
32
|
+
- Delete Item Tool
|
|
33
|
+
- Get Board Items Tool
|
|
34
|
+
- Create Item Tool
|
|
35
|
+
- Create Update Tool
|
|
36
|
+
- Get Board Schema Tool
|
|
37
|
+
|
|
38
|
+
## Usage
|
|
39
|
+
|
|
40
|
+
### OpenAI Integration
|
|
41
|
+
|
|
42
|
+
```typescript
|
|
43
|
+
import { MondayAgentToolkit } from '@mondaydotcomorg/agent-toolkit/openai';
|
|
44
|
+
import OpenAI from 'openai';
|
|
45
|
+
|
|
46
|
+
// Initialize the Monday.com Agent Toolkit
|
|
47
|
+
const mondayToolkit = new MondayAgentToolkit({
|
|
48
|
+
mondayApiToken: 'your-monday-api-token',
|
|
49
|
+
mondayApiVersion: '2025-01',
|
|
50
|
+
mondayApiRequestConfig: {},
|
|
51
|
+
toolsConfiguration: {
|
|
52
|
+
// Optional: Configure available tools
|
|
53
|
+
include: ['deleteItem', 'getBoardItems'],
|
|
54
|
+
// OR exclude specific tools
|
|
55
|
+
// exclude: ['createItem'],
|
|
56
|
+
// Disable all mutation operations
|
|
57
|
+
// disableMutations: true,
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
### MCP Integration
|
|
63
|
+
|
|
64
|
+
```typescript
|
|
65
|
+
import { MondayAgentToolkit } from '@mondaydotcomorg/agent-toolkit/mcp';
|
|
66
|
+
|
|
67
|
+
// Initialize with all tools
|
|
68
|
+
const toolkit = new MondayAgentToolkit({
|
|
69
|
+
mondayApiToken: 'your-monday-api-token',
|
|
70
|
+
mondayApiVersion: 'your-api-version',
|
|
71
|
+
mondayApiRequestConfig: {} // Optional request config
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
// Or initialize with specific tools / disable mutations
|
|
75
|
+
const toolkitWithSpecificTools = new MondayAgentToolkit({
|
|
76
|
+
mondayApiToken: 'your-monday-api-token',
|
|
77
|
+
mondayApiVersion: 'your-api-version',
|
|
78
|
+
mondayApiRequestConfig: {},
|
|
79
|
+
tools: {
|
|
80
|
+
include: ['mcp_monday_api_mcp_delete_item', 'create monday item'], // Only include these tools
|
|
81
|
+
readOnlyMode: true, // Disable all mutation tools (create, update, delete operations)
|
|
82
|
+
// OR
|
|
83
|
+
// exclude: ['tool_name_to_exclude'] // Include all tools except these
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
// The toolkit extends McpServer and automatically registers all available tools
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Types
|
|
91
|
+
|
|
92
|
+
The toolkit categorizes tools into two types:
|
|
93
|
+
|
|
94
|
+
- **Query Tools**: Read-only operations that fetch data (e.g., get board items, get board schema)
|
|
95
|
+
- **Mutation Tools**: Write operations that modify data (e.g., create item, delete item, create update)
|
|
96
|
+
|
|
97
|
+
You can disable all mutation tools using the `readOnlyMode` option in the configuration. This is useful when you want to ensure that your agent can only read data and cannot make any modifications.
|
|
98
|
+
|
|
99
|
+
### Using Individual Tools
|
|
100
|
+
|
|
101
|
+
```typescript
|
|
102
|
+
import { CreateItemTool } from '@mondaydotcomorg/agent-toolkit/tools';
|
|
103
|
+
import { ApiClient } from '@mondaydotcomorg/api';
|
|
104
|
+
|
|
105
|
+
const apiClient = new ApiClient({
|
|
106
|
+
token: 'your-monday-api-token',
|
|
107
|
+
apiVersion: 'your-api-version'
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
const createItemTool = new CreateItemTool(apiClient);
|
|
111
|
+
await createItemTool.execute(/* tool input */);
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Requirements
|
|
115
|
+
|
|
116
|
+
- Node.js >= 16.20.0
|
|
117
|
+
- Monday.com API token
|
|
118
|
+
- OpenAI API key (if using OpenAI integration)
|
|
119
|
+
|
|
120
|
+
## Development
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
# Install dependencies
|
|
124
|
+
npm install
|
|
125
|
+
|
|
126
|
+
# Build the package
|
|
127
|
+
npm run build
|
|
128
|
+
|
|
129
|
+
# Run tests
|
|
130
|
+
npm test
|
|
131
|
+
|
|
132
|
+
# Format code
|
|
133
|
+
npm run prettier
|
|
134
|
+
|
|
135
|
+
# Lint code
|
|
136
|
+
npm run lint
|
|
137
|
+
|
|
138
|
+
# Watch mode during development
|
|
139
|
+
npm run watch
|
|
140
|
+
|
|
141
|
+
# Update Monday.com GraphQL schema
|
|
142
|
+
npm run fetch:schema
|
|
143
|
+
|
|
144
|
+
# Generate types from schema
|
|
145
|
+
npm run codegen
|
|
146
|
+
|
|
147
|
+
# Fetch schema and generate types
|
|
148
|
+
npm run fetch:generate
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## License
|
|
152
|
+
|
|
153
|
+
MIT
|
|
154
|
+
|
|
155
|
+
## Author
|
|
156
|
+
|
|
157
|
+
monday.com API Team
|
|
158
|
+
|
|
159
|
+
## Repository
|
|
160
|
+
|
|
161
|
+
[GitHub Repository](https://github.com/mondaycom/monday-graphql-api/tree/main/packages/agent-toolkit)
|
|
162
|
+
|
|
163
|
+
## Keywords
|
|
164
|
+
|
|
165
|
+
- monday
|
|
166
|
+
- api
|
|
167
|
+
- agent-toolkit
|
|
168
|
+
- openai
|
|
169
|
+
- mcp
|
|
170
|
+
- ai-agents
|
package/package.json
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@mondaydotcomorg/agent-toolkit",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "monday.com agent toolkit",
|
|
5
|
+
"main": "dist/cjs/index.js",
|
|
6
|
+
"module": "dist/esm/index.js",
|
|
7
|
+
"types": "dist/esm/index.d.ts",
|
|
8
|
+
"type": "module",
|
|
9
|
+
"exports": {
|
|
10
|
+
"./mcp": {
|
|
11
|
+
"import": "./dist/esm/mcp/index.js",
|
|
12
|
+
"require": "./dist/cjs/mcp/index.js",
|
|
13
|
+
"types": "./dist/esm/mcp/index.d.ts"
|
|
14
|
+
},
|
|
15
|
+
"./tools": {
|
|
16
|
+
"import": "./dist/esm/tools/index.js",
|
|
17
|
+
"require": "./dist/cjs/tools/index.js",
|
|
18
|
+
"types": "./dist/esm/tools/index.d.ts"
|
|
19
|
+
},
|
|
20
|
+
"./core": {
|
|
21
|
+
"import": "./dist/esm/core/index.js",
|
|
22
|
+
"require": "./dist/cjs/core/index.js",
|
|
23
|
+
"types": "./dist/esm/core/index.d.ts"
|
|
24
|
+
},
|
|
25
|
+
"./openai": {
|
|
26
|
+
"import": "./dist/esm/openai/index.js",
|
|
27
|
+
"require": "./dist/cjs/openai/index.js",
|
|
28
|
+
"types": "./dist/esm/openai/index.d.ts"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"files": [
|
|
32
|
+
"dist",
|
|
33
|
+
"LICENSE"
|
|
34
|
+
],
|
|
35
|
+
"scripts": {
|
|
36
|
+
"build": "rollup -c",
|
|
37
|
+
"prettier": "prettier --write \"lib/**/*.ts\"",
|
|
38
|
+
"lint": "eslint --fix \"lib/**/*.ts\"",
|
|
39
|
+
"test": "jest -c",
|
|
40
|
+
"watch": "rollup -c -w",
|
|
41
|
+
"fetch:schema": "bash fetch-schema.sh",
|
|
42
|
+
"codegen": "graphql-codegen",
|
|
43
|
+
"fetch:generate": "npm run fetch:schema && npm run codegen"
|
|
44
|
+
},
|
|
45
|
+
"engines": {
|
|
46
|
+
"node": ">= 16.20.0"
|
|
47
|
+
},
|
|
48
|
+
"author": "monday.com Api Team",
|
|
49
|
+
"license": "MIT",
|
|
50
|
+
"keywords": [
|
|
51
|
+
"monday",
|
|
52
|
+
"api",
|
|
53
|
+
"agent-toolkit"
|
|
54
|
+
],
|
|
55
|
+
"repository": {
|
|
56
|
+
"type": "git",
|
|
57
|
+
"url": "https://github.com/mondaycom/monday-graphql-api/tree/main/packages/agent-toolkit"
|
|
58
|
+
},
|
|
59
|
+
"dependencies": {
|
|
60
|
+
"@mondaydotcomorg/api": "^9.0.1",
|
|
61
|
+
"zod": "^3.24.2",
|
|
62
|
+
"zod-to-json-schema": "^3.24.5"
|
|
63
|
+
},
|
|
64
|
+
"devDependencies": {
|
|
65
|
+
"@rollup/plugin-commonjs": "^25.0.7",
|
|
66
|
+
"@rollup/plugin-json": "^6.1.0",
|
|
67
|
+
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
68
|
+
"@rollup/plugin-terser": "^0.4.4",
|
|
69
|
+
"@rollup/plugin-typescript": "^11.1.6",
|
|
70
|
+
"@types/jest": "^29.5.12",
|
|
71
|
+
"@types/node": "^20.11.18",
|
|
72
|
+
"jest": "^29.7.0",
|
|
73
|
+
"moment": "^2.30.1",
|
|
74
|
+
"rollup": "^2.79.1",
|
|
75
|
+
"rollup-plugin-delete": "^2.0.0",
|
|
76
|
+
"rollup-plugin-dts": "^4.2.3",
|
|
77
|
+
"ts-jest": "^29.1.2",
|
|
78
|
+
"typescript": "^4.9.5"
|
|
79
|
+
},
|
|
80
|
+
"peerDependencies": {
|
|
81
|
+
"@langchain/core": "^0.3.43",
|
|
82
|
+
"@modelcontextprotocol/sdk": "^1.8.0",
|
|
83
|
+
"openai": "^4.91.0"
|
|
84
|
+
}
|
|
85
|
+
}
|