@clix-so/clix-agent-skills 0.1.1
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 +90 -0
- package/dist/bin/cli.js +29 -0
- package/dist/bin/commands/install.js +108 -0
- package/dist/bin/utils/mcp.js +131 -0
- package/package.json +53 -0
- package/skills/integration/LICENSE.txt +202 -0
- package/skills/integration/SKILL.md +426 -0
- package/skills/integration/examples/android-integration.kt +38 -0
- package/skills/integration/examples/flutter-integration.dart +81 -0
- package/skills/integration/examples/ios-integration.swift +36 -0
- package/skills/integration/examples/react-native-integration.tsx +18 -0
- package/skills/integration/references/error-handling.md +265 -0
- package/skills/integration/references/framework-patterns.md +201 -0
- package/skills/integration/references/mcp-integration.md +284 -0
- package/skills/integration/references/sdk-reference.md +217 -0
- package/skills/integration/scripts/install-mcp.sh +244 -0
- package/skills/integration/scripts/validate-sdk.sh +380 -0
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
# Clix MCP Server
|
|
2
|
+
|
|
3
|
+
Clix MCP Server implements the
|
|
4
|
+
[Model Context Protocol (MCP)](https://modelcontextprotocol.io/) to enable LLMs
|
|
5
|
+
to search Clix documentation and SDK code.
|
|
6
|
+
|
|
7
|
+
## Integration Guide
|
|
8
|
+
|
|
9
|
+
### Install
|
|
10
|
+
|
|
11
|
+
You generally do **not** need a global install. The recommended setup runs the
|
|
12
|
+
server via `npx` from your MCP client config.
|
|
13
|
+
|
|
14
|
+
Optional global install (only if your client requires a direct binary on PATH):
|
|
15
|
+
|
|
16
|
+
- **npm**:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm i -g @clix-so/clix-mcp-server@latest
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
- **yarn**:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
yarn global add @clix-so/clix-mcp-server@latest
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### Configure .mcp.json
|
|
29
|
+
|
|
30
|
+
Create or update the `.mcp.json` at your project root (or the configuration
|
|
31
|
+
location your MCP client uses).
|
|
32
|
+
|
|
33
|
+
Recommended configuration using `npx`:
|
|
34
|
+
|
|
35
|
+
```json
|
|
36
|
+
{
|
|
37
|
+
"mcpServers": {
|
|
38
|
+
"clix-mcp-server": {
|
|
39
|
+
"command": "npx",
|
|
40
|
+
"args": ["-y", "@clix-so/clix-mcp-server@latest"]
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Important: Server name affects tool namespace
|
|
47
|
+
|
|
48
|
+
Most MCP clients expose tools with a prefix that matches the **server name**.
|
|
49
|
+
For example, naming the server `clix-mcp-server` yields tools like:
|
|
50
|
+
|
|
51
|
+
- `clix-mcp-server:search_docs`
|
|
52
|
+
- `clix-mcp-server:search_sdk`
|
|
53
|
+
|
|
54
|
+
If you name the server something else (e.g. `clix`), your tools will appear as
|
|
55
|
+
`clix:*` and skills that expect `clix-mcp-server:*` will think the server is
|
|
56
|
+
missing.
|
|
57
|
+
|
|
58
|
+
### Use Clix MCP Server with Popular MCP Clients and IDEs
|
|
59
|
+
|
|
60
|
+
#### Android Studio
|
|
61
|
+
|
|
62
|
+
**Option 1: GitHub Copilot plugin in Android Studio**
|
|
63
|
+
|
|
64
|
+
1. Settings > Tools > GitHub Copilot > Model Context Protocol (MCP) > Configure.
|
|
65
|
+
2. Edit `mcp.json`:
|
|
66
|
+
|
|
67
|
+
```json
|
|
68
|
+
{
|
|
69
|
+
"mcpServers": {
|
|
70
|
+
"clix-mcp-server": {
|
|
71
|
+
"command": "npx",
|
|
72
|
+
"args": ["-y", "@clix-so/clix-mcp-server@latest"]
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
**Option 2: Using MCP Server plugin from JetBrains**
|
|
79
|
+
|
|
80
|
+
1. Install "MCP Server" plugin from JetBrains.
|
|
81
|
+
2. Configure client:
|
|
82
|
+
|
|
83
|
+
```json
|
|
84
|
+
{
|
|
85
|
+
"mcpServers": {
|
|
86
|
+
"clix-mcp-server": {
|
|
87
|
+
"command": "npx",
|
|
88
|
+
"args": ["-y", "@clix-so/clix-mcp-server@latest"]
|
|
89
|
+
},
|
|
90
|
+
"jetbrains": { "command": "npx", "args": ["-y", "@jetbrains/mcp-proxy"] }
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**Option 3: Gemini in Android Studio**
|
|
96
|
+
|
|
97
|
+
1. [Add an MCP server to Gemini](https://developer.android.com/studio/gemini/add-mcp-server).
|
|
98
|
+
2. Use standard configuration:
|
|
99
|
+
|
|
100
|
+
```json
|
|
101
|
+
{
|
|
102
|
+
"mcpServers": {
|
|
103
|
+
"clix-mcp-server": {
|
|
104
|
+
"command": "npx",
|
|
105
|
+
"args": ["-y", "@clix-so/clix-mcp-server@latest"]
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
#### Xcode
|
|
112
|
+
|
|
113
|
+
**Option 1: GitHub Copilot for Xcode**
|
|
114
|
+
|
|
115
|
+
1. Settings > MCP Configuration > Edit Config.
|
|
116
|
+
2. Add:
|
|
117
|
+
|
|
118
|
+
```json
|
|
119
|
+
{
|
|
120
|
+
"servers": {
|
|
121
|
+
"clix-mcp-server": {
|
|
122
|
+
"command": "npx",
|
|
123
|
+
"args": ["-y", "@clix-so/clix-mcp-server@latest"]
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
**Option 2: XcodeBuildMCP**
|
|
130
|
+
|
|
131
|
+
1. Add to your MCP client:
|
|
132
|
+
|
|
133
|
+
```json
|
|
134
|
+
{
|
|
135
|
+
"mcpServers": {
|
|
136
|
+
"clix-mcp-server": {
|
|
137
|
+
"command": "npx",
|
|
138
|
+
"args": ["-y", "@clix-so/clix-mcp-server@latest"]
|
|
139
|
+
},
|
|
140
|
+
"XcodeBuildMCP": {
|
|
141
|
+
"command": "npx",
|
|
142
|
+
"args": ["-y", "xcodebuildmcp@latest"]
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
#### Cursor
|
|
149
|
+
|
|
150
|
+
**Manual setup**
|
|
151
|
+
|
|
152
|
+
1. Cursor Settings > Tool & MCP > New MCP Server.
|
|
153
|
+
2. Paste JSON and restart:
|
|
154
|
+
|
|
155
|
+
```json
|
|
156
|
+
{
|
|
157
|
+
"mcpServers": {
|
|
158
|
+
"clix-mcp-server": {
|
|
159
|
+
"command": "npx",
|
|
160
|
+
"args": ["-y", "@clix-so/clix-mcp-server@latest"]
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
#### Amazon Q
|
|
167
|
+
|
|
168
|
+
**Manual setup**
|
|
169
|
+
|
|
170
|
+
1. Open `~/.aws/amazonq/agents/default.json`.
|
|
171
|
+
2. Add to `mcpServers`:
|
|
172
|
+
|
|
173
|
+
```json
|
|
174
|
+
"mcpServers": {
|
|
175
|
+
"clix-mcp-server": {
|
|
176
|
+
"command": "npx",
|
|
177
|
+
"args": ["-y", "@clix-so/clix-mcp-server@latest"]
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
#### Google Antigravity
|
|
183
|
+
|
|
184
|
+
**Manual setup**
|
|
185
|
+
|
|
186
|
+
1. Agent tab > ellipsis (...) > MCP Server > Manage MCP Servers.
|
|
187
|
+
2. Add to `mcp_config.json`:
|
|
188
|
+
|
|
189
|
+
```json
|
|
190
|
+
{
|
|
191
|
+
"mcpServers": {
|
|
192
|
+
"clix-mcp-server": {
|
|
193
|
+
"command": "npx",
|
|
194
|
+
"args": ["-y", "@clix-so/clix-mcp-server@latest"]
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
#### VS Code
|
|
201
|
+
|
|
202
|
+
**Manual setup**
|
|
203
|
+
|
|
204
|
+
1. Open `~/.vscode/mcp.json`.
|
|
205
|
+
2. Paste JSON and restart:
|
|
206
|
+
|
|
207
|
+
```json
|
|
208
|
+
{
|
|
209
|
+
"mcpServers": {
|
|
210
|
+
"clix-mcp-server": {
|
|
211
|
+
"command": "npx",
|
|
212
|
+
"args": ["-y", "@clix-so/clix-mcp-server@latest"]
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
#### Claude Code CLI
|
|
219
|
+
|
|
220
|
+
**Command Line:**
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
claude mcp add --transport stdio clix-mcp-server -- npx -y @clix-so/clix-mcp-server@latest
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
**Marketplace:**
|
|
227
|
+
|
|
228
|
+
```bash
|
|
229
|
+
/plugin marketplace add clix-so/clix-mcp-server
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
#### Codex CLI
|
|
233
|
+
|
|
234
|
+
**Setup**
|
|
235
|
+
|
|
236
|
+
1. Open `~/.codex/config.toml`.
|
|
237
|
+
2. Add and restart:
|
|
238
|
+
|
|
239
|
+
```toml
|
|
240
|
+
[mcp_servers]
|
|
241
|
+
# IMPORTANT: keep this name as "clix-mcp-server" so tools show up as
|
|
242
|
+
# `clix-mcp-server:*` (and not `clix:*`).
|
|
243
|
+
[mcp_servers."clix-mcp-server"]
|
|
244
|
+
command = "npx"
|
|
245
|
+
args = ["-y", "@clix-so/clix-mcp-server@latest"]
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
#### Kiro CLI
|
|
249
|
+
|
|
250
|
+
**Setup**
|
|
251
|
+
|
|
252
|
+
1. Open `.kiro/settings/mcp.json`.
|
|
253
|
+
2. Add:
|
|
254
|
+
|
|
255
|
+
```json
|
|
256
|
+
{
|
|
257
|
+
"mcpServers": {
|
|
258
|
+
"clix-mcp-server": {
|
|
259
|
+
"command": "npx",
|
|
260
|
+
"args": ["-y", "@clix-so/clix-mcp-server@latest"]
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
#### Claude Desktop App
|
|
267
|
+
|
|
268
|
+
**Setup**
|
|
269
|
+
|
|
270
|
+
1. Open config
|
|
271
|
+
(`~/Library/Application Support/Claude/claude_desktop_config.json` or
|
|
272
|
+
`%APPDATA%\\Claude\\claude_desktop_config.json`).
|
|
273
|
+
2. Add and restart:
|
|
274
|
+
|
|
275
|
+
```json
|
|
276
|
+
{
|
|
277
|
+
"mcpServers": {
|
|
278
|
+
"clix-mcp-server": {
|
|
279
|
+
"command": "npx",
|
|
280
|
+
"args": ["-y", "@clix-so/clix-mcp-server@latest"]
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
```
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
# Clix SDK API Reference
|
|
2
|
+
|
|
3
|
+
Complete API documentation for Clix SDK across all platforms.
|
|
4
|
+
|
|
5
|
+
## Core Initialization
|
|
6
|
+
|
|
7
|
+
### Configuration
|
|
8
|
+
|
|
9
|
+
All platforms use a configuration object with these fields:
|
|
10
|
+
|
|
11
|
+
- `projectId` (required): Your Clix project ID
|
|
12
|
+
- `apiKey` (optional): Public API key for analytics-only mode
|
|
13
|
+
- `endpoint` (optional): Custom API endpoint URL
|
|
14
|
+
- `logLevel` (optional): Logging verbosity level
|
|
15
|
+
- `debug` (optional): Enable debug mode
|
|
16
|
+
|
|
17
|
+
### Initialization Methods
|
|
18
|
+
|
|
19
|
+
**iOS:**
|
|
20
|
+
|
|
21
|
+
```swift
|
|
22
|
+
Clix.initialize(config: ClixConfig)
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**Android:**
|
|
26
|
+
|
|
27
|
+
```kotlin
|
|
28
|
+
Clix.initialize(context: Application, config: ClixConfig)
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
**React Native:**
|
|
32
|
+
|
|
33
|
+
```typescript
|
|
34
|
+
Clix.initialize(config);
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## User Management
|
|
38
|
+
|
|
39
|
+
### Set User ID
|
|
40
|
+
|
|
41
|
+
Identify a user with a unique identifier:
|
|
42
|
+
|
|
43
|
+
**All Platforms:**
|
|
44
|
+
|
|
45
|
+
```swift/kotlin/typescript/javascript
|
|
46
|
+
Clix.setUserId("user-123")
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Remove User ID
|
|
50
|
+
|
|
51
|
+
Clear user identification:
|
|
52
|
+
|
|
53
|
+
**All Platforms:**
|
|
54
|
+
|
|
55
|
+
```swift/kotlin/typescript/javascript
|
|
56
|
+
Clix.removeUserId()
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Set User Property
|
|
60
|
+
|
|
61
|
+
Set a single user property:
|
|
62
|
+
|
|
63
|
+
**All Platforms:**
|
|
64
|
+
|
|
65
|
+
```swift/kotlin/typescript/javascript
|
|
66
|
+
Clix.setUserProperty("plan", "premium")
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Set Multiple User Properties
|
|
70
|
+
|
|
71
|
+
Set multiple properties at once:
|
|
72
|
+
|
|
73
|
+
**All Platforms:**
|
|
74
|
+
|
|
75
|
+
```swift/kotlin/typescript/javascript
|
|
76
|
+
Clix.setUserProperties({
|
|
77
|
+
"plan": "premium",
|
|
78
|
+
"trial_days": 7
|
|
79
|
+
})
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Remove User Property
|
|
83
|
+
|
|
84
|
+
Remove a user property:
|
|
85
|
+
|
|
86
|
+
**All Platforms:**
|
|
87
|
+
|
|
88
|
+
```swift/kotlin/typescript/javascript
|
|
89
|
+
Clix.removeUserProperty("plan")
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Event Tracking
|
|
93
|
+
|
|
94
|
+
### Track Event
|
|
95
|
+
|
|
96
|
+
Track a custom event:
|
|
97
|
+
|
|
98
|
+
**All Platforms:**
|
|
99
|
+
|
|
100
|
+
```swift/kotlin/typescript/javascript
|
|
101
|
+
Clix.trackEvent("button_clicked", {
|
|
102
|
+
"button_name": "signup",
|
|
103
|
+
"location": "header"
|
|
104
|
+
})
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## Device Information
|
|
108
|
+
|
|
109
|
+
### Get Device ID
|
|
110
|
+
|
|
111
|
+
Retrieve the device identifier:
|
|
112
|
+
|
|
113
|
+
**All Platforms:**
|
|
114
|
+
|
|
115
|
+
```swift/kotlin/typescript/javascript
|
|
116
|
+
const deviceId = await Clix.getDeviceId()
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### Get Push Token
|
|
120
|
+
|
|
121
|
+
Retrieve push notification token:
|
|
122
|
+
|
|
123
|
+
**All Platforms:**
|
|
124
|
+
|
|
125
|
+
```swift/kotlin/typescript
|
|
126
|
+
const token = await Clix.Notification.getToken()
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Error Handling
|
|
130
|
+
|
|
131
|
+
All SDK methods include error handling:
|
|
132
|
+
|
|
133
|
+
**iOS:**
|
|
134
|
+
|
|
135
|
+
```swift
|
|
136
|
+
do {
|
|
137
|
+
try Clix.initialize(config: config)
|
|
138
|
+
} catch {
|
|
139
|
+
print("Clix initialization failed: \(error)")
|
|
140
|
+
}
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
**Android:**
|
|
144
|
+
|
|
145
|
+
```kotlin
|
|
146
|
+
try {
|
|
147
|
+
Clix.initialize(this, config)
|
|
148
|
+
} catch (e: Exception) {
|
|
149
|
+
Log.e("Clix", "Initialization failed", e)
|
|
150
|
+
}
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
**JavaScript/TypeScript:**
|
|
154
|
+
|
|
155
|
+
```typescript
|
|
156
|
+
try {
|
|
157
|
+
await Clix.initialize(config);
|
|
158
|
+
} catch (error) {
|
|
159
|
+
console.error("Clix initialization failed:", error);
|
|
160
|
+
}
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
## Platform-Specific Notes
|
|
164
|
+
|
|
165
|
+
### iOS
|
|
166
|
+
|
|
167
|
+
- Requires iOS 14+
|
|
168
|
+
- Swift 5.5+ for async/await support
|
|
169
|
+
- Thread-safe implementation
|
|
170
|
+
- Supports both CocoaPods and Swift Package Manager
|
|
171
|
+
|
|
172
|
+
### Android
|
|
173
|
+
|
|
174
|
+
- Requires Android API 21+ (Android 5.0)
|
|
175
|
+
- Kotlin coroutines for async operations
|
|
176
|
+
- Lifecycle-aware operations
|
|
177
|
+
- Supports Gradle dependency management
|
|
178
|
+
|
|
179
|
+
### React Native
|
|
180
|
+
|
|
181
|
+
- Requires React Native 0.60+
|
|
182
|
+
- Native module bridge for iOS/Android
|
|
183
|
+
- Unified JavaScript API
|
|
184
|
+
- Supports TurboModules
|
|
185
|
+
|
|
186
|
+
## SDK Versioning
|
|
187
|
+
|
|
188
|
+
SDK versions follow semantic versioning (major.minor.patch).
|
|
189
|
+
|
|
190
|
+
Check current version:
|
|
191
|
+
|
|
192
|
+
- **iOS**: Check Podfile.lock or Package.resolved
|
|
193
|
+
- **Android**: Check build.gradle dependencies
|
|
194
|
+
- **JavaScript**: Check package.json or package-lock.json
|
|
195
|
+
|
|
196
|
+
## Rate Limiting
|
|
197
|
+
|
|
198
|
+
SDK automatically handles rate limiting:
|
|
199
|
+
|
|
200
|
+
- Events are batched and sent efficiently
|
|
201
|
+
- Failed requests are retried with exponential backoff
|
|
202
|
+
- Network errors are handled gracefully
|
|
203
|
+
|
|
204
|
+
## Privacy & Security
|
|
205
|
+
|
|
206
|
+
- All data is encrypted in transit (HTTPS)
|
|
207
|
+
- No sensitive user data is collected by default
|
|
208
|
+
- GDPR and CCPA compliant
|
|
209
|
+
- User data can be deleted on request
|
|
210
|
+
|
|
211
|
+
## Support
|
|
212
|
+
|
|
213
|
+
For detailed API documentation, visit:
|
|
214
|
+
|
|
215
|
+
- iOS: https://github.com/clix-so/clix-ios-sdk
|
|
216
|
+
- Android: https://github.com/clix-so/clix-android-sdk
|
|
217
|
+
- React Native: https://github.com/clix-so/clix-react-native-sdk
|