@qikdev/mcp 6.10.3 → 6.12.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 +122 -157
- package/build/bin/cli.js +114 -135
- package/build/bin/cli.js.map +1 -1
- package/build/src/config.d.ts +10 -2
- package/build/src/config.d.ts.map +1 -1
- package/build/src/config.js +36 -4
- package/build/src/config.js.map +1 -1
- package/build/src/index.d.ts +0 -1
- package/build/src/index.d.ts.map +1 -1
- package/build/src/index.js +0 -10
- package/build/src/index.js.map +1 -1
- package/build/src/start.d.ts +3 -0
- package/build/src/start.d.ts.map +1 -0
- package/build/src/start.js +9 -0
- package/build/src/start.js.map +1 -0
- package/build/src/tools/file.d.ts +23 -0
- package/build/src/tools/file.d.ts.map +1 -0
- package/build/src/tools/file.js +282 -0
- package/build/src/tools/file.js.map +1 -0
- package/build/src/tools/index.d.ts.map +1 -1
- package/build/src/tools/index.js +9 -0
- package/build/src/tools/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
# Qik MCP Server
|
|
2
2
|
|
|
3
|
-
A
|
|
3
|
+
A Model Context Protocol (MCP) server for the Qik platform, enabling AI assistants to interact with Qik's content management system, user management, forms, files, and more.
|
|
4
4
|
|
|
5
5
|
## Install
|
|
6
6
|
|
|
7
7
|
### One-Click Install (Claude Desktop)
|
|
8
8
|
|
|
9
|
-
Download the [`qik.mcpb`](https://api.qik.dev/file/69a624516644ea20ba482e2e/qik.mcpb) file and open it
|
|
9
|
+
1. Download the [`qik.mcpb`](https://api.qik.dev/file/69a624516644ea20ba482e2e/qik.mcpb) file and open it
|
|
10
|
+
2. Claude Desktop will prompt you to install the extension
|
|
11
|
+
3. Enter your Qik API access token and a server name when prompted
|
|
12
|
+
4. **Restart Claude Desktop** — the server won't appear until you quit and reopen the app
|
|
10
13
|
|
|
11
|
-
|
|
14
|
+
> **Multiple organisations:** You can install the extension multiple times with different access tokens and server names (e.g. `qik-acme`, `qik-contoso`) to connect to multiple Qik organisations at once.
|
|
15
|
+
|
|
16
|
+
### CLI Install
|
|
12
17
|
|
|
13
18
|
```bash
|
|
14
19
|
npx @qikdev/mcp setup
|
|
@@ -19,192 +24,152 @@ Setup will ask you to choose how to authenticate:
|
|
|
19
24
|
1. **Login with email and password** — enter your Qik credentials (supports MFA). The server stores a refresh token and automatically keeps your session alive.
|
|
20
25
|
2. **Enter an access token** — paste a static token generated in the Qik dashboard.
|
|
21
26
|
|
|
22
|
-
|
|
27
|
+
You'll then choose a server name (defaults to `qik-{orgname}`) and the CLI will configure Claude Desktop automatically.
|
|
23
28
|
|
|
24
|
-
|
|
29
|
+
**Important: Restart Claude Desktop after setup.** The server won't be available until you quit and reopen the app.
|
|
25
30
|
|
|
26
|
-
|
|
27
|
-
- **Smart Validation**: Validates requests against actual content type definitions before making API calls
|
|
28
|
-
- **Comprehensive Coverage**: 48 tools covering content management, profiles, workflows, campaigns, interface building, and more
|
|
29
|
-
- **Automatic Token Refresh**: Sessions stay alive — tokens are refreshed automatically before they expire
|
|
30
|
-
- **Intelligent Error Handling**: Context-aware error messages with suggested fixes
|
|
31
|
+
> **Multiple organisations:** Run `npx @qikdev/mcp setup` again to add another organisation. Each one gets its own server name and config file.
|
|
31
32
|
|
|
32
|
-
##
|
|
33
|
+
## CLI Commands
|
|
33
34
|
|
|
34
35
|
```bash
|
|
35
|
-
npx @qikdev/mcp setup #
|
|
36
|
-
npx @qikdev/mcp status #
|
|
37
|
-
npx @qikdev/mcp update-token # Update
|
|
38
|
-
npx @qikdev/mcp
|
|
39
|
-
npx @qikdev/mcp remove # Remove
|
|
36
|
+
npx @qikdev/mcp setup # Set up a new instance (can run multiple times)
|
|
37
|
+
npx @qikdev/mcp status # Show all configured instances and their status
|
|
38
|
+
npx @qikdev/mcp update-token # Update the access token for an instance
|
|
39
|
+
npx @qikdev/mcp update # Update to the latest version
|
|
40
|
+
npx @qikdev/mcp remove # Remove an instance
|
|
41
|
+
npx @qikdev/mcp install # Show installation guide
|
|
40
42
|
```
|
|
41
43
|
|
|
42
|
-
|
|
44
|
+
When you have multiple instances configured, commands like `update-token` and `remove` will prompt you to choose which instance to manage.
|
|
43
45
|
|
|
44
|
-
|
|
45
|
-
- `qik_get_user_session` - Get current user session information
|
|
46
|
+
## Available Tools
|
|
46
47
|
|
|
47
|
-
###
|
|
48
|
-
- `
|
|
49
|
-
- `
|
|
48
|
+
### Discovery
|
|
49
|
+
- `get_glossary` — List all content types and their definitions
|
|
50
|
+
- `get_content_type_details` — Get detailed schema for a content type
|
|
51
|
+
- `search_content_types` — Search content types by keyword
|
|
52
|
+
- `get_filter_comparators` — Get available filter operators
|
|
53
|
+
- `get_entity_relationships` — Get relationship types between entities
|
|
50
54
|
|
|
51
55
|
### Content Management
|
|
52
|
-
- `
|
|
53
|
-
- `
|
|
54
|
-
- `
|
|
55
|
-
- `
|
|
56
|
-
- `
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
- `
|
|
60
|
-
- `qik_create_profile` - Create new profile/person
|
|
61
|
-
|
|
62
|
-
### Form Management
|
|
63
|
-
- `qik_get_form` - Get form definition
|
|
64
|
-
- `qik_submit_form` - Submit form data
|
|
56
|
+
- `create_content` — Create a new content item with validation
|
|
57
|
+
- `list_content` — Query and filter content with sorting and pagination
|
|
58
|
+
- `get_content` — Get a single content item by ID
|
|
59
|
+
- `update_content` — Update an existing content item
|
|
60
|
+
- `delete_content` — Soft-delete a content item
|
|
61
|
+
- `restore_content` — Restore a deleted content item
|
|
62
|
+
- `global_search` — Search across all content types
|
|
63
|
+
- `count_content` — Count content matching filters
|
|
65
64
|
|
|
66
65
|
### File Management
|
|
67
|
-
- `
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
- `
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
- Validates required fields based on your content type definitions
|
|
137
|
-
- Suggests correct field names when invalid ones are used
|
|
138
|
-
- Provides helpful error messages with available options
|
|
66
|
+
- `upload_file` — Upload a file from a local path or URL
|
|
67
|
+
- `check_file_exists` — Check for duplicates before uploading
|
|
68
|
+
- `replace_file` — Replace the file on an existing content item
|
|
69
|
+
|
|
70
|
+
### Profiles & Relationships
|
|
71
|
+
- `get_user_session` — Get current user session and permissions
|
|
72
|
+
- `get_profile_timeline` — Get activity timeline for a profile
|
|
73
|
+
- `get_profile_relationships` — List relationships for a profile
|
|
74
|
+
- `create_relationship` — Create a relationship between profiles
|
|
75
|
+
- `delete_relationship` — Remove a relationship
|
|
76
|
+
- `create_profile_with_relationship` — Create a profile and link it in one step
|
|
77
|
+
- `get_profile_groups` — Get groups a profile belongs to
|
|
78
|
+
- `get_profile_access` — Get access permissions for a profile
|
|
79
|
+
- `get_profile_blockout` — Get blockout dates for a profile
|
|
80
|
+
- `create_profile_blockout` — Create a blockout period
|
|
81
|
+
|
|
82
|
+
### Definitions
|
|
83
|
+
- `get_definition_schema` — Get the field schema for a definition
|
|
84
|
+
- `search_similar_definitions` — Find similar definition types
|
|
85
|
+
- `create_definition` — Create a new content type definition
|
|
86
|
+
- `update_definition` — Update an existing definition
|
|
87
|
+
- `list_definitions` — List all definitions
|
|
88
|
+
|
|
89
|
+
### Campaigns & Communication
|
|
90
|
+
- `get_campaign_recipients` — Get recipient list for a campaign
|
|
91
|
+
- `get_campaign_analytics` — Get campaign performance data
|
|
92
|
+
- `send_campaign` — Send a campaign
|
|
93
|
+
- `send_test_campaign` — Send a test campaign
|
|
94
|
+
- `send_bulk_sms` — Send bulk SMS messages
|
|
95
|
+
|
|
96
|
+
### Scopes
|
|
97
|
+
- `get_scope_tree` — Get the full scope hierarchy
|
|
98
|
+
- `get_actionable_scopes` — Get scopes the user can act on
|
|
99
|
+
- `add_profile_to_scope` — Add a profile to a scope
|
|
100
|
+
- `remove_profile_from_scope` — Remove a profile from a scope
|
|
101
|
+
|
|
102
|
+
### Smart Lists & Duplicates
|
|
103
|
+
- `run_smartlist` — Execute a smart list query
|
|
104
|
+
- `export_smartlist` — Export smart list results
|
|
105
|
+
- `detect_duplicates` — Find potential duplicate records
|
|
106
|
+
- `mark_distinct` — Mark records as not duplicates
|
|
107
|
+
- `preview_merge` — Preview a merge of duplicate records
|
|
108
|
+
- `start_merge` — Execute a merge
|
|
109
|
+
- `get_merge_progress` — Check merge progress
|
|
110
|
+
|
|
111
|
+
### Check-in
|
|
112
|
+
- `create_checkin` — Check in a profile to an event
|
|
113
|
+
- `checkout` — Check out a profile
|
|
114
|
+
|
|
115
|
+
### Forms
|
|
116
|
+
- `list_forms` — List available forms
|
|
117
|
+
|
|
118
|
+
### Workflows
|
|
119
|
+
- `list_workflows` — List workflows
|
|
120
|
+
- `get_workflow` — Get workflow details
|
|
121
|
+
- `create_workflow` — Create a new workflow
|
|
122
|
+
- `update_workflow` — Update an existing workflow
|
|
123
|
+
|
|
124
|
+
### Interface Builder
|
|
125
|
+
- `list_interface_components` — List available components
|
|
126
|
+
- `get_interface_component_details` — Get component schema
|
|
127
|
+
- `create_interface` — Create a new interface
|
|
128
|
+
- `get_interface` — Get interface details
|
|
129
|
+
- `publish_interface` — Publish an interface
|
|
130
|
+
- `add_interface_route` / `update_interface_route` / `remove_interface_route` — Manage routes
|
|
131
|
+
- `add_interface_section` / `update_interface_section` / `remove_interface_section` — Manage sections
|
|
132
|
+
- `set_interface_custom_component` / `set_interface_service` / `set_interface_menu` / `set_interface_styles` / `set_interface_layout` — Configure interface settings
|
|
133
|
+
|
|
134
|
+
## Configuration
|
|
139
135
|
|
|
140
|
-
###
|
|
141
|
-
- Tool schemas are generated based on your actual content types
|
|
142
|
-
- Enum values are populated from your glossary
|
|
143
|
-
- Field descriptions include reference types and constraints
|
|
144
|
-
- Required fields are automatically marked in schemas
|
|
145
|
-
|
|
146
|
-
### Intelligent Error Handling
|
|
147
|
-
- Context-aware error messages explain what went wrong and how to fix it
|
|
148
|
-
- Permission errors include information about required scopes
|
|
149
|
-
- Field validation errors specify exactly which fields are invalid and why
|
|
150
|
-
- Network errors are handled gracefully with retry suggestions
|
|
136
|
+
### Environment Variables
|
|
151
137
|
|
|
152
|
-
|
|
138
|
+
- `QIK_ACCESS_TOKEN` — Your Qik API access token (required)
|
|
139
|
+
- `QIK_API_URL` — Qik API base URL (defaults to `https://api.qik.dev`)
|
|
140
|
+
- `QIK_INSTANCE` — Instance name for multi-org setups (set automatically by setup)
|
|
153
141
|
|
|
154
|
-
|
|
155
|
-
- `QIK_ACCESS_TOKEN` - Your Qik API access token (required)
|
|
156
|
-
- `QIK_API_URL` - Qik API base URL (optional, defaults to https://api.qik.dev)
|
|
142
|
+
## Troubleshooting
|
|
157
143
|
|
|
158
|
-
###
|
|
159
|
-
The server automatically caches glossary data for 5 minutes to improve performance while ensuring content type information stays current.
|
|
144
|
+
### Server not showing up in Claude Desktop
|
|
160
145
|
|
|
161
|
-
|
|
146
|
+
**Restart Claude Desktop.** After installing or running setup, you must quit and reopen Claude Desktop for the server to appear.
|
|
162
147
|
|
|
163
148
|
### Authentication Issues
|
|
149
|
+
|
|
164
150
|
```bash
|
|
165
151
|
# Check your token status
|
|
166
152
|
npx @qikdev/mcp status
|
|
167
153
|
|
|
168
|
-
#
|
|
154
|
+
# Update your token
|
|
155
|
+
npx @qikdev/mcp update-token
|
|
156
|
+
|
|
157
|
+
# Reconfigure from scratch
|
|
169
158
|
npx @qikdev/mcp setup
|
|
170
159
|
```
|
|
171
160
|
|
|
172
|
-
### Common
|
|
173
|
-
|
|
174
|
-
**"Content type 'xyz' not found"**
|
|
175
|
-
- The server will list all available content types in the error message
|
|
176
|
-
- Use `qik_get_glossary` to see all available types
|
|
177
|
-
|
|
178
|
-
**"Field validation errors"**
|
|
179
|
-
- The server provides specific information about which fields are invalid
|
|
180
|
-
- Use `qik_get_content_definition` to see field requirements for a content type
|
|
161
|
+
### Common Errors
|
|
181
162
|
|
|
182
|
-
**"
|
|
183
|
-
-
|
|
184
|
-
-
|
|
163
|
+
- **"Content type not found"** — Use `get_glossary` to see available types
|
|
164
|
+
- **"Field validation errors"** — Use `get_content_type_details` to see required fields
|
|
165
|
+
- **"Access denied"** — Check that your token has the required permissions
|
|
185
166
|
|
|
186
|
-
##
|
|
167
|
+
## License
|
|
187
168
|
|
|
188
|
-
|
|
169
|
+
MIT — see [LICENSE](LICENSE) for details.
|
|
189
170
|
|
|
190
|
-
##
|
|
191
|
-
|
|
192
|
-
1. Fork the repository
|
|
193
|
-
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
|
|
194
|
-
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
|
|
195
|
-
4. Push to the branch (`git push origin feature/amazing-feature`)
|
|
196
|
-
5. Open a Pull Request
|
|
197
|
-
|
|
198
|
-
## 📄 License
|
|
199
|
-
|
|
200
|
-
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
201
|
-
|
|
202
|
-
## 🆘 Support
|
|
171
|
+
## Support
|
|
203
172
|
|
|
204
173
|
- **Documentation**: https://docs.qik.dev
|
|
205
174
|
- **Issues**: https://gitlab.com/qikdevelopers/qik-mcp-server/-/issues
|
|
206
175
|
- **Email**: developers@qik.dev
|
|
207
|
-
|
|
208
|
-
---
|
|
209
|
-
|
|
210
|
-
Built with ❤️ by the Qik team
|