@unclick/mcp-server 0.2.3 → 0.2.5

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.
Files changed (324) hide show
  1. package/README.md +139 -153
  2. package/dist/airtable-tool.d.ts +2 -0
  3. package/dist/airtable-tool.d.ts.map +1 -0
  4. package/dist/airtable-tool.js +154 -0
  5. package/dist/airtable-tool.js.map +1 -0
  6. package/dist/algolia-tool.d.ts +5 -0
  7. package/dist/algolia-tool.d.ts.map +1 -0
  8. package/dist/algolia-tool.js +121 -0
  9. package/dist/algolia-tool.js.map +1 -0
  10. package/dist/anthropic-tool.d.ts +3 -0
  11. package/dist/anthropic-tool.d.ts.map +1 -0
  12. package/dist/anthropic-tool.js +123 -0
  13. package/dist/anthropic-tool.js.map +1 -0
  14. package/dist/asana-tool.d.ts +8 -0
  15. package/dist/asana-tool.d.ts.map +1 -0
  16. package/dist/asana-tool.js +218 -0
  17. package/dist/asana-tool.js.map +1 -0
  18. package/dist/assemblyai-tool.d.ts +7 -0
  19. package/dist/assemblyai-tool.d.ts.map +1 -0
  20. package/dist/assemblyai-tool.js +127 -0
  21. package/dist/assemblyai-tool.js.map +1 -0
  22. package/dist/calendly-tool.d.ts +6 -0
  23. package/dist/calendly-tool.d.ts.map +1 -0
  24. package/dist/calendly-tool.js +182 -0
  25. package/dist/calendly-tool.js.map +1 -0
  26. package/dist/circleci-tool.d.ts +7 -0
  27. package/dist/circleci-tool.d.ts.map +1 -0
  28. package/dist/circleci-tool.js +133 -0
  29. package/dist/circleci-tool.js.map +1 -0
  30. package/dist/clickup-tool.d.ts +2 -0
  31. package/dist/clickup-tool.d.ts.map +1 -0
  32. package/dist/clickup-tool.js +153 -0
  33. package/dist/clickup-tool.js.map +1 -0
  34. package/dist/cohere-tool.d.ts +7 -0
  35. package/dist/cohere-tool.d.ts.map +1 -0
  36. package/dist/cohere-tool.js +225 -0
  37. package/dist/cohere-tool.js.map +1 -0
  38. package/dist/connectors/figma.d.ts +3 -0
  39. package/dist/connectors/figma.d.ts.map +1 -0
  40. package/dist/connectors/figma.js +18 -0
  41. package/dist/connectors/figma.js.map +1 -0
  42. package/dist/connectors/index.d.ts +3 -1
  43. package/dist/connectors/index.d.ts.map +1 -1
  44. package/dist/connectors/index.js +5 -1
  45. package/dist/connectors/index.js.map +1 -1
  46. package/dist/connectors/line.d.ts +3 -0
  47. package/dist/connectors/line.d.ts.map +1 -0
  48. package/dist/connectors/line.js +18 -0
  49. package/dist/connectors/line.js.map +1 -0
  50. package/dist/convertkit-tool.d.ts +7 -0
  51. package/dist/convertkit-tool.d.ts.map +1 -0
  52. package/dist/convertkit-tool.js +213 -0
  53. package/dist/convertkit-tool.js.map +1 -0
  54. package/dist/datadog-tool.d.ts +7 -0
  55. package/dist/datadog-tool.d.ts.map +1 -0
  56. package/dist/datadog-tool.js +121 -0
  57. package/dist/datadog-tool.js.map +1 -0
  58. package/dist/deepl-tool.d.ts +5 -0
  59. package/dist/deepl-tool.d.ts.map +1 -0
  60. package/dist/deepl-tool.js +137 -0
  61. package/dist/deepl-tool.js.map +1 -0
  62. package/dist/ebay-tool.d.ts +5 -0
  63. package/dist/ebay-tool.d.ts.map +1 -0
  64. package/dist/ebay-tool.js +179 -0
  65. package/dist/ebay-tool.js.map +1 -0
  66. package/dist/elevenlabs-tool.d.ts +6 -0
  67. package/dist/elevenlabs-tool.d.ts.map +1 -0
  68. package/dist/elevenlabs-tool.js +166 -0
  69. package/dist/elevenlabs-tool.js.map +1 -0
  70. package/dist/etsy-tool.d.ts +6 -0
  71. package/dist/etsy-tool.d.ts.map +1 -0
  72. package/dist/etsy-tool.js +125 -0
  73. package/dist/etsy-tool.js.map +1 -0
  74. package/dist/exchangerate-tool.d.ts +5 -0
  75. package/dist/exchangerate-tool.d.ts.map +1 -0
  76. package/dist/exchangerate-tool.js +139 -0
  77. package/dist/exchangerate-tool.js.map +1 -0
  78. package/dist/figma-tool.d.ts +8 -0
  79. package/dist/figma-tool.d.ts.map +1 -0
  80. package/dist/figma-tool.js +231 -0
  81. package/dist/figma-tool.js.map +1 -0
  82. package/dist/flyio-tool.d.ts +6 -0
  83. package/dist/flyio-tool.d.ts.map +1 -0
  84. package/dist/flyio-tool.js +158 -0
  85. package/dist/flyio-tool.js.map +1 -0
  86. package/dist/gdelt-tool.d.ts +5 -0
  87. package/dist/gdelt-tool.d.ts.map +1 -0
  88. package/dist/gdelt-tool.js +177 -0
  89. package/dist/gdelt-tool.js.map +1 -0
  90. package/dist/github-tool.d.ts +2 -0
  91. package/dist/github-tool.d.ts.map +1 -0
  92. package/dist/github-tool.js +165 -0
  93. package/dist/github-tool.js.map +1 -0
  94. package/dist/gitlab-tool.d.ts +2 -0
  95. package/dist/gitlab-tool.d.ts.map +1 -0
  96. package/dist/gitlab-tool.js +127 -0
  97. package/dist/gitlab-tool.js.map +1 -0
  98. package/dist/groq-tool.d.ts +3 -0
  99. package/dist/groq-tool.d.ts.map +1 -0
  100. package/dist/groq-tool.js +109 -0
  101. package/dist/groq-tool.js.map +1 -0
  102. package/dist/gumroad-tool.d.ts +6 -0
  103. package/dist/gumroad-tool.d.ts.map +1 -0
  104. package/dist/gumroad-tool.js +90 -0
  105. package/dist/gumroad-tool.js.map +1 -0
  106. package/dist/heygen-tool.d.ts +5 -0
  107. package/dist/heygen-tool.d.ts.map +1 -0
  108. package/dist/heygen-tool.js +134 -0
  109. package/dist/heygen-tool.js.map +1 -0
  110. package/dist/higgsfield-tool.d.ts +5 -0
  111. package/dist/higgsfield-tool.d.ts.map +1 -0
  112. package/dist/higgsfield-tool.js +120 -0
  113. package/dist/higgsfield-tool.js.map +1 -0
  114. package/dist/igdb-tool.d.ts +6 -0
  115. package/dist/igdb-tool.d.ts.map +1 -0
  116. package/dist/igdb-tool.js +140 -0
  117. package/dist/igdb-tool.js.map +1 -0
  118. package/dist/keychain-crypto.d.ts +24 -0
  119. package/dist/keychain-crypto.d.ts.map +1 -0
  120. package/dist/keychain-crypto.js +60 -0
  121. package/dist/keychain-crypto.js.map +1 -0
  122. package/dist/keychain-secure-input.d.ts +17 -0
  123. package/dist/keychain-secure-input.d.ts.map +1 -0
  124. package/dist/keychain-secure-input.js +229 -0
  125. package/dist/keychain-secure-input.js.map +1 -0
  126. package/dist/keychain-tool.d.ts +3 -0
  127. package/dist/keychain-tool.d.ts.map +1 -0
  128. package/dist/keychain-tool.js +516 -0
  129. package/dist/keychain-tool.js.map +1 -0
  130. package/dist/kling-tool.d.ts +3 -0
  131. package/dist/kling-tool.d.ts.map +1 -0
  132. package/dist/kling-tool.js +102 -0
  133. package/dist/kling-tool.js.map +1 -0
  134. package/dist/lemonsqueezy-tool.d.ts +7 -0
  135. package/dist/lemonsqueezy-tool.d.ts.map +1 -0
  136. package/dist/lemonsqueezy-tool.js +220 -0
  137. package/dist/lemonsqueezy-tool.js.map +1 -0
  138. package/dist/line-tool.d.ts +7 -0
  139. package/dist/line-tool.d.ts.map +1 -0
  140. package/dist/line-tool.js +188 -0
  141. package/dist/line-tool.js.map +1 -0
  142. package/dist/linear-tool.d.ts +2 -0
  143. package/dist/linear-tool.d.ts.map +1 -0
  144. package/dist/linear-tool.js +186 -0
  145. package/dist/linear-tool.js.map +1 -0
  146. package/dist/local-catalog-handlers.d.ts +3 -0
  147. package/dist/local-catalog-handlers.d.ts.map +1 -0
  148. package/dist/local-catalog-handlers.js +1254 -0
  149. package/dist/local-catalog-handlers.js.map +1 -0
  150. package/dist/mailchimp-tool.d.ts +8 -0
  151. package/dist/mailchimp-tool.d.ts.map +1 -0
  152. package/dist/mailchimp-tool.js +138 -0
  153. package/dist/mailchimp-tool.js.map +1 -0
  154. package/dist/mapbox-tool.d.ts +6 -0
  155. package/dist/mapbox-tool.d.ts.map +1 -0
  156. package/dist/mapbox-tool.js +106 -0
  157. package/dist/mapbox-tool.js.map +1 -0
  158. package/dist/mistral-tool.d.ts +4 -0
  159. package/dist/mistral-tool.d.ts.map +1 -0
  160. package/dist/mistral-tool.js +145 -0
  161. package/dist/mistral-tool.js.map +1 -0
  162. package/dist/mixpanel-tool.d.ts +6 -0
  163. package/dist/mixpanel-tool.d.ts.map +1 -0
  164. package/dist/mixpanel-tool.js +162 -0
  165. package/dist/mixpanel-tool.js.map +1 -0
  166. package/dist/monday-tool.d.ts +7 -0
  167. package/dist/monday-tool.d.ts.map +1 -0
  168. package/dist/monday-tool.js +206 -0
  169. package/dist/monday-tool.js.map +1 -0
  170. package/dist/neon-tool.d.ts +7 -0
  171. package/dist/neon-tool.d.ts.map +1 -0
  172. package/dist/neon-tool.js +156 -0
  173. package/dist/neon-tool.js.map +1 -0
  174. package/dist/openai-tool.d.ts +6 -0
  175. package/dist/openai-tool.d.ts.map +1 -0
  176. package/dist/openai-tool.js +227 -0
  177. package/dist/openai-tool.js.map +1 -0
  178. package/dist/pagerduty-tool.d.ts +8 -0
  179. package/dist/pagerduty-tool.d.ts.map +1 -0
  180. package/dist/pagerduty-tool.js +185 -0
  181. package/dist/pagerduty-tool.js.map +1 -0
  182. package/dist/paypal-tool.d.ts +3 -0
  183. package/dist/paypal-tool.d.ts.map +1 -0
  184. package/dist/paypal-tool.js +157 -0
  185. package/dist/paypal-tool.js.map +1 -0
  186. package/dist/perplexity-tool.d.ts +2 -0
  187. package/dist/perplexity-tool.d.ts.map +1 -0
  188. package/dist/perplexity-tool.js +93 -0
  189. package/dist/perplexity-tool.js.map +1 -0
  190. package/dist/pika-tool.d.ts +4 -0
  191. package/dist/pika-tool.d.ts.map +1 -0
  192. package/dist/pika-tool.js +102 -0
  193. package/dist/pika-tool.js.map +1 -0
  194. package/dist/pinecone-tool.d.ts +6 -0
  195. package/dist/pinecone-tool.d.ts.map +1 -0
  196. package/dist/pinecone-tool.js +148 -0
  197. package/dist/pinecone-tool.js.map +1 -0
  198. package/dist/pinterest-tool.d.ts +7 -0
  199. package/dist/pinterest-tool.d.ts.map +1 -0
  200. package/dist/pinterest-tool.js +219 -0
  201. package/dist/pinterest-tool.js.map +1 -0
  202. package/dist/plaid-tool.d.ts +6 -0
  203. package/dist/plaid-tool.d.ts.map +1 -0
  204. package/dist/plaid-tool.js +149 -0
  205. package/dist/plaid-tool.js.map +1 -0
  206. package/dist/postman-tool.d.ts +2 -0
  207. package/dist/postman-tool.d.ts.map +1 -0
  208. package/dist/postman-tool.js +92 -0
  209. package/dist/postman-tool.js.map +1 -0
  210. package/dist/postmark-tool.d.ts +7 -0
  211. package/dist/postmark-tool.d.ts.map +1 -0
  212. package/dist/postmark-tool.js +148 -0
  213. package/dist/postmark-tool.js.map +1 -0
  214. package/dist/pushover-tool.d.ts +6 -0
  215. package/dist/pushover-tool.d.ts.map +1 -0
  216. package/dist/pushover-tool.js +146 -0
  217. package/dist/pushover-tool.js.map +1 -0
  218. package/dist/qc-tool.d.ts +4 -0
  219. package/dist/qc-tool.d.ts.map +1 -0
  220. package/dist/qc-tool.js +415 -0
  221. package/dist/qc-tool.js.map +1 -0
  222. package/dist/quickbooks-tool.d.ts +5 -0
  223. package/dist/quickbooks-tool.d.ts.map +1 -0
  224. package/dist/quickbooks-tool.js +160 -0
  225. package/dist/quickbooks-tool.js.map +1 -0
  226. package/dist/render-tool.d.ts +7 -0
  227. package/dist/render-tool.d.ts.map +1 -0
  228. package/dist/render-tool.js +158 -0
  229. package/dist/render-tool.js.map +1 -0
  230. package/dist/replicate-tool.d.ts +7 -0
  231. package/dist/replicate-tool.d.ts.map +1 -0
  232. package/dist/replicate-tool.js +172 -0
  233. package/dist/replicate-tool.js.map +1 -0
  234. package/dist/runway-tool.d.ts +4 -0
  235. package/dist/runway-tool.d.ts.map +1 -0
  236. package/dist/runway-tool.js +110 -0
  237. package/dist/runway-tool.js.map +1 -0
  238. package/dist/segment-tool.d.ts +6 -0
  239. package/dist/segment-tool.d.ts.map +1 -0
  240. package/dist/segment-tool.js +129 -0
  241. package/dist/segment-tool.js.map +1 -0
  242. package/dist/sendgrid-tool.d.ts +7 -0
  243. package/dist/sendgrid-tool.d.ts.map +1 -0
  244. package/dist/sendgrid-tool.js +124 -0
  245. package/dist/sendgrid-tool.js.map +1 -0
  246. package/dist/sentry-tool.d.ts +2 -0
  247. package/dist/sentry-tool.d.ts.map +1 -0
  248. package/dist/sentry-tool.js +123 -0
  249. package/dist/sentry-tool.js.map +1 -0
  250. package/dist/server.d.ts.map +1 -1
  251. package/dist/server.js +10 -0
  252. package/dist/server.js.map +1 -1
  253. package/dist/speedrun-tool.d.ts +6 -0
  254. package/dist/speedrun-tool.d.ts.map +1 -0
  255. package/dist/speedrun-tool.js +192 -0
  256. package/dist/speedrun-tool.js.map +1 -0
  257. package/dist/spotify-tool.d.ts +8 -0
  258. package/dist/spotify-tool.d.ts.map +1 -0
  259. package/dist/spotify-tool.js +274 -0
  260. package/dist/spotify-tool.js.map +1 -0
  261. package/dist/square-tool.d.ts +5 -0
  262. package/dist/square-tool.d.ts.map +1 -0
  263. package/dist/square-tool.js +133 -0
  264. package/dist/square-tool.js.map +1 -0
  265. package/dist/stability-tool.d.ts +5 -0
  266. package/dist/stability-tool.d.ts.map +1 -0
  267. package/dist/stability-tool.js +190 -0
  268. package/dist/stability-tool.js.map +1 -0
  269. package/dist/steam-tool.d.ts +6 -0
  270. package/dist/steam-tool.d.ts.map +1 -0
  271. package/dist/steam-tool.js +222 -0
  272. package/dist/steam-tool.js.map +1 -0
  273. package/dist/stripe-tool.d.ts +7 -0
  274. package/dist/stripe-tool.d.ts.map +1 -0
  275. package/dist/stripe-tool.js +181 -0
  276. package/dist/stripe-tool.js.map +1 -0
  277. package/dist/tiktok-tool.d.ts +4 -0
  278. package/dist/tiktok-tool.d.ts.map +1 -0
  279. package/dist/tiktok-tool.js +129 -0
  280. package/dist/tiktok-tool.js.map +1 -0
  281. package/dist/togetherai-tool.d.ts +5 -0
  282. package/dist/togetherai-tool.d.ts.map +1 -0
  283. package/dist/togetherai-tool.js +129 -0
  284. package/dist/togetherai-tool.js.map +1 -0
  285. package/dist/toilets-tool.js +2 -2
  286. package/dist/tool-wiring.d.ts +7982 -18
  287. package/dist/tool-wiring.d.ts.map +1 -1
  288. package/dist/tool-wiring.js +5084 -18
  289. package/dist/tool-wiring.js.map +1 -1
  290. package/dist/trello-tool.d.ts +2 -0
  291. package/dist/trello-tool.d.ts.map +1 -0
  292. package/dist/trello-tool.js +166 -0
  293. package/dist/trello-tool.js.map +1 -0
  294. package/dist/turso-tool.d.ts +6 -0
  295. package/dist/turso-tool.d.ts.map +1 -0
  296. package/dist/turso-tool.js +158 -0
  297. package/dist/turso-tool.js.map +1 -0
  298. package/dist/twilio-tool.d.ts +8 -0
  299. package/dist/twilio-tool.d.ts.map +1 -0
  300. package/dist/twilio-tool.js +243 -0
  301. package/dist/twilio-tool.js.map +1 -0
  302. package/dist/upstash-tool.d.ts +8 -0
  303. package/dist/upstash-tool.d.ts.map +1 -0
  304. package/dist/upstash-tool.js +191 -0
  305. package/dist/upstash-tool.js.map +1 -0
  306. package/dist/whatsapp-tool.d.ts +6 -0
  307. package/dist/whatsapp-tool.d.ts.map +1 -0
  308. package/dist/whatsapp-tool.js +200 -0
  309. package/dist/whatsapp-tool.js.map +1 -0
  310. package/dist/woocommerce-tool.d.ts +4 -0
  311. package/dist/woocommerce-tool.d.ts.map +1 -0
  312. package/dist/woocommerce-tool.js +140 -0
  313. package/dist/woocommerce-tool.js.map +1 -0
  314. package/dist/youtube-tool.d.ts +7 -0
  315. package/dist/youtube-tool.d.ts.map +1 -0
  316. package/dist/youtube-tool.js +196 -0
  317. package/dist/youtube-tool.js.map +1 -0
  318. package/package.json +1 -1
  319. package/server.json +37 -37
  320. package/LICENSE +0 -216
  321. package/dist/cloudflare-worker.d.ts +0 -12
  322. package/dist/cloudflare-worker.d.ts.map +0 -1
  323. package/dist/cloudflare-worker.js +0 -50
  324. package/dist/cloudflare-worker.js.map +0 -1
@@ -0,0 +1,225 @@
1
+ // Cohere AI API integration for the UnClick MCP server.
2
+ // Uses the Cohere REST API via fetch - no external dependencies.
3
+ // Users must supply an API key from dashboard.cohere.com.
4
+ const COHERE_API_BASE = "https://api.cohere.com/v1";
5
+ // --- Auth validation ---------------------------------------------------------
6
+ function requireKey(args) {
7
+ const key = String(args.api_key ?? "").trim();
8
+ if (!key)
9
+ throw new Error("api_key is required. Get one at dashboard.cohere.com.");
10
+ return key;
11
+ }
12
+ // --- API helpers -------------------------------------------------------------
13
+ async function coherePost(apiKey, path, body) {
14
+ const res = await fetch(`${COHERE_API_BASE}${path}`, {
15
+ method: "POST",
16
+ headers: {
17
+ Authorization: `Bearer ${apiKey}`,
18
+ "Content-Type": "application/json",
19
+ "X-Client-Name": "unclick-mcp",
20
+ },
21
+ body: JSON.stringify(body),
22
+ });
23
+ const data = await res.json();
24
+ if (!res.ok) {
25
+ const msg = data.message ?? `HTTP ${res.status}`;
26
+ throw new Error(`Cohere error: ${msg}`);
27
+ }
28
+ return data;
29
+ }
30
+ async function cohereGet(apiKey, path) {
31
+ const res = await fetch(`${COHERE_API_BASE}${path}`, {
32
+ headers: {
33
+ Authorization: `Bearer ${apiKey}`,
34
+ "X-Client-Name": "unclick-mcp",
35
+ },
36
+ });
37
+ const data = await res.json();
38
+ if (!res.ok) {
39
+ const msg = data.message ?? `HTTP ${res.status}`;
40
+ throw new Error(`Cohere error: ${msg}`);
41
+ }
42
+ return data;
43
+ }
44
+ function parseJsonOrArray(value, fieldName) {
45
+ if (Array.isArray(value))
46
+ return value;
47
+ if (typeof value === "string") {
48
+ try {
49
+ return JSON.parse(value);
50
+ }
51
+ catch {
52
+ throw new Error(`${fieldName} must be a JSON array or an array.`);
53
+ }
54
+ }
55
+ throw new Error(`${fieldName} is required as an array or JSON string array.`);
56
+ }
57
+ // --- Operations --------------------------------------------------------------
58
+ export async function cohereChat(args) {
59
+ try {
60
+ const apiKey = requireKey(args);
61
+ const message = String(args.message ?? "").trim();
62
+ if (!message)
63
+ throw new Error("message is required.");
64
+ const model = String(args.model ?? "command-r-plus");
65
+ const body = { message, model };
66
+ if (args.preamble)
67
+ body.preamble = String(args.preamble);
68
+ if (args.max_tokens)
69
+ body.max_tokens = Number(args.max_tokens);
70
+ if (args.temperature !== undefined)
71
+ body.temperature = Number(args.temperature);
72
+ if (args.chat_history) {
73
+ let history;
74
+ if (Array.isArray(args.chat_history)) {
75
+ history = args.chat_history;
76
+ }
77
+ else if (typeof args.chat_history === "string") {
78
+ try {
79
+ history = JSON.parse(args.chat_history);
80
+ }
81
+ catch {
82
+ throw new Error("chat_history must be a JSON array of {role, message} objects.");
83
+ }
84
+ }
85
+ else {
86
+ throw new Error("chat_history must be an array or JSON string.");
87
+ }
88
+ body.chat_history = history;
89
+ }
90
+ const result = await coherePost(apiKey, "/chat", body);
91
+ return {
92
+ text: result.text,
93
+ generation_id: result.generation_id,
94
+ finish_reason: result.finish_reason,
95
+ usage: result.meta?.billed_units ?? result.meta?.tokens ?? null,
96
+ };
97
+ }
98
+ catch (err) {
99
+ return { error: err instanceof Error ? err.message : String(err) };
100
+ }
101
+ }
102
+ export async function cohereGenerate(args) {
103
+ try {
104
+ const apiKey = requireKey(args);
105
+ const prompt = String(args.prompt ?? "").trim();
106
+ if (!prompt)
107
+ throw new Error("prompt is required.");
108
+ const model = String(args.model ?? "command");
109
+ const body = { prompt, model, max_tokens: Number(args.max_tokens ?? 256) };
110
+ if (args.temperature !== undefined)
111
+ body.temperature = Number(args.temperature);
112
+ if (args.k !== undefined)
113
+ body.k = Number(args.k);
114
+ if (args.p !== undefined)
115
+ body.p = Number(args.p);
116
+ if (args.stop_sequences) {
117
+ body.stop_sequences = Array.isArray(args.stop_sequences)
118
+ ? args.stop_sequences
119
+ : JSON.parse(String(args.stop_sequences));
120
+ }
121
+ const result = await coherePost(apiKey, "/generate", body);
122
+ return {
123
+ id: result.id,
124
+ generations: result.generations.map((g) => ({
125
+ id: g.id,
126
+ text: g.text,
127
+ finish_reason: g.finish_reason,
128
+ })),
129
+ };
130
+ }
131
+ catch (err) {
132
+ return { error: err instanceof Error ? err.message : String(err) };
133
+ }
134
+ }
135
+ export async function cohereEmbed(args) {
136
+ try {
137
+ const apiKey = requireKey(args);
138
+ const texts = parseJsonOrArray(args.texts, "texts");
139
+ const model = String(args.model ?? "embed-english-v3.0");
140
+ const input_type = String(args.input_type ?? "search_document");
141
+ const truncate = String(args.truncate ?? "END");
142
+ const body = { texts, model, input_type, truncate };
143
+ const result = await coherePost(apiKey, "/embed", body);
144
+ return {
145
+ model,
146
+ count: result.embeddings.length,
147
+ embeddings: result.embeddings.map((emb, i) => ({
148
+ index: i,
149
+ dimensions: emb.length,
150
+ embedding: emb,
151
+ })),
152
+ };
153
+ }
154
+ catch (err) {
155
+ return { error: err instanceof Error ? err.message : String(err) };
156
+ }
157
+ }
158
+ export async function cohereRerank(args) {
159
+ try {
160
+ const apiKey = requireKey(args);
161
+ const query = String(args.query ?? "").trim();
162
+ if (!query)
163
+ throw new Error("query is required.");
164
+ const documents = parseJsonOrArray(args.documents, "documents");
165
+ const model = String(args.model ?? "rerank-english-v3.0");
166
+ const body = { query, documents, model };
167
+ if (args.top_n !== undefined)
168
+ body.top_n = Number(args.top_n);
169
+ const result = await coherePost(apiKey, "/rerank", body);
170
+ return {
171
+ id: result.id,
172
+ count: result.results.length,
173
+ results: result.results.map((r) => ({
174
+ index: r.index,
175
+ relevance_score: r.relevance_score,
176
+ document: r.document ?? null,
177
+ })),
178
+ };
179
+ }
180
+ catch (err) {
181
+ return { error: err instanceof Error ? err.message : String(err) };
182
+ }
183
+ }
184
+ export async function cohereClassify(args) {
185
+ try {
186
+ const apiKey = requireKey(args);
187
+ const inputs = parseJsonOrArray(args.inputs, "inputs");
188
+ const examples = parseJsonOrArray(args.examples, "examples");
189
+ const model = String(args.model ?? "embed-english-v2.0");
190
+ const body = { inputs, examples, model };
191
+ const result = await coherePost(apiKey, "/classify", body);
192
+ return {
193
+ id: result.id,
194
+ count: result.classifications.length,
195
+ classifications: result.classifications.map((c) => ({
196
+ input: c.input,
197
+ prediction: c.prediction,
198
+ confidence: c.confidence,
199
+ labels: c.labels,
200
+ })),
201
+ };
202
+ }
203
+ catch (err) {
204
+ return { error: err instanceof Error ? err.message : String(err) };
205
+ }
206
+ }
207
+ export async function cohereListModels(args) {
208
+ try {
209
+ const apiKey = requireKey(args);
210
+ const data = await cohereGet(apiKey, "/models");
211
+ const models = data.models ?? [];
212
+ return {
213
+ count: models.length,
214
+ models: models.map((m) => ({
215
+ name: m.name,
216
+ endpoints: m.endpoints ?? [],
217
+ context_length: m.context_length ?? null,
218
+ })),
219
+ };
220
+ }
221
+ catch (err) {
222
+ return { error: err instanceof Error ? err.message : String(err) };
223
+ }
224
+ }
225
+ //# sourceMappingURL=cohere-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cohere-tool.js","sourceRoot":"","sources":["../src/cohere-tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ConnectorConfig } from "./index.js";
2
+ export declare const figmaConnector: ConnectorConfig;
3
+ //# sourceMappingURL=figma.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"figma.d.ts","sourceRoot":"","sources":["../../src/connectors/figma.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,eAAO,MAAM,cAAc,EAAE,eAgB5B,CAAC"}
@@ -0,0 +1,18 @@
1
+ export const figmaConnector = {
2
+ name: "Figma",
3
+ slug: "figma",
4
+ authType: "api_key",
5
+ description: "Figma REST API. Read file structure, export node images, manage comments, and browse team projects and published components via a Personal Access Token.",
6
+ credentialFields: [
7
+ {
8
+ key: "personal_access_token",
9
+ label: "Personal Access Token",
10
+ description: "Generate a token in Figma under Account Settings → Personal access tokens. Give it read access to files and comments.",
11
+ secret: true,
12
+ placeholder: "figd_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
13
+ findGuideUrl: "https://help.figma.com/hc/en-us/articles/8085703771159-Manage-personal-access-tokens",
14
+ },
15
+ ],
16
+ docsUrl: "https://www.figma.com/developers/api",
17
+ };
18
+ //# sourceMappingURL=figma.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"figma.js","sourceRoot":"","sources":["../../src/connectors/figma.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC7C,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,OAAO;IACb,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,0JAA0J;IACvK,gBAAgB,EAAE;QAChB;YACE,GAAG,EAAU,uBAAuB;YACpC,KAAK,EAAQ,uBAAuB;YACpC,WAAW,EAAE,uHAAuH;YACpI,MAAM,EAAO,IAAI;YACjB,WAAW,EAAE,2CAA2C;YACxD,YAAY,EAAE,sFAAsF;SACrG;KACF;IACD,OAAO,EAAE,sCAAsC;CAChD,CAAC"}
@@ -34,6 +34,8 @@ import { redditConnector } from "./reddit.js";
34
34
  import { slackConnector } from "./slack.js";
35
35
  import { blueskyConnector } from "./bluesky.js";
36
36
  import { mastodonConnector } from "./mastodon.js";
37
- export { xeroConnector, shopifyConnector, telegramConnector, discordConnector, redditConnector, slackConnector, blueskyConnector, mastodonConnector, };
37
+ import { lineConnector } from "./line.js";
38
+ import { figmaConnector } from "./figma.js";
39
+ export { xeroConnector, shopifyConnector, telegramConnector, discordConnector, redditConnector, slackConnector, blueskyConnector, mastodonConnector, lineConnector, figmaConnector, };
38
40
  export declare const CONNECTORS: Record<string, ConnectorConfig>;
39
41
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/connectors/index.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;AAE1D,MAAM,WAAW,eAAe;IAC9B,mEAAmE;IACnE,GAAG,EAAE,MAAM,CAAC;IACZ,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,mCAAmC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,OAAO,EAAE,aAAa,EAAE,MAAU,WAAW,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAO,cAAc,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAO,cAAc,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAQ,aAAa,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAS,YAAY,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAO,cAAc,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,iBAAiB,GAClB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAStD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/connectors/index.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;AAE1D,MAAM,WAAW,eAAe;IAC9B,mEAAmE;IACnE,GAAG,EAAE,MAAM,CAAC;IACZ,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,mCAAmC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,OAAO,EAAE,aAAa,EAAE,MAAU,WAAW,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAO,cAAc,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAO,cAAc,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAQ,aAAa,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAS,YAAY,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAO,cAAc,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAU,WAAW,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAS,YAAY,CAAC;AAE/C,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,cAAc,GACf,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAWtD,CAAC"}
@@ -9,7 +9,9 @@ import { redditConnector } from "./reddit.js";
9
9
  import { slackConnector } from "./slack.js";
10
10
  import { blueskyConnector } from "./bluesky.js";
11
11
  import { mastodonConnector } from "./mastodon.js";
12
- export { xeroConnector, shopifyConnector, telegramConnector, discordConnector, redditConnector, slackConnector, blueskyConnector, mastodonConnector, };
12
+ import { lineConnector } from "./line.js";
13
+ import { figmaConnector } from "./figma.js";
14
+ export { xeroConnector, shopifyConnector, telegramConnector, discordConnector, redditConnector, slackConnector, blueskyConnector, mastodonConnector, lineConnector, figmaConnector, };
13
15
  export const CONNECTORS = {
14
16
  xero: xeroConnector,
15
17
  shopify: shopifyConnector,
@@ -19,5 +21,7 @@ export const CONNECTORS = {
19
21
  slack: slackConnector,
20
22
  bluesky: blueskyConnector,
21
23
  mastodon: mastodonConnector,
24
+ line: lineConnector,
25
+ figma: figmaConnector,
22
26
  };
23
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/connectors/index.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,oFAAoF;AACpF,+EAA+E;AAiC/E,OAAO,EAAE,aAAa,EAAE,MAAU,WAAW,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAO,cAAc,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAO,cAAc,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAQ,aAAa,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAS,YAAY,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAO,cAAc,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,iBAAiB,GAClB,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAoC;IACzD,IAAI,EAAM,aAAa;IACvB,OAAO,EAAG,gBAAgB;IAC1B,QAAQ,EAAE,iBAAiB;IAC3B,OAAO,EAAG,gBAAgB;IAC1B,MAAM,EAAI,eAAe;IACzB,KAAK,EAAK,cAAc;IACxB,OAAO,EAAG,gBAAgB;IAC1B,QAAQ,EAAE,iBAAiB;CAC5B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/connectors/index.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,oFAAoF;AACpF,+EAA+E;AAiC/E,OAAO,EAAE,aAAa,EAAE,MAAU,WAAW,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAO,cAAc,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAO,cAAc,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAQ,aAAa,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAS,YAAY,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAO,cAAc,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAU,WAAW,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAS,YAAY,CAAC;AAE/C,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,cAAc,GACf,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAoC;IACzD,IAAI,EAAM,aAAa;IACvB,OAAO,EAAG,gBAAgB;IAC1B,QAAQ,EAAE,iBAAiB;IAC3B,OAAO,EAAG,gBAAgB;IAC1B,MAAM,EAAI,eAAe;IACzB,KAAK,EAAK,cAAc;IACxB,OAAO,EAAG,gBAAgB;IAC1B,QAAQ,EAAE,iBAAiB;IAC3B,IAAI,EAAM,aAAa;IACvB,KAAK,EAAK,cAAc;CACzB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ConnectorConfig } from "./index.js";
2
+ export declare const lineConnector: ConnectorConfig;
3
+ //# sourceMappingURL=line.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"line.d.ts","sourceRoot":"","sources":["../../src/connectors/line.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,eAAO,MAAM,aAAa,EAAE,eAgB3B,CAAC"}
@@ -0,0 +1,18 @@
1
+ export const lineConnector = {
2
+ name: "LINE",
3
+ slug: "line",
4
+ authType: "bot_token",
5
+ description: "LINE Messaging API. Send messages to users and groups, reply to webhook events, broadcast to followers, and retrieve user and group profiles via your LINE Official Account.",
6
+ credentialFields: [
7
+ {
8
+ key: "channel_access_token",
9
+ label: "Channel Access Token",
10
+ description: "Long-lived channel access token from your LINE Developers channel settings. Issue one under Messaging API → Channel access token.",
11
+ secret: true,
12
+ placeholder: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
13
+ findGuideUrl: "https://developers.line.biz/en/docs/messaging-api/channel-access-tokens/",
14
+ },
15
+ ],
16
+ docsUrl: "https://developers.line.biz/en/docs/messaging-api/",
17
+ };
18
+ //# sourceMappingURL=line.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"line.js","sourceRoot":"","sources":["../../src/connectors/line.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAoB;IAC5C,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,8KAA8K;IAC3L,gBAAgB,EAAE;QAChB;YACE,GAAG,EAAU,sBAAsB;YACnC,KAAK,EAAQ,sBAAsB;YACnC,WAAW,EAAE,mIAAmI;YAChJ,MAAM,EAAO,IAAI;YACjB,WAAW,EAAE,kDAAkD;YAC/D,YAAY,EAAE,0EAA0E;SACzF;KACF;IACD,OAAO,EAAE,oDAAoD;CAC9D,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare function ckListSubscribers(args: Record<string, unknown>): Promise<unknown>;
2
+ export declare function ckAddSubscriber(args: Record<string, unknown>): Promise<unknown>;
3
+ export declare function ckListForms(args: Record<string, unknown>): Promise<unknown>;
4
+ export declare function ckListSequences(args: Record<string, unknown>): Promise<unknown>;
5
+ export declare function ckListTags(args: Record<string, unknown>): Promise<unknown>;
6
+ export declare function ckTagSubscriber(args: Record<string, unknown>): Promise<unknown>;
7
+ //# sourceMappingURL=convertkit-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertkit-tool.d.ts","sourceRoot":"","sources":["../src/convertkit-tool.ts"],"names":[],"mappings":"AAuHA,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CA+BvF;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CA4BrF;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAoBjF;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAkBrF;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAgBhF;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CA2BrF"}
@@ -0,0 +1,213 @@
1
+ // ConvertKit API integration for the UnClick MCP server.
2
+ // Uses the ConvertKit v3 REST API via fetch - no external dependencies.
3
+ // Users must supply an api_key (read ops) and/or api_secret (subscriber management)
4
+ // from app.convertkit.com/account_settings/advanced_settings.
5
+ const CK_API_BASE = "https://api.convertkit.com/v3";
6
+ // --- Auth validation ---------------------------------------------------------
7
+ function requireApiKey(args) {
8
+ const key = String(args.api_key ?? "").trim();
9
+ if (!key)
10
+ throw new Error("api_key is required. Find it at app.convertkit.com/account_settings/advanced_settings.");
11
+ return key;
12
+ }
13
+ function requireApiSecret(args) {
14
+ const secret = String(args.api_secret ?? "").trim();
15
+ if (!secret)
16
+ throw new Error("api_secret is required for subscriber management. Find it at app.convertkit.com/account_settings/advanced_settings.");
17
+ return secret;
18
+ }
19
+ // --- API helpers -------------------------------------------------------------
20
+ async function ckGet(path, queryParams) {
21
+ const params = Object.entries(queryParams)
22
+ .filter(([, v]) => v !== undefined && v !== "")
23
+ .map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(v)}`)
24
+ .join("&");
25
+ const url = `${CK_API_BASE}${path}${params ? "?" + params : ""}`;
26
+ const res = await fetch(url, {
27
+ headers: { Accept: "application/json" },
28
+ });
29
+ const data = await res.json();
30
+ if (!res.ok) {
31
+ const msg = data.message ?? data.error ?? `HTTP ${res.status}`;
32
+ throw new Error(`ConvertKit error: ${msg}`);
33
+ }
34
+ return data;
35
+ }
36
+ async function ckPost(path, body) {
37
+ const res = await fetch(`${CK_API_BASE}${path}`, {
38
+ method: "POST",
39
+ headers: {
40
+ "Content-Type": "application/json",
41
+ Accept: "application/json",
42
+ },
43
+ body: JSON.stringify(body),
44
+ });
45
+ const data = await res.json();
46
+ if (!res.ok) {
47
+ const msg = data.message ?? data.error ?? `HTTP ${res.status}`;
48
+ throw new Error(`ConvertKit error: ${msg}`);
49
+ }
50
+ return data;
51
+ }
52
+ // --- Operations --------------------------------------------------------------
53
+ export async function ckListSubscribers(args) {
54
+ try {
55
+ const apiSecret = requireApiSecret(args);
56
+ const params = { api_secret: apiSecret };
57
+ if (args.page)
58
+ params.page = String(args.page);
59
+ if (args.from)
60
+ params.from = String(args.from);
61
+ if (args.to)
62
+ params.to = String(args.to);
63
+ if (args.updated_from)
64
+ params.updated_from = String(args.updated_from);
65
+ if (args.updated_to)
66
+ params.updated_to = String(args.updated_to);
67
+ if (args.sort_order)
68
+ params.sort_order = String(args.sort_order);
69
+ if (args.sort_field)
70
+ params.sort_field = String(args.sort_field);
71
+ const result = await ckGet("/subscribers", params);
72
+ return {
73
+ total_subscribers: result.total_subscribers,
74
+ page: result.page,
75
+ total_pages: result.total_pages,
76
+ count: result.subscribers.length,
77
+ subscribers: result.subscribers.map((s) => ({
78
+ id: s.id,
79
+ first_name: s.first_name,
80
+ email_address: s.email_address,
81
+ state: s.state,
82
+ created_at: s.created_at,
83
+ fields: s.fields,
84
+ })),
85
+ };
86
+ }
87
+ catch (err) {
88
+ return { error: err instanceof Error ? err.message : String(err) };
89
+ }
90
+ }
91
+ export async function ckAddSubscriber(args) {
92
+ try {
93
+ const apiKey = requireApiKey(args);
94
+ const formId = String(args.form_id ?? "").trim();
95
+ if (!formId)
96
+ throw new Error("form_id is required.");
97
+ const email = String(args.email ?? "").trim();
98
+ if (!email)
99
+ throw new Error("email is required.");
100
+ const body = { api_key: apiKey, email };
101
+ if (args.first_name)
102
+ body.first_name = String(args.first_name);
103
+ if (args.fields && typeof args.fields === "object")
104
+ body.fields = args.fields;
105
+ const result = await ckPost(`/forms/${formId}/subscribe`, body);
106
+ const sub = result.subscription;
107
+ return {
108
+ subscription_id: sub.id,
109
+ state: sub.state,
110
+ created_at: sub.created_at,
111
+ subscriber: {
112
+ id: sub.subscriber.id,
113
+ first_name: sub.subscriber.first_name,
114
+ email_address: sub.subscriber.email_address,
115
+ state: sub.subscriber.state,
116
+ },
117
+ };
118
+ }
119
+ catch (err) {
120
+ return { error: err instanceof Error ? err.message : String(err) };
121
+ }
122
+ }
123
+ export async function ckListForms(args) {
124
+ try {
125
+ const apiKey = requireApiKey(args);
126
+ const result = await ckGet("/forms", { api_key: apiKey });
127
+ const forms = result.forms ?? [];
128
+ return {
129
+ count: forms.length,
130
+ forms: forms.map((f) => ({
131
+ id: f.id,
132
+ name: f.name,
133
+ type: f.type,
134
+ format: f.format,
135
+ archived: f.archived,
136
+ embed_url: f.embed_url,
137
+ created_at: f.created_at,
138
+ })),
139
+ };
140
+ }
141
+ catch (err) {
142
+ return { error: err instanceof Error ? err.message : String(err) };
143
+ }
144
+ }
145
+ export async function ckListSequences(args) {
146
+ try {
147
+ const apiKey = requireApiKey(args);
148
+ const result = await ckGet("/sequences", { api_key: apiKey });
149
+ const sequences = result.courses ?? [];
150
+ return {
151
+ count: sequences.length,
152
+ sequences: sequences.map((s) => ({
153
+ id: s.id,
154
+ name: s.name,
155
+ hold: s.hold,
156
+ repeat: s.repeat,
157
+ created_at: s.created_at,
158
+ })),
159
+ };
160
+ }
161
+ catch (err) {
162
+ return { error: err instanceof Error ? err.message : String(err) };
163
+ }
164
+ }
165
+ export async function ckListTags(args) {
166
+ try {
167
+ const apiKey = requireApiKey(args);
168
+ const result = await ckGet("/tags", { api_key: apiKey });
169
+ const tags = result.tags ?? [];
170
+ return {
171
+ count: tags.length,
172
+ tags: tags.map((t) => ({
173
+ id: t.id,
174
+ name: t.name,
175
+ created_at: t.created_at,
176
+ })),
177
+ };
178
+ }
179
+ catch (err) {
180
+ return { error: err instanceof Error ? err.message : String(err) };
181
+ }
182
+ }
183
+ export async function ckTagSubscriber(args) {
184
+ try {
185
+ const apiKey = requireApiKey(args);
186
+ const tagId = String(args.tag_id ?? "").trim();
187
+ if (!tagId)
188
+ throw new Error("tag_id is required.");
189
+ const email = String(args.email ?? "").trim();
190
+ if (!email)
191
+ throw new Error("email is required.");
192
+ const body = { api_key: apiKey, email };
193
+ if (args.first_name)
194
+ body.first_name = String(args.first_name);
195
+ const result = await ckPost(`/tags/${tagId}/subscribe`, body);
196
+ const sub = result.subscription;
197
+ return {
198
+ subscription_id: sub.id,
199
+ state: sub.state,
200
+ created_at: sub.created_at,
201
+ subscriber: {
202
+ id: sub.subscriber.id,
203
+ first_name: sub.subscriber.first_name,
204
+ email_address: sub.subscriber.email_address,
205
+ state: sub.subscriber.state,
206
+ },
207
+ };
208
+ }
209
+ catch (err) {
210
+ return { error: err instanceof Error ? err.message : String(err) };
211
+ }
212
+ }
213
+ //# sourceMappingURL=convertkit-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertkit-tool.js","sourceRoot":"","sources":["../src/convertkit-tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare function datadogListMonitors(args: Record<string, unknown>): Promise<unknown>;
2
+ export declare function datadogGetMonitor(args: Record<string, unknown>): Promise<unknown>;
3
+ export declare function datadogCreateMonitor(args: Record<string, unknown>): Promise<unknown>;
4
+ export declare function datadogListDashboards(args: Record<string, unknown>): Promise<unknown>;
5
+ export declare function datadogQueryMetrics(args: Record<string, unknown>): Promise<unknown>;
6
+ export declare function datadogListEvents(args: Record<string, unknown>): Promise<unknown>;
7
+ //# sourceMappingURL=datadog-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datadog-tool.d.ts","sourceRoot":"","sources":["../src/datadog-tool.ts"],"names":[],"mappings":"AAkDA,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CASzF;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAKvF;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAe1F;AAED,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAM3F;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAUzF;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAavF"}