@tuteliq/mcp 2.2.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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Tuteliq
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,274 @@
1
+ <p align="center">
2
+ <img src="./assets/logo.png" alt="Tuteliq" width="200" />
3
+ </p>
4
+
5
+ <h1 align="center">Tuteliq MCP Server</h1>
6
+
7
+ <p align="center">
8
+ <strong>MCP server for Tuteliq - AI-powered child safety tools for Claude</strong>
9
+ </p>
10
+
11
+ <p align="center">
12
+ <a href="https://www.npmjs.com/package/@tuteliq/mcp"><img src="https://img.shields.io/npm/v/@tuteliq/mcp.svg" alt="npm version"></a>
13
+ <a href="https://github.com/Tuteliq/mcp/blob/main/LICENSE"><img src="https://img.shields.io/github/license/Tuteliq/mcp.svg" alt="license"></a>
14
+ </p>
15
+
16
+ <p align="center">
17
+ <a href="https://api.tuteliq.ai/docs">API Docs</a> •
18
+ <a href="https://tuteliq.app">Dashboard</a> •
19
+ <a href="https://discord.gg/7kbTeRYRXD">Discord</a>
20
+ </p>
21
+
22
+ ---
23
+
24
+ ## What is this?
25
+
26
+ Tuteliq MCP Server brings AI-powered child safety tools directly into Claude, Cursor, and other MCP-compatible AI assistants. Ask Claude to check messages for bullying, detect grooming patterns, or generate safety action plans.
27
+
28
+ ## Available Tools (33)
29
+
30
+ ### Safety Detection
31
+
32
+ | Tool | Description |
33
+ |------|-------------|
34
+ | `detect_bullying` | Analyze text for bullying, harassment, or harmful language |
35
+ | `detect_grooming` | Detect grooming patterns and predatory behavior in conversations |
36
+ | `detect_unsafe` | Identify unsafe content (self-harm, violence, explicit material) |
37
+ | `analyze` | Quick comprehensive safety check (bullying + unsafe) |
38
+ | `analyze_emotions` | Analyze emotional content and mental state indicators |
39
+ | `get_action_plan` | Generate age-appropriate guidance for safety situations |
40
+ | `generate_report` | Create incident reports from conversations |
41
+
42
+ ### Voice & Image Analysis
43
+
44
+ | Tool | Description |
45
+ |------|-------------|
46
+ | `analyze_voice` | Transcribe audio and run safety analysis on the transcript |
47
+ | `analyze_image` | Analyze images for visual safety + OCR text extraction |
48
+
49
+ ### Webhook Management
50
+
51
+ | Tool | Description |
52
+ |------|-------------|
53
+ | `list_webhooks` | List all configured webhooks |
54
+ | `create_webhook` | Create a new webhook endpoint |
55
+ | `update_webhook` | Update webhook configuration |
56
+ | `delete_webhook` | Delete a webhook |
57
+ | `test_webhook` | Send a test payload to verify webhook |
58
+ | `regenerate_webhook_secret` | Regenerate webhook signing secret |
59
+
60
+ ### Pricing
61
+
62
+ | Tool | Description |
63
+ |------|-------------|
64
+ | `get_pricing` | Get available pricing plans |
65
+ | `get_pricing_details` | Get detailed pricing with features and limits |
66
+
67
+ ### Usage & Billing
68
+
69
+ | Tool | Description |
70
+ |------|-------------|
71
+ | `get_usage_history` | Get daily usage history |
72
+ | `get_usage_by_tool` | Get usage by tool/endpoint |
73
+ | `get_usage_monthly` | Get monthly usage with billing info |
74
+
75
+ ### GDPR Account
76
+
77
+ | Tool | Description |
78
+ |------|-------------|
79
+ | `delete_account_data` | Delete all account data (Right to Erasure) |
80
+ | `export_account_data` | Export all account data as JSON (Data Portability) |
81
+ | `record_consent` | Record user consent for data processing |
82
+ | `get_consent_status` | Get current consent status |
83
+ | `withdraw_consent` | Withdraw a previously granted consent |
84
+ | `rectify_data` | Correct user data (Right to Rectification) |
85
+ | `get_audit_logs` | Get audit trail of all data operations |
86
+
87
+ ### Breach Management
88
+
89
+ | Tool | Description |
90
+ |------|-------------|
91
+ | `log_breach` | Log a new data breach (starts 72-hour notification clock) |
92
+ | `list_breaches` | List all data breaches, optionally filtered by status |
93
+ | `get_breach` | Get details of a specific data breach |
94
+ | `update_breach_status` | Update breach status and notification progress |
95
+
96
+ ---
97
+
98
+ ## Installation
99
+
100
+ ### Claude Desktop
101
+
102
+ Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json` on Mac):
103
+
104
+ ```json
105
+ {
106
+ "mcpServers": {
107
+ "tuteliq": {
108
+ "command": "npx",
109
+ "args": ["-y", "@tuteliq/mcp"],
110
+ "env": {
111
+ "TUTELIQ_API_KEY": "your-api-key"
112
+ }
113
+ }
114
+ }
115
+ }
116
+ ```
117
+
118
+ ### Cursor
119
+
120
+ Add to your Cursor MCP settings:
121
+
122
+ ```json
123
+ {
124
+ "mcpServers": {
125
+ "tuteliq": {
126
+ "command": "npx",
127
+ "args": ["-y", "@tuteliq/mcp"],
128
+ "env": {
129
+ "TUTELIQ_API_KEY": "your-api-key"
130
+ }
131
+ }
132
+ }
133
+ }
134
+ ```
135
+
136
+ ### Global Install
137
+
138
+ ```bash
139
+ npm install -g @tuteliq/mcp
140
+ ```
141
+
142
+ Then run:
143
+ ```bash
144
+ TUTELIQ_API_KEY=your-api-key tuteliq-mcp
145
+ ```
146
+
147
+ ---
148
+
149
+ ## Usage Examples
150
+
151
+ Once configured, you can ask Claude:
152
+
153
+ ### Bullying Detection
154
+ > "Check if this message is bullying: 'Nobody likes you, just go away'"
155
+
156
+ **Response:**
157
+ ```
158
+ ## ⚠️ Bullying Detected
159
+
160
+ **Severity:** 🟠 Medium
161
+ **Confidence:** 92%
162
+ **Risk Score:** 75%
163
+
164
+ **Types:** exclusion, verbal_abuse
165
+
166
+ ### Rationale
167
+ The message contains direct exclusionary language...
168
+
169
+ ### Recommended Action
170
+ `flag_for_moderator`
171
+ ```
172
+
173
+ ### Grooming Detection
174
+ > "Analyze this conversation for grooming patterns..."
175
+
176
+ ### Quick Safety Check
177
+ > "Is this message safe? 'I don't want to be here anymore'"
178
+
179
+ ### Emotion Analysis
180
+ > "Analyze the emotions in: 'I'm so stressed about school and nobody understands'"
181
+
182
+ ### Action Plan
183
+ > "Give me an action plan for a 12-year-old being cyberbullied"
184
+
185
+ ### Incident Report
186
+ > "Generate an incident report from these messages..."
187
+
188
+ ### Voice Analysis
189
+ > "Analyze this audio file for safety: /path/to/recording.mp3"
190
+
191
+ ### Image Analysis
192
+ > "Check this screenshot for harmful content: /path/to/screenshot.png"
193
+
194
+ ### Webhook Management
195
+ > "List my webhooks"
196
+ > "Create a webhook for critical incidents at https://example.com/webhook"
197
+
198
+ ### Usage
199
+ > "Show my monthly usage"
200
+
201
+ ---
202
+
203
+ ## Get an API Key
204
+
205
+ 1. Go to [tuteliq.app](https://tuteliq.app)
206
+ 2. Create an account
207
+ 3. Generate an API key
208
+ 4. Add it to your MCP config
209
+
210
+ ---
211
+
212
+ ## Requirements
213
+
214
+ - Node.js 18+
215
+ - Tuteliq API key
216
+
217
+ ---
218
+
219
+ ## Best Practices
220
+
221
+ ### Message Batching
222
+
223
+ The **bullying** and **unsafe content** tools analyze a single `text` field per request. If you're analyzing a conversation, concatenate a **sliding window of recent messages** into one string rather than sending each message individually. Single words or short fragments lack context for accurate detection and can be exploited to bypass safety filters.
224
+
225
+ The **grooming** tool already accepts a `messages[]` array and analyzes the full conversation in context.
226
+
227
+ ### PII Redaction
228
+
229
+ Enable `PII_REDACTION_ENABLED=true` on your Tuteliq API to automatically strip emails, phone numbers, URLs, social handles, IPs, and other PII from detection summaries and webhook payloads. The original text is still analyzed in full — only stored outputs are scrubbed.
230
+
231
+ ---
232
+
233
+ ## Support
234
+
235
+ - **API Docs**: [api.tuteliq.ai/docs](https://api.tuteliq.ai/docs)
236
+ - **Discord**: [discord.gg/7kbTeRYRXD](https://discord.gg/7kbTeRYRXD)
237
+ - **Email**: support@tuteliq.ai
238
+
239
+ ---
240
+
241
+ ## License
242
+
243
+ MIT License - see [LICENSE](LICENSE) for details.
244
+
245
+ ---
246
+
247
+ ## The Mission: Why This Matters
248
+
249
+ Before you decide to contribute or sponsor, read these numbers. They are not projections. They are not estimates from a pitch deck. They are verified statistics from the University of Edinburgh, UNICEF, NCMEC, and Interpol.
250
+
251
+ - **302 million** children are victims of online sexual exploitation and abuse every year. That is **10 children every second**. *(Childlight / University of Edinburgh, 2024)*
252
+ - **1 in 8** children globally have been victims of non-consensual sexual imagery in the past year. *(Childlight, 2024)*
253
+ - **370 million** girls and women alive today experienced rape or sexual assault in childhood. An estimated **240–310 million** boys and men experienced the same. *(UNICEF, 2024)*
254
+ - **29.2 million** incidents of suspected child sexual exploitation were reported to NCMEC's CyberTipline in 2024 alone — containing **62.9 million files** (images, videos). *(NCMEC, 2025)*
255
+ - **546,000** reports of online enticement (adults grooming children) in 2024 — a **192% increase** from the year before. *(NCMEC, 2025)*
256
+ - **1,325% increase** in AI-generated child sexual abuse material reports between 2023 and 2024. The technology that should protect children is being weaponized against them. *(NCMEC, 2025)*
257
+ - **100 sextortion reports per day** to NCMEC. Since 2021, at least **36 teenage boys** have taken their own lives because they were victimized by sextortion. *(NCMEC, 2025)*
258
+ - **84%** of reports resolve outside the United States. This is not an American problem. This is a **global emergency**. *(NCMEC, 2025)*
259
+
260
+ End-to-end encryption is making platforms blind. In 2024, platforms reported **7 million fewer incidents** than the year before — not because abuse stopped, but because they can no longer see it. The tools that catch known images are failing. The systems that rely on human moderators are overwhelmed. The technology to detect behavior — grooming patterns, escalation, manipulation — in real-time text conversations **exists right now**. It is running at [api.tuteliq.ai](https://api.tuteliq.ai).
261
+
262
+ The question is not whether this technology is possible. The question is whether we build the company to put it everywhere it needs to be.
263
+
264
+ **Every second we wait, another child is harmed.**
265
+
266
+ We have the technology. We need the support.
267
+
268
+ If this mission matters to you, consider [sponsoring our open-source work](https://github.com/sponsors/Tuteliq) so we can keep building the tools that protect children — and keep them free and accessible for everyone.
269
+
270
+ ---
271
+
272
+ <p align="center">
273
+ <sub>Built with care for child safety by the <a href="https://tuteliq.ai">Tuteliq</a> team</sub>
274
+ </p>
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}