@epicai/legion 1.0.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.

Potentially problematic release.


This version of @epicai/legion might be problematic. Click here for more details.

Files changed (1941) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/LICENSE +190 -0
  3. package/LICENSE-ADAPTERS +98 -0
  4. package/NOTICE +18 -0
  5. package/PRIVACY.md +74 -0
  6. package/README.md +340 -0
  7. package/TRADEMARK.md +72 -0
  8. package/adapter-catalog.json +162567 -0
  9. package/dist/EpicAI.d.ts +14 -0
  10. package/dist/EpicAI.js +307 -0
  11. package/dist/audit/AuditTrail.d.ts +48 -0
  12. package/dist/audit/AuditTrail.js +151 -0
  13. package/dist/audit/HashChain.d.ts +27 -0
  14. package/dist/audit/HashChain.js +85 -0
  15. package/dist/audit/adapters/InMemoryAdapter.d.ts +30 -0
  16. package/dist/audit/adapters/InMemoryAdapter.js +74 -0
  17. package/dist/audit/adapters/JSONLAdapter.d.ts +37 -0
  18. package/dist/audit/adapters/JSONLAdapter.js +117 -0
  19. package/dist/audit/adapters/base.d.ts +6 -0
  20. package/dist/audit/adapters/base.js +6 -0
  21. package/dist/autonomy/ApprovalQueue.d.ts +49 -0
  22. package/dist/autonomy/ApprovalQueue.js +155 -0
  23. package/dist/autonomy/PolicyEngine.d.ts +23 -0
  24. package/dist/autonomy/PolicyEngine.js +40 -0
  25. package/dist/autonomy/TieredAutonomy.d.ts +57 -0
  26. package/dist/autonomy/TieredAutonomy.js +148 -0
  27. package/dist/autonomy/adapters/RedisQueue.d.ts +36 -0
  28. package/dist/autonomy/adapters/RedisQueue.js +138 -0
  29. package/dist/bin/gateway.d.ts +9 -0
  30. package/dist/bin/gateway.js +116 -0
  31. package/dist/bin/setup.d.ts +19 -0
  32. package/dist/bin/setup.js +1365 -0
  33. package/dist/eval/routing-eval.d.ts +18 -0
  34. package/dist/eval/routing-eval.js +307 -0
  35. package/dist/eval/tier3-eval.d.ts +10 -0
  36. package/dist/eval/tier3-eval.js +116 -0
  37. package/dist/federation/AdapterCatalog.d.ts +59 -0
  38. package/dist/federation/AdapterCatalog.js +195 -0
  39. package/dist/federation/AdaptivePool.d.ts +69 -0
  40. package/dist/federation/AdaptivePool.js +291 -0
  41. package/dist/federation/ConnectionPool.d.ts +65 -0
  42. package/dist/federation/ConnectionPool.js +194 -0
  43. package/dist/federation/Correlator.d.ts +17 -0
  44. package/dist/federation/Correlator.js +98 -0
  45. package/dist/federation/DomainClassifier.d.ts +31 -0
  46. package/dist/federation/DomainClassifier.js +164 -0
  47. package/dist/federation/FederationManager.d.ts +83 -0
  48. package/dist/federation/FederationManager.js +159 -0
  49. package/dist/federation/QueryExpander.d.ts +14 -0
  50. package/dist/federation/QueryExpander.js +189 -0
  51. package/dist/federation/RegistryLoader.d.ts +111 -0
  52. package/dist/federation/RegistryLoader.js +175 -0
  53. package/dist/federation/ToolPreFilter.d.ts +73 -0
  54. package/dist/federation/ToolPreFilter.js +329 -0
  55. package/dist/federation/ToolRegistry.d.ts +53 -0
  56. package/dist/federation/ToolRegistry.js +87 -0
  57. package/dist/federation/adapters/MCPClientAdapter.d.ts +24 -0
  58. package/dist/federation/adapters/MCPClientAdapter.js +214 -0
  59. package/dist/federation/adapters/base.d.ts +57 -0
  60. package/dist/federation/adapters/base.js +32 -0
  61. package/dist/federation/sandbox/ProcessSandbox.d.ts +27 -0
  62. package/dist/federation/sandbox/ProcessSandbox.js +170 -0
  63. package/dist/federation/sandbox/SandboxManager.d.ts +33 -0
  64. package/dist/federation/sandbox/SandboxManager.js +96 -0
  65. package/dist/federation/sandbox/WorkerSandbox.d.ts +24 -0
  66. package/dist/federation/sandbox/WorkerSandbox.js +126 -0
  67. package/dist/federation/sandbox/types.d.ts +17 -0
  68. package/dist/federation/sandbox/types.js +14 -0
  69. package/dist/gateway/BackendRegistry.d.ts +26 -0
  70. package/dist/gateway/BackendRegistry.js +218 -0
  71. package/dist/gateway/ControlPlane.d.ts +31 -0
  72. package/dist/gateway/ControlPlane.js +188 -0
  73. package/dist/gateway/InferenceGateway.d.ts +33 -0
  74. package/dist/gateway/InferenceGateway.js +326 -0
  75. package/dist/gateway/OllamaShim.d.ts +34 -0
  76. package/dist/gateway/OllamaShim.js +167 -0
  77. package/dist/gateway/Router.d.ts +23 -0
  78. package/dist/gateway/Router.js +61 -0
  79. package/dist/gateway/index.d.ts +13 -0
  80. package/dist/gateway/index.js +12 -0
  81. package/dist/gateway/types.d.ts +71 -0
  82. package/dist/gateway/types.js +35 -0
  83. package/dist/harness/api/server.d.ts +41 -0
  84. package/dist/harness/api/server.js +205 -0
  85. package/dist/harness/cli.d.ts +10 -0
  86. package/dist/harness/cli.js +75 -0
  87. package/dist/harness/http/process.d.ts +9 -0
  88. package/dist/harness/http/process.js +88 -0
  89. package/dist/harness/http/server.d.ts +20 -0
  90. package/dist/harness/http/server.js +133 -0
  91. package/dist/harness/index.d.ts +18 -0
  92. package/dist/harness/index.js +23 -0
  93. package/dist/harness/runner.d.ts +15 -0
  94. package/dist/harness/runner.js +94 -0
  95. package/dist/harness/shared/assertions.d.ts +8 -0
  96. package/dist/harness/shared/assertions.js +216 -0
  97. package/dist/harness/shared/fixtures.d.ts +50 -0
  98. package/dist/harness/shared/fixtures.js +37 -0
  99. package/dist/harness/shared/handlers.d.ts +18 -0
  100. package/dist/harness/shared/handlers.js +106 -0
  101. package/dist/harness/shared/seed.d.ts +19 -0
  102. package/dist/harness/shared/seed.js +33 -0
  103. package/dist/harness/shared/toolDefs.d.ts +10 -0
  104. package/dist/harness/shared/toolDefs.js +92 -0
  105. package/dist/harness/stdio/process.d.ts +9 -0
  106. package/dist/harness/stdio/process.js +58 -0
  107. package/dist/harness/stdio/server.d.ts +18 -0
  108. package/dist/harness/stdio/server.js +101 -0
  109. package/dist/harness/types.d.ts +57 -0
  110. package/dist/harness/types.js +19 -0
  111. package/dist/index.d.ts +74 -0
  112. package/dist/index.js +71 -0
  113. package/dist/logger.d.ts +49 -0
  114. package/dist/logger.js +189 -0
  115. package/dist/mcp-servers/1forge.d.ts +32 -0
  116. package/dist/mcp-servers/1forge.js +99 -0
  117. package/dist/mcp-servers/1password-connect.d.ts +42 -0
  118. package/dist/mcp-servers/1password-connect.js +623 -0
  119. package/dist/mcp-servers/1password-events.d.ts +34 -0
  120. package/dist/mcp-servers/1password-events.js +154 -0
  121. package/dist/mcp-servers/6-dot-authentiqio-appspot.d.ts +39 -0
  122. package/dist/mcp-servers/6-dot-authentiqio-appspot.js +541 -0
  123. package/dist/mcp-servers/MockMCPAdapter.d.ts +43 -0
  124. package/dist/mcp-servers/MockMCPAdapter.js +846 -0
  125. package/dist/mcp-servers/ably-control.d.ts +53 -0
  126. package/dist/mcp-servers/ably-control.js +709 -0
  127. package/dist/mcp-servers/ably-platform.d.ts +57 -0
  128. package/dist/mcp-servers/ably-platform.js +805 -0
  129. package/dist/mcp-servers/abnormal-security.d.ts +43 -0
  130. package/dist/mcp-servers/abnormal-security.js +427 -0
  131. package/dist/mcp-servers/abstractapi-geolocation.d.ts +34 -0
  132. package/dist/mcp-servers/abstractapi-geolocation.js +111 -0
  133. package/dist/mcp-servers/accela.d.ts +57 -0
  134. package/dist/mcp-servers/accela.js +761 -0
  135. package/dist/mcp-servers/accuweather.d.ts +44 -0
  136. package/dist/mcp-servers/accuweather.js +479 -0
  137. package/dist/mcp-servers/activecampaign.d.ts +58 -0
  138. package/dist/mcp-servers/activecampaign.js +926 -0
  139. package/dist/mcp-servers/acumatica.d.ts +71 -0
  140. package/dist/mcp-servers/acumatica.js +882 -0
  141. package/dist/mcp-servers/ada.d.ts +49 -0
  142. package/dist/mcp-servers/ada.js +491 -0
  143. package/dist/mcp-servers/adobe-acrobat-api.d.ts +58 -0
  144. package/dist/mcp-servers/adobe-acrobat-api.js +822 -0
  145. package/dist/mcp-servers/adobe-aem.d.ts +68 -0
  146. package/dist/mcp-servers/adobe-aem.js +1009 -0
  147. package/dist/mcp-servers/adobe-sign.d.ts +49 -0
  148. package/dist/mcp-servers/adobe-sign.js +591 -0
  149. package/dist/mcp-servers/adp.d.ts +48 -0
  150. package/dist/mcp-servers/adp.js +370 -0
  151. package/dist/mcp-servers/adyen.d.ts +67 -0
  152. package/dist/mcp-servers/adyen.js +679 -0
  153. package/dist/mcp-servers/afterbanks.d.ts +33 -0
  154. package/dist/mcp-servers/afterbanks.js +185 -0
  155. package/dist/mcp-servers/aha.d.ts +54 -0
  156. package/dist/mcp-servers/aha.js +541 -0
  157. package/dist/mcp-servers/airbyte.d.ts +61 -0
  158. package/dist/mcp-servers/airbyte.js +509 -0
  159. package/dist/mcp-servers/aircall.d.ts +63 -0
  160. package/dist/mcp-servers/aircall.js +896 -0
  161. package/dist/mcp-servers/airtable.d.ts +54 -0
  162. package/dist/mcp-servers/airtable.js +813 -0
  163. package/dist/mcp-servers/alchemy.d.ts +56 -0
  164. package/dist/mcp-servers/alchemy.js +686 -0
  165. package/dist/mcp-servers/alpha-vantage.d.ts +49 -0
  166. package/dist/mcp-servers/alpha-vantage.js +652 -0
  167. package/dist/mcp-servers/amadeus.d.ts +54 -0
  168. package/dist/mcp-servers/amadeus.js +941 -0
  169. package/dist/mcp-servers/amazon-ads.d.ts +62 -0
  170. package/dist/mcp-servers/amazon-ads.js +780 -0
  171. package/dist/mcp-servers/amazon-bedrock.d.ts +68 -0
  172. package/dist/mcp-servers/amazon-bedrock.js +833 -0
  173. package/dist/mcp-servers/amazon-ses.d.ts +51 -0
  174. package/dist/mcp-servers/amazon-ses.js +659 -0
  175. package/dist/mcp-servers/amplitude.d.ts +55 -0
  176. package/dist/mcp-servers/amplitude.js +580 -0
  177. package/dist/mcp-servers/anchore.d.ts +45 -0
  178. package/dist/mcp-servers/anchore.js +550 -0
  179. package/dist/mcp-servers/anomali.d.ts +46 -0
  180. package/dist/mcp-servers/anomali.js +498 -0
  181. package/dist/mcp-servers/ansible.d.ts +56 -0
  182. package/dist/mcp-servers/ansible.js +534 -0
  183. package/dist/mcp-servers/anthropic-api.d.ts +45 -0
  184. package/dist/mcp-servers/anthropic-api.js +696 -0
  185. package/dist/mcp-servers/apache.d.ts +43 -0
  186. package/dist/mcp-servers/apache.js +377 -0
  187. package/dist/mcp-servers/api2pdf.d.ts +40 -0
  188. package/dist/mcp-servers/api2pdf.js +384 -0
  189. package/dist/mcp-servers/apicurio-registry.d.ts +55 -0
  190. package/dist/mcp-servers/apicurio-registry.js +421 -0
  191. package/dist/mcp-servers/apigee-marketcheck-cars.d.ts +45 -0
  192. package/dist/mcp-servers/apigee-marketcheck-cars.js +432 -0
  193. package/dist/mcp-servers/apigee-registry.d.ts +67 -0
  194. package/dist/mcp-servers/apigee-registry.js +710 -0
  195. package/dist/mcp-servers/apimatic.d.ts +36 -0
  196. package/dist/mcp-servers/apimatic.js +146 -0
  197. package/dist/mcp-servers/apiz-ebay-commerce-identity.d.ts +32 -0
  198. package/dist/mcp-servers/apiz-ebay-commerce-identity.js +82 -0
  199. package/dist/mcp-servers/apiz-ebay-sell-finances.d.ts +42 -0
  200. package/dist/mcp-servers/apiz-ebay-sell-finances.js +344 -0
  201. package/dist/mcp-servers/apollo.d.ts +44 -0
  202. package/dist/mcp-servers/apollo.js +839 -0
  203. package/dist/mcp-servers/app-store-connect.d.ts +61 -0
  204. package/dist/mcp-servers/app-store-connect.js +827 -0
  205. package/dist/mcp-servers/appcenter-ms.d.ts +48 -0
  206. package/dist/mcp-servers/appcenter-ms.js +641 -0
  207. package/dist/mcp-servers/appdynamics.d.ts +48 -0
  208. package/dist/mcp-servers/appdynamics.js +602 -0
  209. package/dist/mcp-servers/appfolio.d.ts +34 -0
  210. package/dist/mcp-servers/appfolio.js +475 -0
  211. package/dist/mcp-servers/apple-business-connect.d.ts +56 -0
  212. package/dist/mcp-servers/apple-business-connect.js +645 -0
  213. package/dist/mcp-servers/appsmith.d.ts +53 -0
  214. package/dist/mcp-servers/appsmith.js +573 -0
  215. package/dist/mcp-servers/appveyor.d.ts +45 -0
  216. package/dist/mcp-servers/appveyor.js +512 -0
  217. package/dist/mcp-servers/appwrite-client.d.ts +94 -0
  218. package/dist/mcp-servers/appwrite-client.js +1284 -0
  219. package/dist/mcp-servers/aqua-security.d.ts +45 -0
  220. package/dist/mcp-servers/aqua-security.js +437 -0
  221. package/dist/mcp-servers/argo-workflows.d.ts +52 -0
  222. package/dist/mcp-servers/argo-workflows.js +865 -0
  223. package/dist/mcp-servers/argocd.d.ts +55 -0
  224. package/dist/mcp-servers/argocd.js +677 -0
  225. package/dist/mcp-servers/arize-ai.d.ts +46 -0
  226. package/dist/mcp-servers/arize-ai.js +390 -0
  227. package/dist/mcp-servers/art19.d.ts +39 -0
  228. package/dist/mcp-servers/art19.js +408 -0
  229. package/dist/mcp-servers/asana.d.ts +60 -0
  230. package/dist/mcp-servers/asana.js +791 -0
  231. package/dist/mcp-servers/associated-press.d.ts +44 -0
  232. package/dist/mcp-servers/associated-press.js +472 -0
  233. package/dist/mcp-servers/athenahealth.d.ts +59 -0
  234. package/dist/mcp-servers/athenahealth.js +628 -0
  235. package/dist/mcp-servers/atlassian-jira.d.ts +63 -0
  236. package/dist/mcp-servers/atlassian-jira.js +621 -0
  237. package/dist/mcp-servers/ato-au.d.ts +35 -0
  238. package/dist/mcp-servers/ato-au.js +483 -0
  239. package/dist/mcp-servers/auth0.d.ts +62 -0
  240. package/dist/mcp-servers/auth0.js +767 -0
  241. package/dist/mcp-servers/authentiq.d.ts +47 -0
  242. package/dist/mcp-servers/authentiq.js +390 -0
  243. package/dist/mcp-servers/autodealerdata.d.ts +37 -0
  244. package/dist/mcp-servers/autodealerdata.js +589 -0
  245. package/dist/mcp-servers/autodesk-construction.d.ts +47 -0
  246. package/dist/mcp-servers/autodesk-construction.js +651 -0
  247. package/dist/mcp-servers/automox.d.ts +56 -0
  248. package/dist/mcp-servers/automox.js +653 -0
  249. package/dist/mcp-servers/avalara.d.ts +58 -0
  250. package/dist/mcp-servers/avalara.js +724 -0
  251. package/dist/mcp-servers/avaza.d.ts +31 -0
  252. package/dist/mcp-servers/avaza.js +930 -0
  253. package/dist/mcp-servers/aws-cloudtrail.d.ts +45 -0
  254. package/dist/mcp-servers/aws-cloudtrail.js +279 -0
  255. package/dist/mcp-servers/aws-cloudwatch.d.ts +47 -0
  256. package/dist/mcp-servers/aws-cloudwatch.js +394 -0
  257. package/dist/mcp-servers/aws-cost-explorer.d.ts +44 -0
  258. package/dist/mcp-servers/aws-cost-explorer.js +295 -0
  259. package/dist/mcp-servers/aws-dynamodb.d.ts +51 -0
  260. package/dist/mcp-servers/aws-dynamodb.js +513 -0
  261. package/dist/mcp-servers/aws-ecs.d.ts +48 -0
  262. package/dist/mcp-servers/aws-ecs.js +366 -0
  263. package/dist/mcp-servers/aws-iam.d.ts +48 -0
  264. package/dist/mcp-servers/aws-iam.js +311 -0
  265. package/dist/mcp-servers/aws-lambda.d.ts +48 -0
  266. package/dist/mcp-servers/aws-lambda.js +335 -0
  267. package/dist/mcp-servers/aws-redshift.d.ts +46 -0
  268. package/dist/mcp-servers/aws-redshift.js +326 -0
  269. package/dist/mcp-servers/aws-route53.d.ts +46 -0
  270. package/dist/mcp-servers/aws-route53.js +310 -0
  271. package/dist/mcp-servers/aws-s3.d.ts +58 -0
  272. package/dist/mcp-servers/aws-s3.js +775 -0
  273. package/dist/mcp-servers/aws-sns.d.ts +46 -0
  274. package/dist/mcp-servers/aws-sns.js +287 -0
  275. package/dist/mcp-servers/aws-sqs.d.ts +47 -0
  276. package/dist/mcp-servers/aws-sqs.js +337 -0
  277. package/dist/mcp-servers/aws-textract.d.ts +63 -0
  278. package/dist/mcp-servers/aws-textract.js +948 -0
  279. package/dist/mcp-servers/aws.d.ts +54 -0
  280. package/dist/mcp-servers/aws.js +787 -0
  281. package/dist/mcp-servers/azure-blob.d.ts +53 -0
  282. package/dist/mcp-servers/azure-blob.js +683 -0
  283. package/dist/mcp-servers/azure-devops.d.ts +58 -0
  284. package/dist/mcp-servers/azure-devops.js +662 -0
  285. package/dist/mcp-servers/azure-ml.d.ts +62 -0
  286. package/dist/mcp-servers/azure-ml.js +498 -0
  287. package/dist/mcp-servers/azure.d.ts +55 -0
  288. package/dist/mcp-servers/azure.js +543 -0
  289. package/dist/mcp-servers/backstage.d.ts +55 -0
  290. package/dist/mcp-servers/backstage.js +482 -0
  291. package/dist/mcp-servers/bamboohr.d.ts +59 -0
  292. package/dist/mcp-servers/bamboohr.js +700 -0
  293. package/dist/mcp-servers/bandsintown.d.ts +32 -0
  294. package/dist/mcp-servers/bandsintown.js +119 -0
  295. package/dist/mcp-servers/bandwidth.d.ts +53 -0
  296. package/dist/mcp-servers/bandwidth.js +642 -0
  297. package/dist/mcp-servers/barracuda.d.ts +58 -0
  298. package/dist/mcp-servers/barracuda.js +519 -0
  299. package/dist/mcp-servers/base.d.ts +31 -0
  300. package/dist/mcp-servers/base.js +99 -0
  301. package/dist/mcp-servers/bbc-uk.d.ts +46 -0
  302. package/dist/mcp-servers/bbc-uk.js +349 -0
  303. package/dist/mcp-servers/bbc.d.ts +43 -0
  304. package/dist/mcp-servers/bbc.js +518 -0
  305. package/dist/mcp-servers/bbci-uk.d.ts +55 -0
  306. package/dist/mcp-servers/bbci-uk.js +555 -0
  307. package/dist/mcp-servers/beanstream.d.ts +48 -0
  308. package/dist/mcp-servers/beanstream.js +486 -0
  309. package/dist/mcp-servers/beezup.d.ts +44 -0
  310. package/dist/mcp-servers/beezup.js +470 -0
  311. package/dist/mcp-servers/betfair.d.ts +47 -0
  312. package/dist/mcp-servers/betfair.js +521 -0
  313. package/dist/mcp-servers/beyondtrust.d.ts +58 -0
  314. package/dist/mcp-servers/beyondtrust.js +547 -0
  315. package/dist/mcp-servers/biapi-pro.d.ts +33 -0
  316. package/dist/mcp-servers/biapi-pro.js +350 -0
  317. package/dist/mcp-servers/bigcommerce.d.ts +58 -0
  318. package/dist/mcp-servers/bigcommerce.js +1092 -0
  319. package/dist/mcp-servers/bigdatacloud.d.ts +33 -0
  320. package/dist/mcp-servers/bigdatacloud.js +110 -0
  321. package/dist/mcp-servers/bigquery.d.ts +55 -0
  322. package/dist/mcp-servers/bigquery.js +625 -0
  323. package/dist/mcp-servers/bigredcloud.d.ts +83 -0
  324. package/dist/mcp-servers/bigredcloud.js +1063 -0
  325. package/dist/mcp-servers/bill-com.d.ts +62 -0
  326. package/dist/mcp-servers/bill-com.js +734 -0
  327. package/dist/mcp-servers/billbee.d.ts +40 -0
  328. package/dist/mcp-servers/billbee.js +959 -0
  329. package/dist/mcp-servers/billingo-hu.d.ts +36 -0
  330. package/dist/mcp-servers/billingo-hu.js +550 -0
  331. package/dist/mcp-servers/bitbucket.d.ts +68 -0
  332. package/dist/mcp-servers/bitbucket.js +796 -0
  333. package/dist/mcp-servers/bizzabo.d.ts +57 -0
  334. package/dist/mcp-servers/bizzabo.js +667 -0
  335. package/dist/mcp-servers/blackbaud.d.ts +62 -0
  336. package/dist/mcp-servers/blackbaud.js +874 -0
  337. package/dist/mcp-servers/blackboard.d.ts +53 -0
  338. package/dist/mcp-servers/blackboard.js +587 -0
  339. package/dist/mcp-servers/blazemeter.d.ts +51 -0
  340. package/dist/mcp-servers/blazemeter.js +298 -0
  341. package/dist/mcp-servers/bloomerang.d.ts +59 -0
  342. package/dist/mcp-servers/bloomerang.js +654 -0
  343. package/dist/mcp-servers/bluemix-containers.d.ts +92 -0
  344. package/dist/mcp-servers/bluemix-containers.js +954 -0
  345. package/dist/mcp-servers/box.d.ts +60 -0
  346. package/dist/mcp-servers/box.js +711 -0
  347. package/dist/mcp-servers/brainbi.d.ts +49 -0
  348. package/dist/mcp-servers/brainbi.js +380 -0
  349. package/dist/mcp-servers/brandlovers.d.ts +65 -0
  350. package/dist/mcp-servers/brandlovers.js +887 -0
  351. package/dist/mcp-servers/brandwatch.d.ts +53 -0
  352. package/dist/mcp-servers/brandwatch.js +537 -0
  353. package/dist/mcp-servers/braze.d.ts +65 -0
  354. package/dist/mcp-servers/braze.js +1180 -0
  355. package/dist/mcp-servers/brevo.d.ts +58 -0
  356. package/dist/mcp-servers/brevo.js +733 -0
  357. package/dist/mcp-servers/brex.d.ts +68 -0
  358. package/dist/mcp-servers/brex.js +825 -0
  359. package/dist/mcp-servers/brightcove.d.ts +72 -0
  360. package/dist/mcp-servers/brightcove.js +791 -0
  361. package/dist/mcp-servers/britbox-uk.d.ts +58 -0
  362. package/dist/mcp-servers/britbox-uk.js +718 -0
  363. package/dist/mcp-servers/browserstack.d.ts +54 -0
  364. package/dist/mcp-servers/browserstack.js +530 -0
  365. package/dist/mcp-servers/buffer.d.ts +48 -0
  366. package/dist/mcp-servers/buffer.js +576 -0
  367. package/dist/mcp-servers/buildertrend.d.ts +45 -0
  368. package/dist/mcp-servers/buildertrend.js +566 -0
  369. package/dist/mcp-servers/buildkite.d.ts +55 -0
  370. package/dist/mcp-servers/buildkite.js +814 -0
  371. package/dist/mcp-servers/builtwith.d.ts +45 -0
  372. package/dist/mcp-servers/builtwith.js +408 -0
  373. package/dist/mcp-servers/bulksms.d.ts +50 -0
  374. package/dist/mcp-servers/bulksms.js +631 -0
  375. package/dist/mcp-servers/bungie.d.ts +57 -0
  376. package/dist/mcp-servers/bungie.js +759 -0
  377. package/dist/mcp-servers/bunq.d.ts +61 -0
  378. package/dist/mcp-servers/bunq.js +645 -0
  379. package/dist/mcp-servers/calendly.d.ts +55 -0
  380. package/dist/mcp-servers/calendly.js +799 -0
  381. package/dist/mcp-servers/callcontrol.d.ts +36 -0
  382. package/dist/mcp-servers/callcontrol.js +325 -0
  383. package/dist/mcp-servers/canada-post.d.ts +50 -0
  384. package/dist/mcp-servers/canada-post.js +586 -0
  385. package/dist/mcp-servers/canny.d.ts +62 -0
  386. package/dist/mcp-servers/canny.js +748 -0
  387. package/dist/mcp-servers/canva.d.ts +53 -0
  388. package/dist/mcp-servers/canva.js +571 -0
  389. package/dist/mcp-servers/canvas-lms.d.ts +55 -0
  390. package/dist/mcp-servers/canvas-lms.js +812 -0
  391. package/dist/mcp-servers/carbon-black.d.ts +63 -0
  392. package/dist/mcp-servers/carbon-black.js +654 -0
  393. package/dist/mcp-servers/carta.d.ts +52 -0
  394. package/dist/mcp-servers/carta.js +478 -0
  395. package/dist/mcp-servers/cdcgov-prime-data-hub.d.ts +46 -0
  396. package/dist/mcp-servers/cdcgov-prime-data-hub.js +286 -0
  397. package/dist/mcp-servers/cenit.d.ts +37 -0
  398. package/dist/mcp-servers/cenit.js +317 -0
  399. package/dist/mcp-servers/census-gov.d.ts +43 -0
  400. package/dist/mcp-servers/census-gov.js +567 -0
  401. package/dist/mcp-servers/census.d.ts +48 -0
  402. package/dist/mcp-servers/census.js +514 -0
  403. package/dist/mcp-servers/channel4.d.ts +43 -0
  404. package/dist/mcp-servers/channel4.js +443 -0
  405. package/dist/mcp-servers/chargebee.d.ts +60 -0
  406. package/dist/mcp-servers/chargebee.js +792 -0
  407. package/dist/mcp-servers/checkly.d.ts +63 -0
  408. package/dist/mcp-servers/checkly.js +609 -0
  409. package/dist/mcp-servers/checkpoint.d.ts +53 -0
  410. package/dist/mcp-servers/checkpoint.js +544 -0
  411. package/dist/mcp-servers/checkr.d.ts +48 -0
  412. package/dist/mcp-servers/checkr.js +565 -0
  413. package/dist/mcp-servers/chronicle.d.ts +47 -0
  414. package/dist/mcp-servers/chronicle.js +576 -0
  415. package/dist/mcp-servers/churnzero.d.ts +46 -0
  416. package/dist/mcp-servers/churnzero.js +687 -0
  417. package/dist/mcp-servers/circl-lu-hashlookup.d.ts +39 -0
  418. package/dist/mcp-servers/circl-lu-hashlookup.js +328 -0
  419. package/dist/mcp-servers/circleci.d.ts +49 -0
  420. package/dist/mcp-servers/circleci.js +556 -0
  421. package/dist/mcp-servers/circuitsandbox.d.ts +80 -0
  422. package/dist/mcp-servers/circuitsandbox.js +1251 -0
  423. package/dist/mcp-servers/cisco-duo.d.ts +53 -0
  424. package/dist/mcp-servers/cisco-duo.js +513 -0
  425. package/dist/mcp-servers/cisco-meraki.d.ts +49 -0
  426. package/dist/mcp-servers/cisco-meraki.js +611 -0
  427. package/dist/mcp-servers/cisco-secure.d.ts +64 -0
  428. package/dist/mcp-servers/cisco-secure.js +497 -0
  429. package/dist/mcp-servers/cisco.d.ts +42 -0
  430. package/dist/mcp-servers/cisco.js +290 -0
  431. package/dist/mcp-servers/cision.d.ts +35 -0
  432. package/dist/mcp-servers/cision.js +182 -0
  433. package/dist/mcp-servers/citrixonline-gotomeeting.d.ts +45 -0
  434. package/dist/mcp-servers/citrixonline-gotomeeting.js +528 -0
  435. package/dist/mcp-servers/citrixonline-scim-na.d.ts +39 -0
  436. package/dist/mcp-servers/citrixonline-scim-na.js +463 -0
  437. package/dist/mcp-servers/civicplus.d.ts +48 -0
  438. package/dist/mcp-servers/civicplus.js +512 -0
  439. package/dist/mcp-servers/clari.d.ts +51 -0
  440. package/dist/mcp-servers/clari.js +453 -0
  441. package/dist/mcp-servers/clarify.d.ts +53 -0
  442. package/dist/mcp-servers/clarify.js +826 -0
  443. package/dist/mcp-servers/classy.d.ts +54 -0
  444. package/dist/mcp-servers/classy.js +594 -0
  445. package/dist/mcp-servers/clearbit.d.ts +46 -0
  446. package/dist/mcp-servers/clearbit.js +315 -0
  447. package/dist/mcp-servers/clearblade.d.ts +52 -0
  448. package/dist/mcp-servers/clearblade.js +685 -0
  449. package/dist/mcp-servers/clerk.d.ts +52 -0
  450. package/dist/mcp-servers/clerk.js +751 -0
  451. package/dist/mcp-servers/clever-cloud.d.ts +34 -0
  452. package/dist/mcp-servers/clever-cloud.js +1786 -0
  453. package/dist/mcp-servers/clever.d.ts +34 -0
  454. package/dist/mcp-servers/clever.js +609 -0
  455. package/dist/mcp-servers/clickhouse.d.ts +56 -0
  456. package/dist/mcp-servers/clickhouse.js +624 -0
  457. package/dist/mcp-servers/clickmeter.d.ts +41 -0
  458. package/dist/mcp-servers/clickmeter.js +1340 -0
  459. package/dist/mcp-servers/clicksend.d.ts +41 -0
  460. package/dist/mcp-servers/clicksend.js +1338 -0
  461. package/dist/mcp-servers/clickup.d.ts +54 -0
  462. package/dist/mcp-servers/clickup.js +547 -0
  463. package/dist/mcp-servers/climate.d.ts +54 -0
  464. package/dist/mcp-servers/climate.js +927 -0
  465. package/dist/mcp-servers/clio.d.ts +60 -0
  466. package/dist/mcp-servers/clio.js +745 -0
  467. package/dist/mcp-servers/close-crm.d.ts +55 -0
  468. package/dist/mcp-servers/close-crm.js +618 -0
  469. package/dist/mcp-servers/cloudbeds.d.ts +45 -0
  470. package/dist/mcp-servers/cloudbeds.js +561 -0
  471. package/dist/mcp-servers/cloudflare.d.ts +56 -0
  472. package/dist/mcp-servers/cloudflare.js +743 -0
  473. package/dist/mcp-servers/cloudmersive-ocr.d.ts +55 -0
  474. package/dist/mcp-servers/cloudmersive-ocr.js +720 -0
  475. package/dist/mcp-servers/cloudrf.d.ts +42 -0
  476. package/dist/mcp-servers/cloudrf.js +355 -0
  477. package/dist/mcp-servers/cockroachdb.d.ts +50 -0
  478. package/dist/mcp-servers/cockroachdb.js +577 -0
  479. package/dist/mcp-servers/coda.d.ts +59 -0
  480. package/dist/mcp-servers/coda.js +956 -0
  481. package/dist/mcp-servers/codat-accounting.d.ts +76 -0
  482. package/dist/mcp-servers/codat-accounting.js +784 -0
  483. package/dist/mcp-servers/codat-assess.d.ts +58 -0
  484. package/dist/mcp-servers/codat-assess.js +1007 -0
  485. package/dist/mcp-servers/codat-bank-feeds.d.ts +37 -0
  486. package/dist/mcp-servers/codat-bank-feeds.js +324 -0
  487. package/dist/mcp-servers/codat-banking.d.ts +32 -0
  488. package/dist/mcp-servers/codat-banking.js +233 -0
  489. package/dist/mcp-servers/codat-commerce.d.ts +32 -0
  490. package/dist/mcp-servers/codat-commerce.js +509 -0
  491. package/dist/mcp-servers/codat-sync-for-commerce.d.ts +50 -0
  492. package/dist/mcp-servers/codat-sync-for-commerce.js +531 -0
  493. package/dist/mcp-servers/codat-sync-for-expenses-prealpha.d.ts +45 -0
  494. package/dist/mcp-servers/codat-sync-for-expenses-prealpha.js +464 -0
  495. package/dist/mcp-servers/code-scan.d.ts +34 -0
  496. package/dist/mcp-servers/code-scan.js +149 -0
  497. package/dist/mcp-servers/cohere.d.ts +48 -0
  498. package/dist/mcp-servers/cohere.js +669 -0
  499. package/dist/mcp-servers/coingecko.d.ts +49 -0
  500. package/dist/mcp-servers/coingecko.js +538 -0
  501. package/dist/mcp-servers/combell.d.ts +63 -0
  502. package/dist/mcp-servers/combell.js +559 -0
  503. package/dist/mcp-servers/concur.d.ts +46 -0
  504. package/dist/mcp-servers/concur.js +654 -0
  505. package/dist/mcp-servers/configcat.d.ts +64 -0
  506. package/dist/mcp-servers/configcat.js +540 -0
  507. package/dist/mcp-servers/confluence.d.ts +50 -0
  508. package/dist/mcp-servers/confluence.js +660 -0
  509. package/dist/mcp-servers/confluent-kafka.d.ts +95 -0
  510. package/dist/mcp-servers/confluent-kafka.js +759 -0
  511. package/dist/mcp-servers/conjur.d.ts +67 -0
  512. package/dist/mcp-servers/conjur.js +952 -0
  513. package/dist/mcp-servers/consumerfinance.d.ts +35 -0
  514. package/dist/mcp-servers/consumerfinance.js +231 -0
  515. package/dist/mcp-servers/contentful.d.ts +60 -0
  516. package/dist/mcp-servers/contentful.js +815 -0
  517. package/dist/mcp-servers/contentgroove.d.ts +45 -0
  518. package/dist/mcp-servers/contentgroove.js +704 -0
  519. package/dist/mcp-servers/contract-p-fit.d.ts +83 -0
  520. package/dist/mcp-servers/contract-p-fit.js +1438 -0
  521. package/dist/mcp-servers/coralogix.d.ts +52 -0
  522. package/dist/mcp-servers/coralogix.js +740 -0
  523. package/dist/mcp-servers/core-ac-uk.d.ts +47 -0
  524. package/dist/mcp-servers/core-ac-uk.js +614 -0
  525. package/dist/mcp-servers/cornerstone.d.ts +56 -0
  526. package/dist/mcp-servers/cornerstone.js +685 -0
  527. package/dist/mcp-servers/corrently.d.ts +45 -0
  528. package/dist/mcp-servers/corrently.js +407 -0
  529. package/dist/mcp-servers/cortex-xdr.d.ts +58 -0
  530. package/dist/mcp-servers/cortex-xdr.js +730 -0
  531. package/dist/mcp-servers/costar.d.ts +47 -0
  532. package/dist/mcp-servers/costar.js +599 -0
  533. package/dist/mcp-servers/coupa.d.ts +59 -0
  534. package/dist/mcp-servers/coupa.js +834 -0
  535. package/dist/mcp-servers/courier.d.ts +53 -0
  536. package/dist/mcp-servers/courier.js +621 -0
  537. package/dist/mcp-servers/cowin-cin-cowincert.d.ts +33 -0
  538. package/dist/mcp-servers/cowin-cin-cowincert.js +116 -0
  539. package/dist/mcp-servers/cribl.d.ts +74 -0
  540. package/dist/mcp-servers/cribl.js +641 -0
  541. package/dist/mcp-servers/crossbrowsertesting.d.ts +37 -0
  542. package/dist/mcp-servers/crossbrowsertesting.js +232 -0
  543. package/dist/mcp-servers/crowdin.d.ts +54 -0
  544. package/dist/mcp-servers/crowdin.js +788 -0
  545. package/dist/mcp-servers/crowdstrike-identity.d.ts +50 -0
  546. package/dist/mcp-servers/crowdstrike-identity.js +524 -0
  547. package/dist/mcp-servers/crowdstrike.d.ts +57 -0
  548. package/dist/mcp-servers/crowdstrike.js +651 -0
  549. package/dist/mcp-servers/crunchbase.d.ts +41 -0
  550. package/dist/mcp-servers/crunchbase.js +524 -0
  551. package/dist/mcp-servers/culture-amp.d.ts +54 -0
  552. package/dist/mcp-servers/culture-amp.js +570 -0
  553. package/dist/mcp-servers/cvent.d.ts +52 -0
  554. package/dist/mcp-servers/cvent.js +712 -0
  555. package/dist/mcp-servers/cyberark.d.ts +66 -0
  556. package/dist/mcp-servers/cyberark.js +715 -0
  557. package/dist/mcp-servers/cybereason.d.ts +57 -0
  558. package/dist/mcp-servers/cybereason.js +567 -0
  559. package/dist/mcp-servers/cycat.d.ts +42 -0
  560. package/dist/mcp-servers/cycat.js +376 -0
  561. package/dist/mcp-servers/d7networks.d.ts +36 -0
  562. package/dist/mcp-servers/d7networks.js +171 -0
  563. package/dist/mcp-servers/darktrace.d.ts +61 -0
  564. package/dist/mcp-servers/darktrace.js +519 -0
  565. package/dist/mcp-servers/data-gov.d.ts +40 -0
  566. package/dist/mcp-servers/data-gov.js +360 -0
  567. package/dist/mcp-servers/dataatwork.d.ts +41 -0
  568. package/dist/mcp-servers/dataatwork.js +385 -0
  569. package/dist/mcp-servers/databricks.d.ts +54 -0
  570. package/dist/mcp-servers/databricks.js +632 -0
  571. package/dist/mcp-servers/datadog-observability.d.ts +50 -0
  572. package/dist/mcp-servers/datadog-observability.js +682 -0
  573. package/dist/mcp-servers/datadog-rum.d.ts +47 -0
  574. package/dist/mcp-servers/datadog-rum.js +488 -0
  575. package/dist/mcp-servers/datadog-security.d.ts +46 -0
  576. package/dist/mcp-servers/datadog-security.js +639 -0
  577. package/dist/mcp-servers/dataflowkit.d.ts +36 -0
  578. package/dist/mcp-servers/dataflowkit.js +420 -0
  579. package/dist/mcp-servers/datumbox.d.ts +33 -0
  580. package/dist/mcp-servers/datumbox.js +345 -0
  581. package/dist/mcp-servers/dbt-cloud.d.ts +59 -0
  582. package/dist/mcp-servers/dbt-cloud.js +782 -0
  583. package/dist/mcp-servers/deel.d.ts +53 -0
  584. package/dist/mcp-servers/deel.js +684 -0
  585. package/dist/mcp-servers/deepl.d.ts +41 -0
  586. package/dist/mcp-servers/deepl.js +490 -0
  587. package/dist/mcp-servers/delinea.d.ts +54 -0
  588. package/dist/mcp-servers/delinea.js +728 -0
  589. package/dist/mcp-servers/devto.d.ts +46 -0
  590. package/dist/mcp-servers/devto.js +541 -0
  591. package/dist/mcp-servers/dhl.d.ts +47 -0
  592. package/dist/mcp-servers/dhl.js +783 -0
  593. package/dist/mcp-servers/dialpad.d.ts +53 -0
  594. package/dist/mcp-servers/dialpad.js +721 -0
  595. package/dist/mcp-servers/digitallocker-in-authpartner.d.ts +53 -0
  596. package/dist/mcp-servers/digitallocker-in-authpartner.js +602 -0
  597. package/dist/mcp-servers/digitalnz.d.ts +34 -0
  598. package/dist/mcp-servers/digitalnz.js +264 -0
  599. package/dist/mcp-servers/digitalocean.d.ts +57 -0
  600. package/dist/mcp-servers/digitalocean.js +888 -0
  601. package/dist/mcp-servers/discord.d.ts +51 -0
  602. package/dist/mcp-servers/discord.js +729 -0
  603. package/dist/mcp-servers/discourse-latest.d.ts +82 -0
  604. package/dist/mcp-servers/discourse-latest.js +1191 -0
  605. package/dist/mcp-servers/docebo.d.ts +57 -0
  606. package/dist/mcp-servers/docebo.js +795 -0
  607. package/dist/mcp-servers/docker-dvp.d.ts +48 -0
  608. package/dist/mcp-servers/docker-dvp.js +237 -0
  609. package/dist/mcp-servers/docker-engine.d.ts +105 -0
  610. package/dist/mcp-servers/docker-engine.js +1725 -0
  611. package/dist/mcp-servers/docker-hub.d.ts +45 -0
  612. package/dist/mcp-servers/docker-hub.js +520 -0
  613. package/dist/mcp-servers/docusign.d.ts +51 -0
  614. package/dist/mcp-servers/docusign.js +612 -0
  615. package/dist/mcp-servers/doppler.d.ts +49 -0
  616. package/dist/mcp-servers/doppler.js +628 -0
  617. package/dist/mcp-servers/dracoon-team.d.ts +91 -0
  618. package/dist/mcp-servers/dracoon-team.js +1450 -0
  619. package/dist/mcp-servers/drata.d.ts +49 -0
  620. package/dist/mcp-servers/drata.js +629 -0
  621. package/dist/mcp-servers/drchrono.d.ts +31 -0
  622. package/dist/mcp-servers/drchrono.js +1755 -0
  623. package/dist/mcp-servers/dropbox-business.d.ts +50 -0
  624. package/dist/mcp-servers/dropbox-business.js +726 -0
  625. package/dist/mcp-servers/dropx.d.ts +31 -0
  626. package/dist/mcp-servers/dropx.js +186 -0
  627. package/dist/mcp-servers/duck-creek.d.ts +56 -0
  628. package/dist/mcp-servers/duck-creek.js +779 -0
  629. package/dist/mcp-servers/dun-bradstreet.d.ts +48 -0
  630. package/dist/mcp-servers/dun-bradstreet.js +518 -0
  631. package/dist/mcp-servers/dynamics-365.d.ts +37 -0
  632. package/dist/mcp-servers/dynamics-365.js +664 -0
  633. package/dist/mcp-servers/dynatrace.d.ts +54 -0
  634. package/dist/mcp-servers/dynatrace.js +757 -0
  635. package/dist/mcp-servers/easypost.d.ts +53 -0
  636. package/dist/mcp-servers/easypost.js +762 -0
  637. package/dist/mcp-servers/ebi-ac-uk.d.ts +42 -0
  638. package/dist/mcp-servers/ebi-ac-uk.js +608 -0
  639. package/dist/mcp-servers/egnyte.d.ts +56 -0
  640. package/dist/mcp-servers/egnyte.js +802 -0
  641. package/dist/mcp-servers/elastic-apm.d.ts +48 -0
  642. package/dist/mcp-servers/elastic-apm.js +623 -0
  643. package/dist/mcp-servers/elastic-security.d.ts +52 -0
  644. package/dist/mcp-servers/elastic-security.js +812 -0
  645. package/dist/mcp-servers/elasticsearch.d.ts +51 -0
  646. package/dist/mcp-servers/elasticsearch.js +728 -0
  647. package/dist/mcp-servers/elevenlabs.d.ts +52 -0
  648. package/dist/mcp-servers/elevenlabs.js +655 -0
  649. package/dist/mcp-servers/elmah.d.ts +31 -0
  650. package/dist/mcp-servers/elmah.js +475 -0
  651. package/dist/mcp-servers/enode.d.ts +69 -0
  652. package/dist/mcp-servers/enode.js +801 -0
  653. package/dist/mcp-servers/envoy.d.ts +55 -0
  654. package/dist/mcp-servers/envoy.js +798 -0
  655. package/dist/mcp-servers/epa-air.d.ts +38 -0
  656. package/dist/mcp-servers/epa-air.js +404 -0
  657. package/dist/mcp-servers/epa-case.d.ts +40 -0
  658. package/dist/mcp-servers/epa-case.js +456 -0
  659. package/dist/mcp-servers/epa-cwa.d.ts +28 -0
  660. package/dist/mcp-servers/epa-cwa.js +342 -0
  661. package/dist/mcp-servers/epa-dfr.d.ts +30 -0
  662. package/dist/mcp-servers/epa-dfr.js +333 -0
  663. package/dist/mcp-servers/epa-echo.d.ts +39 -0
  664. package/dist/mcp-servers/epa-echo.js +567 -0
  665. package/dist/mcp-servers/epa-eff.d.ts +34 -0
  666. package/dist/mcp-servers/epa-eff.js +241 -0
  667. package/dist/mcp-servers/epa-rcra.d.ts +37 -0
  668. package/dist/mcp-servers/epa-rcra.js +727 -0
  669. package/dist/mcp-servers/epa-sdw.d.ts +33 -0
  670. package/dist/mcp-servers/epa-sdw.js +324 -0
  671. package/dist/mcp-servers/epic-fhir.d.ts +53 -0
  672. package/dist/mcp-servers/epic-fhir.js +735 -0
  673. package/dist/mcp-servers/epicor.d.ts +51 -0
  674. package/dist/mcp-servers/epicor.js +469 -0
  675. package/dist/mcp-servers/equifax.d.ts +51 -0
  676. package/dist/mcp-servers/equifax.js +625 -0
  677. package/dist/mcp-servers/etherpad.d.ts +32 -0
  678. package/dist/mcp-servers/etherpad.js +395 -0
  679. package/dist/mcp-servers/etsi-mec010-2-apppkgmgmt.d.ts +49 -0
  680. package/dist/mcp-servers/etsi-mec010-2-apppkgmgmt.js +560 -0
  681. package/dist/mcp-servers/europeana.d.ts +34 -0
  682. package/dist/mcp-servers/europeana.js +225 -0
  683. package/dist/mcp-servers/eventbrite.d.ts +50 -0
  684. package/dist/mcp-servers/eventbrite.js +744 -0
  685. package/dist/mcp-servers/exabeam.d.ts +49 -0
  686. package/dist/mcp-servers/exabeam.js +688 -0
  687. package/dist/mcp-servers/exavault.d.ts +67 -0
  688. package/dist/mcp-servers/exavault.js +813 -0
  689. package/dist/mcp-servers/exchangerate-api.d.ts +39 -0
  690. package/dist/mcp-servers/exchangerate-api.js +223 -0
  691. package/dist/mcp-servers/exlibrisgroup-tasklists.d.ts +41 -0
  692. package/dist/mcp-servers/exlibrisgroup-tasklists.js +329 -0
  693. package/dist/mcp-servers/expensify.d.ts +45 -0
  694. package/dist/mcp-servers/expensify.js +586 -0
  695. package/dist/mcp-servers/experian.d.ts +57 -0
  696. package/dist/mcp-servers/experian.js +697 -0
  697. package/dist/mcp-servers/extrahop.d.ts +55 -0
  698. package/dist/mcp-servers/extrahop.js +735 -0
  699. package/dist/mcp-servers/f5-bigip.d.ts +59 -0
  700. package/dist/mcp-servers/f5-bigip.js +678 -0
  701. package/dist/mcp-servers/facecheck-id.d.ts +36 -0
  702. package/dist/mcp-servers/facecheck-id.js +249 -0
  703. package/dist/mcp-servers/fastly.d.ts +56 -0
  704. package/dist/mcp-servers/fastly.js +787 -0
  705. package/dist/mcp-servers/fauna.d.ts +50 -0
  706. package/dist/mcp-servers/fauna.js +472 -0
  707. package/dist/mcp-servers/fec.d.ts +42 -0
  708. package/dist/mcp-servers/fec.js +616 -0
  709. package/dist/mcp-servers/fedex.d.ts +51 -0
  710. package/dist/mcp-servers/fedex.js +756 -0
  711. package/dist/mcp-servers/fhir.d.ts +48 -0
  712. package/dist/mcp-servers/fhir.js +673 -0
  713. package/dist/mcp-servers/figma.d.ts +48 -0
  714. package/dist/mcp-servers/figma.js +700 -0
  715. package/dist/mcp-servers/figshare.d.ts +32 -0
  716. package/dist/mcp-servers/figshare.js +530 -0
  717. package/dist/mcp-servers/fire.d.ts +32 -0
  718. package/dist/mcp-servers/fire.js +381 -0
  719. package/dist/mcp-servers/firebrowse.d.ts +33 -0
  720. package/dist/mcp-servers/firebrowse.js +551 -0
  721. package/dist/mcp-servers/firehydrant.d.ts +57 -0
  722. package/dist/mcp-servers/firehydrant.js +760 -0
  723. package/dist/mcp-servers/fireworks-ai.d.ts +51 -0
  724. package/dist/mcp-servers/fireworks-ai.js +652 -0
  725. package/dist/mcp-servers/firmalyzer-iotvas.d.ts +33 -0
  726. package/dist/mcp-servers/firmalyzer-iotvas.js +238 -0
  727. package/dist/mcp-servers/five9.d.ts +49 -0
  728. package/dist/mcp-servers/five9.js +425 -0
  729. package/dist/mcp-servers/fivetran.d.ts +59 -0
  730. package/dist/mcp-servers/fivetran.js +740 -0
  731. package/dist/mcp-servers/flat.d.ts +47 -0
  732. package/dist/mcp-servers/flat.js +707 -0
  733. package/dist/mcp-servers/flexport.d.ts +54 -0
  734. package/dist/mcp-servers/flexport.js +638 -0
  735. package/dist/mcp-servers/flickr.d.ts +44 -0
  736. package/dist/mcp-servers/flickr.js +606 -0
  737. package/dist/mcp-servers/fly-io.d.ts +51 -0
  738. package/dist/mcp-servers/fly-io.js +697 -0
  739. package/dist/mcp-servers/formapi.d.ts +30 -0
  740. package/dist/mcp-servers/formapi.js +702 -0
  741. package/dist/mcp-servers/fortinet.d.ts +57 -0
  742. package/dist/mcp-servers/fortinet.js +613 -0
  743. package/dist/mcp-servers/frankiefinancial.d.ts +29 -0
  744. package/dist/mcp-servers/frankiefinancial.js +646 -0
  745. package/dist/mcp-servers/fraudlabspro-fraud-detection.d.ts +32 -0
  746. package/dist/mcp-servers/fraudlabspro-fraud-detection.js +280 -0
  747. package/dist/mcp-servers/fraudlabspro-sms-verification.d.ts +31 -0
  748. package/dist/mcp-servers/fraudlabspro-sms-verification.js +218 -0
  749. package/dist/mcp-servers/freshbooks.d.ts +67 -0
  750. package/dist/mcp-servers/freshbooks.js +807 -0
  751. package/dist/mcp-servers/freshdesk.d.ts +58 -0
  752. package/dist/mcp-servers/freshdesk.js +720 -0
  753. package/dist/mcp-servers/freshservice.d.ts +69 -0
  754. package/dist/mcp-servers/freshservice.js +954 -0
  755. package/dist/mcp-servers/front.d.ts +51 -0
  756. package/dist/mcp-servers/front.js +688 -0
  757. package/dist/mcp-servers/fulfillment.d.ts +47 -0
  758. package/dist/mcp-servers/fulfillment.js +538 -0
  759. package/dist/mcp-servers/fullstory.d.ts +47 -0
  760. package/dist/mcp-servers/fullstory.js +504 -0
  761. package/dist/mcp-servers/gainsight.d.ts +52 -0
  762. package/dist/mcp-servers/gainsight.js +667 -0
  763. package/dist/mcp-servers/gamesparks-game-details.d.ts +36 -0
  764. package/dist/mcp-servers/gamesparks-game-details.js +975 -0
  765. package/dist/mcp-servers/geneea.d.ts +34 -0
  766. package/dist/mcp-servers/geneea.js +333 -0
  767. package/dist/mcp-servers/genesys-cloud.d.ts +58 -0
  768. package/dist/mcp-servers/genesys-cloud.js +669 -0
  769. package/dist/mcp-servers/geodatasource.d.ts +31 -0
  770. package/dist/mcp-servers/geodatasource.js +112 -0
  771. package/dist/mcp-servers/getgo-gototraining.d.ts +71 -0
  772. package/dist/mcp-servers/getgo-gototraining.js +617 -0
  773. package/dist/mcp-servers/getgo-gotowebinar.d.ts +72 -0
  774. package/dist/mcp-servers/getgo-gotowebinar.js +944 -0
  775. package/dist/mcp-servers/ghost.d.ts +62 -0
  776. package/dist/mcp-servers/ghost.js +751 -0
  777. package/dist/mcp-servers/gitea.d.ts +98 -0
  778. package/dist/mcp-servers/gitea.js +1308 -0
  779. package/dist/mcp-servers/gitguardian.d.ts +45 -0
  780. package/dist/mcp-servers/gitguardian.js +492 -0
  781. package/dist/mcp-servers/github-actions.d.ts +56 -0
  782. package/dist/mcp-servers/github-actions.js +900 -0
  783. package/dist/mcp-servers/github.d.ts +56 -0
  784. package/dist/mcp-servers/github.js +1106 -0
  785. package/dist/mcp-servers/gitlab.d.ts +59 -0
  786. package/dist/mcp-servers/gitlab.js +1092 -0
  787. package/dist/mcp-servers/gladly.d.ts +46 -0
  788. package/dist/mcp-servers/gladly.js +547 -0
  789. package/dist/mcp-servers/gmail.d.ts +52 -0
  790. package/dist/mcp-servers/gmail.js +838 -0
  791. package/dist/mcp-servers/gong.d.ts +52 -0
  792. package/dist/mcp-servers/gong.js +766 -0
  793. package/dist/mcp-servers/google-ads.d.ts +58 -0
  794. package/dist/mcp-servers/google-ads.js +891 -0
  795. package/dist/mcp-servers/google-analytics.d.ts +42 -0
  796. package/dist/mcp-servers/google-analytics.js +395 -0
  797. package/dist/mcp-servers/google-calendar.d.ts +45 -0
  798. package/dist/mcp-servers/google-calendar.js +759 -0
  799. package/dist/mcp-servers/google-chat.d.ts +52 -0
  800. package/dist/mcp-servers/google-chat.js +631 -0
  801. package/dist/mcp-servers/google-cloud.d.ts +48 -0
  802. package/dist/mcp-servers/google-cloud.js +759 -0
  803. package/dist/mcp-servers/google-document-ai.d.ts +56 -0
  804. package/dist/mcp-servers/google-document-ai.js +623 -0
  805. package/dist/mcp-servers/google-drive.d.ts +43 -0
  806. package/dist/mcp-servers/google-drive.js +577 -0
  807. package/dist/mcp-servers/google-home.d.ts +61 -0
  808. package/dist/mcp-servers/google-home.js +690 -0
  809. package/dist/mcp-servers/google-maps.d.ts +43 -0
  810. package/dist/mcp-servers/google-maps.js +592 -0
  811. package/dist/mcp-servers/google-translate.d.ts +43 -0
  812. package/dist/mcp-servers/google-translate.js +557 -0
  813. package/dist/mcp-servers/google-vertex-ai.d.ts +48 -0
  814. package/dist/mcp-servers/google-vertex-ai.js +513 -0
  815. package/dist/mcp-servers/google-workspace.d.ts +51 -0
  816. package/dist/mcp-servers/google-workspace.js +782 -0
  817. package/dist/mcp-servers/google.d.ts +58 -0
  818. package/dist/mcp-servers/google.js +492 -0
  819. package/dist/mcp-servers/gov-bc-ca-bcdc.d.ts +49 -0
  820. package/dist/mcp-servers/gov-bc-ca-bcdc.js +560 -0
  821. package/dist/mcp-servers/gov-bc-ca-geocoder.d.ts +40 -0
  822. package/dist/mcp-servers/gov-bc-ca-geocoder.js +398 -0
  823. package/dist/mcp-servers/gov-bc-ca-jobposting.d.ts +35 -0
  824. package/dist/mcp-servers/gov-bc-ca-jobposting.js +185 -0
  825. package/dist/mcp-servers/gov-bc-ca-open511.d.ts +34 -0
  826. package/dist/mcp-servers/gov-bc-ca-open511.js +214 -0
  827. package/dist/mcp-servers/gov-bc-ca-router.d.ts +31 -0
  828. package/dist/mcp-servers/gov-bc-ca-router.js +370 -0
  829. package/dist/mcp-servers/grafana-api.d.ts +52 -0
  830. package/dist/mcp-servers/grafana-api.js +740 -0
  831. package/dist/mcp-servers/graphhopper.d.ts +41 -0
  832. package/dist/mcp-servers/graphhopper.js +549 -0
  833. package/dist/mcp-servers/greenhouse.d.ts +51 -0
  834. package/dist/mcp-servers/greenhouse.js +608 -0
  835. package/dist/mcp-servers/groq.d.ts +41 -0
  836. package/dist/mcp-servers/groq.js +423 -0
  837. package/dist/mcp-servers/gsa.d.ts +36 -0
  838. package/dist/mcp-servers/gsa.js +191 -0
  839. package/dist/mcp-servers/gsmtasks.d.ts +51 -0
  840. package/dist/mcp-servers/gsmtasks.js +463 -0
  841. package/dist/mcp-servers/guidewire.d.ts +52 -0
  842. package/dist/mcp-servers/guidewire.js +590 -0
  843. package/dist/mcp-servers/gusto.d.ts +45 -0
  844. package/dist/mcp-servers/gusto.js +481 -0
  845. package/dist/mcp-servers/harness-cicd.d.ts +52 -0
  846. package/dist/mcp-servers/harness-cicd.js +770 -0
  847. package/dist/mcp-servers/hashicorp-terraform-cloud.d.ts +62 -0
  848. package/dist/mcp-servers/hashicorp-terraform-cloud.js +751 -0
  849. package/dist/mcp-servers/hashicorp-vault.d.ts +66 -0
  850. package/dist/mcp-servers/hashicorp-vault.js +669 -0
  851. package/dist/mcp-servers/health-gorilla.d.ts +39 -0
  852. package/dist/mcp-servers/health-gorilla.js +573 -0
  853. package/dist/mcp-servers/heap.d.ts +37 -0
  854. package/dist/mcp-servers/heap.js +264 -0
  855. package/dist/mcp-servers/help-scout.d.ts +62 -0
  856. package/dist/mcp-servers/help-scout.js +617 -0
  857. package/dist/mcp-servers/here.d.ts +44 -0
  858. package/dist/mcp-servers/here.js +403 -0
  859. package/dist/mcp-servers/hetzner-cloud.d.ts +42 -0
  860. package/dist/mcp-servers/hetzner-cloud.js +1263 -0
  861. package/dist/mcp-servers/hibob.d.ts +57 -0
  862. package/dist/mcp-servers/hibob.js +547 -0
  863. package/dist/mcp-servers/hightouch.d.ts +43 -0
  864. package/dist/mcp-servers/hightouch.js +396 -0
  865. package/dist/mcp-servers/honeycomb.d.ts +65 -0
  866. package/dist/mcp-servers/honeycomb.js +787 -0
  867. package/dist/mcp-servers/hootsuite.d.ts +46 -0
  868. package/dist/mcp-servers/hootsuite.js +377 -0
  869. package/dist/mcp-servers/hopin.d.ts +57 -0
  870. package/dist/mcp-servers/hopin.js +784 -0
  871. package/dist/mcp-servers/hotjar.d.ts +40 -0
  872. package/dist/mcp-servers/hotjar.js +183 -0
  873. package/dist/mcp-servers/hubspot-marketing.d.ts +53 -0
  874. package/dist/mcp-servers/hubspot-marketing.js +682 -0
  875. package/dist/mcp-servers/hubspot.d.ts +52 -0
  876. package/dist/mcp-servers/hubspot.js +518 -0
  877. package/dist/mcp-servers/huggingface.d.ts +47 -0
  878. package/dist/mcp-servers/huggingface.js +467 -0
  879. package/dist/mcp-servers/hyperproof.d.ts +59 -0
  880. package/dist/mcp-servers/hyperproof.js +854 -0
  881. package/dist/mcp-servers/ibanapi.d.ts +35 -0
  882. package/dist/mcp-servers/ibanapi.js +122 -0
  883. package/dist/mcp-servers/icons8.d.ts +39 -0
  884. package/dist/mcp-servers/icons8.js +359 -0
  885. package/dist/mcp-servers/ideal-postcodes-uk.d.ts +46 -0
  886. package/dist/mcp-servers/ideal-postcodes-uk.js +445 -0
  887. package/dist/mcp-servers/idtbeyond.d.ts +45 -0
  888. package/dist/mcp-servers/idtbeyond.js +396 -0
  889. package/dist/mcp-servers/iex-cloud.d.ts +51 -0
  890. package/dist/mcp-servers/iex-cloud.js +598 -0
  891. package/dist/mcp-servers/impala-travel-hotels.d.ts +43 -0
  892. package/dist/mcp-servers/impala-travel-hotels.js +432 -0
  893. package/dist/mcp-servers/inboxroute.d.ts +44 -0
  894. package/dist/mcp-servers/inboxroute.js +417 -0
  895. package/dist/mcp-servers/incident-io.d.ts +52 -0
  896. package/dist/mcp-servers/incident-io.js +536 -0
  897. package/dist/mcp-servers/infermedica.d.ts +56 -0
  898. package/dist/mcp-servers/infermedica.js +864 -0
  899. package/dist/mcp-servers/influxdata.d.ts +75 -0
  900. package/dist/mcp-servers/influxdata.js +1254 -0
  901. package/dist/mcp-servers/infobip.d.ts +50 -0
  902. package/dist/mcp-servers/infobip.js +751 -0
  903. package/dist/mcp-servers/infogenesis.d.ts +42 -0
  904. package/dist/mcp-servers/infogenesis.js +405 -0
  905. package/dist/mcp-servers/infor.d.ts +56 -0
  906. package/dist/mcp-servers/infor.js +432 -0
  907. package/dist/mcp-servers/infura.d.ts +34 -0
  908. package/dist/mcp-servers/infura.js +570 -0
  909. package/dist/mcp-servers/instagram-graph.d.ts +52 -0
  910. package/dist/mcp-servers/instagram-graph.js +748 -0
  911. package/dist/mcp-servers/instagram.d.ts +56 -0
  912. package/dist/mcp-servers/instagram.js +772 -0
  913. package/dist/mcp-servers/instana.d.ts +57 -0
  914. package/dist/mcp-servers/instana.js +482 -0
  915. package/dist/mcp-servers/intel-product-catalogue.d.ts +43 -0
  916. package/dist/mcp-servers/intel-product-catalogue.js +253 -0
  917. package/dist/mcp-servers/intellifi-nl.d.ts +45 -0
  918. package/dist/mcp-servers/intellifi-nl.js +1090 -0
  919. package/dist/mcp-servers/interactivebrokers.d.ts +49 -0
  920. package/dist/mcp-servers/interactivebrokers.js +407 -0
  921. package/dist/mcp-servers/intercom.d.ts +57 -0
  922. package/dist/mcp-servers/intercom.js +646 -0
  923. package/dist/mcp-servers/intrinio.d.ts +51 -0
  924. package/dist/mcp-servers/intrinio.js +804 -0
  925. package/dist/mcp-servers/invision.d.ts +46 -0
  926. package/dist/mcp-servers/invision.js +458 -0
  927. package/dist/mcp-servers/ip2location-geolocation.d.ts +32 -0
  928. package/dist/mcp-servers/ip2location-geolocation.js +152 -0
  929. package/dist/mcp-servers/ip2location.d.ts +33 -0
  930. package/dist/mcp-servers/ip2location.js +156 -0
  931. package/dist/mcp-servers/ip2proxy.d.ts +32 -0
  932. package/dist/mcp-servers/ip2proxy.js +127 -0
  933. package/dist/mcp-servers/iqualify.d.ts +54 -0
  934. package/dist/mcp-servers/iqualify.js +731 -0
  935. package/dist/mcp-servers/ironclad.d.ts +49 -0
  936. package/dist/mcp-servers/ironclad.js +455 -0
  937. package/dist/mcp-servers/iva-api.d.ts +50 -0
  938. package/dist/mcp-servers/iva-api.js +571 -0
  939. package/dist/mcp-servers/ix-api.d.ts +47 -0
  940. package/dist/mcp-servers/ix-api.js +686 -0
  941. package/dist/mcp-servers/izettle-products.d.ts +63 -0
  942. package/dist/mcp-servers/izettle-products.js +1003 -0
  943. package/dist/mcp-servers/jamf.d.ts +49 -0
  944. package/dist/mcp-servers/jamf.js +488 -0
  945. package/dist/mcp-servers/javatpoint.d.ts +37 -0
  946. package/dist/mcp-servers/javatpoint.js +205 -0
  947. package/dist/mcp-servers/jenkins.d.ts +48 -0
  948. package/dist/mcp-servers/jenkins.js +435 -0
  949. package/dist/mcp-servers/jfrog-artifactory.d.ts +47 -0
  950. package/dist/mcp-servers/jfrog-artifactory.js +522 -0
  951. package/dist/mcp-servers/jira-service-management.d.ts +52 -0
  952. package/dist/mcp-servers/jira-service-management.js +674 -0
  953. package/dist/mcp-servers/jira.d.ts +52 -0
  954. package/dist/mcp-servers/jira.js +573 -0
  955. package/dist/mcp-servers/john-deere-ops.d.ts +46 -0
  956. package/dist/mcp-servers/john-deere-ops.js +546 -0
  957. package/dist/mcp-servers/jumpcloud.d.ts +51 -0
  958. package/dist/mcp-servers/jumpcloud.js +705 -0
  959. package/dist/mcp-servers/juro.d.ts +43 -0
  960. package/dist/mcp-servers/juro.js +472 -0
  961. package/dist/mcp-servers/just-eat-uk.d.ts +71 -0
  962. package/dist/mcp-servers/just-eat-uk.js +1092 -0
  963. package/dist/mcp-servers/kandji.d.ts +45 -0
  964. package/dist/mcp-servers/kandji.js +486 -0
  965. package/dist/mcp-servers/keycloak.d.ts +68 -0
  966. package/dist/mcp-servers/keycloak.js +828 -0
  967. package/dist/mcp-servers/klarna-payments.d.ts +47 -0
  968. package/dist/mcp-servers/klarna-payments.js +419 -0
  969. package/dist/mcp-servers/klaviyo.d.ts +57 -0
  970. package/dist/mcp-servers/klaviyo.js +847 -0
  971. package/dist/mcp-servers/knowbe4.d.ts +56 -0
  972. package/dist/mcp-servers/knowbe4.js +716 -0
  973. package/dist/mcp-servers/kubernetes.d.ts +54 -0
  974. package/dist/mcp-servers/kubernetes.js +631 -0
  975. package/dist/mcp-servers/lacework.d.ts +52 -0
  976. package/dist/mcp-servers/lacework.js +658 -0
  977. package/dist/mcp-servers/landregistry-uk-deed.d.ts +30 -0
  978. package/dist/mcp-servers/landregistry-uk-deed.js +186 -0
  979. package/dist/mcp-servers/langchain-api.d.ts +47 -0
  980. package/dist/mcp-servers/langchain-api.js +665 -0
  981. package/dist/mcp-servers/langsmith.d.ts +50 -0
  982. package/dist/mcp-servers/langsmith.js +674 -0
  983. package/dist/mcp-servers/languagetool.d.ts +39 -0
  984. package/dist/mcp-servers/languagetool.js +300 -0
  985. package/dist/mcp-servers/lansweeper.d.ts +43 -0
  986. package/dist/mcp-servers/lansweeper.js +640 -0
  987. package/dist/mcp-servers/lattice.d.ts +46 -0
  988. package/dist/mcp-servers/lattice.js +556 -0
  989. package/dist/mcp-servers/launchdarkly.d.ts +61 -0
  990. package/dist/mcp-servers/launchdarkly.js +614 -0
  991. package/dist/mcp-servers/lever.d.ts +50 -0
  992. package/dist/mcp-servers/lever.js +613 -0
  993. package/dist/mcp-servers/lexisnexis.d.ts +53 -0
  994. package/dist/mcp-servers/lexisnexis.js +397 -0
  995. package/dist/mcp-servers/lgtm.d.ts +43 -0
  996. package/dist/mcp-servers/lgtm.js +484 -0
  997. package/dist/mcp-servers/lightspeed.d.ts +54 -0
  998. package/dist/mcp-servers/lightspeed.js +745 -0
  999. package/dist/mcp-servers/linear.d.ts +48 -0
  1000. package/dist/mcp-servers/linear.js +594 -0
  1001. package/dist/mcp-servers/linkedin-ads.d.ts +49 -0
  1002. package/dist/mcp-servers/linkedin-ads.js +690 -0
  1003. package/dist/mcp-servers/linkedin.d.ts +46 -0
  1004. package/dist/mcp-servers/linkedin.js +453 -0
  1005. package/dist/mcp-servers/linode.d.ts +49 -0
  1006. package/dist/mcp-servers/linode.js +682 -0
  1007. package/dist/mcp-servers/ljaero-dflight-v-1-0-0.d.ts +30 -0
  1008. package/dist/mcp-servers/ljaero-dflight-v-1-0-0.js +498 -0
  1009. package/dist/mcp-servers/llamaindex-api.d.ts +54 -0
  1010. package/dist/mcp-servers/llamaindex-api.js +538 -0
  1011. package/dist/mcp-servers/logrhythm.d.ts +49 -0
  1012. package/dist/mcp-servers/logrhythm.js +454 -0
  1013. package/dist/mcp-servers/logrocket.d.ts +49 -0
  1014. package/dist/mcp-servers/logrocket.js +461 -0
  1015. package/dist/mcp-servers/loket-nl-v2.d.ts +58 -0
  1016. package/dist/mcp-servers/loket-nl-v2.js +610 -0
  1017. package/dist/mcp-servers/looker.d.ts +64 -0
  1018. package/dist/mcp-servers/looker.js +555 -0
  1019. package/dist/mcp-servers/loom.d.ts +46 -0
  1020. package/dist/mcp-servers/loom.js +418 -0
  1021. package/dist/mcp-servers/lotadata.d.ts +36 -0
  1022. package/dist/mcp-servers/lotadata.js +337 -0
  1023. package/dist/mcp-servers/lumminary.d.ts +50 -0
  1024. package/dist/mcp-servers/lumminary.js +557 -0
  1025. package/dist/mcp-servers/lyft.d.ts +42 -0
  1026. package/dist/mcp-servers/lyft.js +387 -0
  1027. package/dist/mcp-servers/mabl.d.ts +45 -0
  1028. package/dist/mcp-servers/mabl.js +397 -0
  1029. package/dist/mcp-servers/magento.d.ts +53 -0
  1030. package/dist/mcp-servers/magento.js +784 -0
  1031. package/dist/mcp-servers/maif-otoroshi.d.ts +60 -0
  1032. package/dist/mcp-servers/maif-otoroshi.js +528 -0
  1033. package/dist/mcp-servers/mailboxvalidator-validation.d.ts +29 -0
  1034. package/dist/mcp-servers/mailboxvalidator-validation.js +92 -0
  1035. package/dist/mcp-servers/mailchimp.d.ts +55 -0
  1036. package/dist/mcp-servers/mailchimp.js +504 -0
  1037. package/dist/mcp-servers/mailgun.d.ts +52 -0
  1038. package/dist/mcp-servers/mailgun.js +715 -0
  1039. package/dist/mcp-servers/majesco.d.ts +56 -0
  1040. package/dist/mcp-servers/majesco.js +580 -0
  1041. package/dist/mcp-servers/make.d.ts +52 -0
  1042. package/dist/mcp-servers/make.js +594 -0
  1043. package/dist/mcp-servers/mandiant.d.ts +56 -0
  1044. package/dist/mcp-servers/mandiant.js +370 -0
  1045. package/dist/mcp-servers/mandrillapp.d.ts +44 -0
  1046. package/dist/mcp-servers/mandrillapp.js +560 -0
  1047. package/dist/mcp-servers/mapbox.d.ts +43 -0
  1048. package/dist/mcp-servers/mapbox.js +616 -0
  1049. package/dist/mcp-servers/marketo.d.ts +61 -0
  1050. package/dist/mcp-servers/marketo.js +493 -0
  1051. package/dist/mcp-servers/marqeta.d.ts +57 -0
  1052. package/dist/mcp-servers/marqeta.js +943 -0
  1053. package/dist/mcp-servers/mashape-geodb.d.ts +41 -0
  1054. package/dist/mcp-servers/mashape-geodb.js +484 -0
  1055. package/dist/mcp-servers/mattermost.d.ts +55 -0
  1056. package/dist/mcp-servers/mattermost.js +724 -0
  1057. package/dist/mcp-servers/medallia.d.ts +52 -0
  1058. package/dist/mcp-servers/medallia.js +462 -0
  1059. package/dist/mcp-servers/medium.d.ts +62 -0
  1060. package/dist/mcp-servers/medium.js +861 -0
  1061. package/dist/mcp-servers/meltwater.d.ts +47 -0
  1062. package/dist/mcp-servers/meltwater.js +526 -0
  1063. package/dist/mcp-servers/meraki.d.ts +44 -0
  1064. package/dist/mcp-servers/meraki.js +471 -0
  1065. package/dist/mcp-servers/mercedes-benz-configurator.d.ts +46 -0
  1066. package/dist/mcp-servers/mercedes-benz-configurator.js +532 -0
  1067. package/dist/mcp-servers/mercedes-benz-dealer.d.ts +33 -0
  1068. package/dist/mcp-servers/mercedes-benz-dealer.js +228 -0
  1069. package/dist/mcp-servers/mercedes-benz-diagnostics.d.ts +34 -0
  1070. package/dist/mcp-servers/mercedes-benz-diagnostics.js +192 -0
  1071. package/dist/mcp-servers/mercedes-benz-image.d.ts +35 -0
  1072. package/dist/mcp-servers/mercedes-benz-image.js +223 -0
  1073. package/dist/mcp-servers/merge-api.d.ts +56 -0
  1074. package/dist/mcp-servers/merge-api.js +719 -0
  1075. package/dist/mcp-servers/meshery.d.ts +55 -0
  1076. package/dist/mcp-servers/meshery.js +446 -0
  1077. package/dist/mcp-servers/meta-ads.d.ts +56 -0
  1078. package/dist/mcp-servers/meta-ads.js +954 -0
  1079. package/dist/mcp-servers/meta-graph-api.d.ts +49 -0
  1080. package/dist/mcp-servers/meta-graph-api.js +683 -0
  1081. package/dist/mcp-servers/mews.d.ts +47 -0
  1082. package/dist/mcp-servers/mews.js +627 -0
  1083. package/dist/mcp-servers/microcks.d.ts +43 -0
  1084. package/dist/mcp-servers/microcks.js +408 -0
  1085. package/dist/mcp-servers/microsoft-defender-endpoint.d.ts +65 -0
  1086. package/dist/mcp-servers/microsoft-defender-endpoint.js +858 -0
  1087. package/dist/mcp-servers/microsoft-entra.d.ts +62 -0
  1088. package/dist/mcp-servers/microsoft-entra.js +847 -0
  1089. package/dist/mcp-servers/microsoft-graph.d.ts +51 -0
  1090. package/dist/mcp-servers/microsoft-graph.js +786 -0
  1091. package/dist/mcp-servers/microsoft-teams.d.ts +49 -0
  1092. package/dist/mcp-servers/microsoft-teams.js +659 -0
  1093. package/dist/mcp-servers/mimecast.d.ts +58 -0
  1094. package/dist/mcp-servers/mimecast.js +843 -0
  1095. package/dist/mcp-servers/miro.d.ts +56 -0
  1096. package/dist/mcp-servers/miro.js +921 -0
  1097. package/dist/mcp-servers/mist.d.ts +44 -0
  1098. package/dist/mcp-servers/mist.js +456 -0
  1099. package/dist/mcp-servers/mistral-ai.d.ts +55 -0
  1100. package/dist/mcp-servers/mistral-ai.js +881 -0
  1101. package/dist/mcp-servers/mixpanel.d.ts +59 -0
  1102. package/dist/mcp-servers/mixpanel.js +666 -0
  1103. package/dist/mcp-servers/modern-treasury.d.ts +56 -0
  1104. package/dist/mcp-servers/modern-treasury.js +802 -0
  1105. package/dist/mcp-servers/monday.d.ts +58 -0
  1106. package/dist/mcp-servers/monday.js +848 -0
  1107. package/dist/mcp-servers/mongodb.d.ts +49 -0
  1108. package/dist/mcp-servers/mongodb.js +451 -0
  1109. package/dist/mcp-servers/monte-carlo.d.ts +45 -0
  1110. package/dist/mcp-servers/monte-carlo.js +598 -0
  1111. package/dist/mcp-servers/morningstar.d.ts +53 -0
  1112. package/dist/mcp-servers/morningstar.js +611 -0
  1113. package/dist/mcp-servers/motaword.d.ts +57 -0
  1114. package/dist/mcp-servers/motaword.js +501 -0
  1115. package/dist/mcp-servers/musixmatch.d.ts +49 -0
  1116. package/dist/mcp-servers/musixmatch.js +441 -0
  1117. package/dist/mcp-servers/mux.d.ts +60 -0
  1118. package/dist/mcp-servers/mux.js +758 -0
  1119. package/dist/mcp-servers/mx.d.ts +57 -0
  1120. package/dist/mcp-servers/mx.js +673 -0
  1121. package/dist/mcp-servers/n-auth.d.ts +54 -0
  1122. package/dist/mcp-servers/n-auth.js +680 -0
  1123. package/dist/mcp-servers/n8n.d.ts +54 -0
  1124. package/dist/mcp-servers/n8n.js +664 -0
  1125. package/dist/mcp-servers/navan.d.ts +47 -0
  1126. package/dist/mcp-servers/navan.js +438 -0
  1127. package/dist/mcp-servers/naviplancentral-factfinder.d.ts +51 -0
  1128. package/dist/mcp-servers/naviplancentral-factfinder.js +608 -0
  1129. package/dist/mcp-servers/naviplancentral-plan.d.ts +50 -0
  1130. package/dist/mcp-servers/naviplancentral-plan.js +1098 -0
  1131. package/dist/mcp-servers/nbg-gr.d.ts +51 -0
  1132. package/dist/mcp-servers/nbg-gr.js +560 -0
  1133. package/dist/mcp-servers/neon.d.ts +47 -0
  1134. package/dist/mcp-servers/neon.js +545 -0
  1135. package/dist/mcp-servers/netatmo.d.ts +33 -0
  1136. package/dist/mcp-servers/netatmo.js +621 -0
  1137. package/dist/mcp-servers/netbox-dev.d.ts +41 -0
  1138. package/dist/mcp-servers/netbox-dev.js +1119 -0
  1139. package/dist/mcp-servers/netboxdemo.d.ts +35 -0
  1140. package/dist/mcp-servers/netboxdemo.js +742 -0
  1141. package/dist/mcp-servers/netlicensing.d.ts +62 -0
  1142. package/dist/mcp-servers/netlicensing.js +687 -0
  1143. package/dist/mcp-servers/netlify.d.ts +59 -0
  1144. package/dist/mcp-servers/netlify.js +682 -0
  1145. package/dist/mcp-servers/netskope.d.ts +46 -0
  1146. package/dist/mcp-servers/netskope.js +568 -0
  1147. package/dist/mcp-servers/netsuite.d.ts +51 -0
  1148. package/dist/mcp-servers/netsuite.js +592 -0
  1149. package/dist/mcp-servers/new-relic.d.ts +47 -0
  1150. package/dist/mcp-servers/new-relic.js +733 -0
  1151. package/dist/mcp-servers/newsapi.d.ts +34 -0
  1152. package/dist/mcp-servers/newsapi.js +230 -0
  1153. package/dist/mcp-servers/nfusionsolutions-biz.d.ts +47 -0
  1154. package/dist/mcp-servers/nfusionsolutions-biz.js +576 -0
  1155. package/dist/mcp-servers/notion.d.ts +51 -0
  1156. package/dist/mcp-servers/notion.js +582 -0
  1157. package/dist/mcp-servers/nowpayments.d.ts +50 -0
  1158. package/dist/mcp-servers/nowpayments.js +633 -0
  1159. package/dist/mcp-servers/npr-authorization.d.ts +31 -0
  1160. package/dist/mcp-servers/npr-authorization.js +210 -0
  1161. package/dist/mcp-servers/npr-identity.d.ts +36 -0
  1162. package/dist/mcp-servers/npr-identity.js +203 -0
  1163. package/dist/mcp-servers/npr-listening.d.ts +41 -0
  1164. package/dist/mcp-servers/npr-listening.js +354 -0
  1165. package/dist/mcp-servers/npr-sponsorship.d.ts +33 -0
  1166. package/dist/mcp-servers/npr-sponsorship.js +149 -0
  1167. package/dist/mcp-servers/nrel-building-case-studies.d.ts +33 -0
  1168. package/dist/mcp-servers/nrel-building-case-studies.js +142 -0
  1169. package/dist/mcp-servers/ntropywork.d.ts +43 -0
  1170. package/dist/mcp-servers/ntropywork.js +407 -0
  1171. package/dist/mcp-servers/nytimes-archive.d.ts +30 -0
  1172. package/dist/mcp-servers/nytimes-archive.js +109 -0
  1173. package/dist/mcp-servers/nytimes-article-search.d.ts +30 -0
  1174. package/dist/mcp-servers/nytimes-article-search.js +147 -0
  1175. package/dist/mcp-servers/nytimes-books-api.d.ts +36 -0
  1176. package/dist/mcp-servers/nytimes-books-api.js +348 -0
  1177. package/dist/mcp-servers/nytimes-geo-api.d.ts +34 -0
  1178. package/dist/mcp-servers/nytimes-geo-api.js +285 -0
  1179. package/dist/mcp-servers/nytimes-most-popular-api.d.ts +33 -0
  1180. package/dist/mcp-servers/nytimes-most-popular-api.js +177 -0
  1181. package/dist/mcp-servers/nytimes-movie-reviews.d.ts +33 -0
  1182. package/dist/mcp-servers/nytimes-movie-reviews.js +185 -0
  1183. package/dist/mcp-servers/nytimes-semantic-api.d.ts +38 -0
  1184. package/dist/mcp-servers/nytimes-semantic-api.js +317 -0
  1185. package/dist/mcp-servers/nytimes-times-tags.d.ts +33 -0
  1186. package/dist/mcp-servers/nytimes-times-tags.js +230 -0
  1187. package/dist/mcp-servers/nytimes-timeswire.d.ts +33 -0
  1188. package/dist/mcp-servers/nytimes-timeswire.js +179 -0
  1189. package/dist/mcp-servers/nytimes-top-stories.d.ts +31 -0
  1190. package/dist/mcp-servers/nytimes-top-stories.js +99 -0
  1191. package/dist/mcp-servers/o2-cz-mobility.d.ts +30 -0
  1192. package/dist/mcp-servers/o2-cz-mobility.js +120 -0
  1193. package/dist/mcp-servers/o2-cz-sociodemo.d.ts +31 -0
  1194. package/dist/mcp-servers/o2-cz-sociodemo.js +155 -0
  1195. package/dist/mcp-servers/octopus-deploy.d.ts +52 -0
  1196. package/dist/mcp-servers/octopus-deploy.js +658 -0
  1197. package/dist/mcp-servers/odoo.d.ts +58 -0
  1198. package/dist/mcp-servers/odoo.js +573 -0
  1199. package/dist/mcp-servers/okta.d.ts +52 -0
  1200. package/dist/mcp-servers/okta.js +703 -0
  1201. package/dist/mcp-servers/ollama-api.d.ts +39 -0
  1202. package/dist/mcp-servers/ollama-api.js +550 -0
  1203. package/dist/mcp-servers/omdbapi.d.ts +36 -0
  1204. package/dist/mcp-servers/omdbapi.js +209 -0
  1205. package/dist/mcp-servers/onedrive-sharepoint.d.ts +60 -0
  1206. package/dist/mcp-servers/onedrive-sharepoint.js +735 -0
  1207. package/dist/mcp-servers/onetrust.d.ts +52 -0
  1208. package/dist/mcp-servers/onetrust.js +584 -0
  1209. package/dist/mcp-servers/onfido.d.ts +57 -0
  1210. package/dist/mcp-servers/onfido.js +711 -0
  1211. package/dist/mcp-servers/onsched-consumer.d.ts +64 -0
  1212. package/dist/mcp-servers/onsched-consumer.js +738 -0
  1213. package/dist/mcp-servers/onsched-setup.d.ts +73 -0
  1214. package/dist/mcp-servers/onsched-setup.js +798 -0
  1215. package/dist/mcp-servers/open-fda.d.ts +33 -0
  1216. package/dist/mcp-servers/open-fda.js +516 -0
  1217. package/dist/mcp-servers/openai-api.d.ts +51 -0
  1218. package/dist/mcp-servers/openai-api.js +836 -0
  1219. package/dist/mcp-servers/openalpr.d.ts +34 -0
  1220. package/dist/mcp-servers/openalpr.js +296 -0
  1221. package/dist/mcp-servers/openapi-generator-tech.d.ts +38 -0
  1222. package/dist/mcp-servers/openapi-generator-tech.js +288 -0
  1223. package/dist/mcp-servers/openbanking-uk-account-info-openapi.d.ts +63 -0
  1224. package/dist/mcp-servers/openbanking-uk-account-info-openapi.js +592 -0
  1225. package/dist/mcp-servers/openbanking-uk-confirmation-funds-openapi.d.ts +42 -0
  1226. package/dist/mcp-servers/openbanking-uk-confirmation-funds-openapi.js +295 -0
  1227. package/dist/mcp-servers/openbanking-uk-event-notifications-openapi.d.ts +43 -0
  1228. package/dist/mcp-servers/openbanking-uk-event-notifications-openapi.js +414 -0
  1229. package/dist/mcp-servers/openbanking-uk-payment-initiation-openapi.d.ts +60 -0
  1230. package/dist/mcp-servers/openbanking-uk-payment-initiation-openapi.js +1197 -0
  1231. package/dist/mcp-servers/openbanking-uk.d.ts +36 -0
  1232. package/dist/mcp-servers/openbanking-uk.js +223 -0
  1233. package/dist/mcp-servers/openbankingproject-ch.d.ts +44 -0
  1234. package/dist/mcp-servers/openbankingproject-ch.js +535 -0
  1235. package/dist/mcp-servers/opencagedata.d.ts +36 -0
  1236. package/dist/mcp-servers/opencagedata.js +308 -0
  1237. package/dist/mcp-servers/opendatanetwork.d.ts +30 -0
  1238. package/dist/mcp-servers/opendatanetwork.js +328 -0
  1239. package/dist/mcp-servers/openfigi.d.ts +32 -0
  1240. package/dist/mcp-servers/openfigi.js +178 -0
  1241. package/dist/mcp-servers/openfintech.d.ts +29 -0
  1242. package/dist/mcp-servers/openfintech.js +357 -0
  1243. package/dist/mcp-servers/opengov.d.ts +50 -0
  1244. package/dist/mcp-servers/opengov.js +642 -0
  1245. package/dist/mcp-servers/openlinksw-osdb.d.ts +43 -0
  1246. package/dist/mcp-servers/openlinksw-osdb.js +340 -0
  1247. package/dist/mcp-servers/openpolicy.d.ts +43 -0
  1248. package/dist/mcp-servers/openpolicy.js +365 -0
  1249. package/dist/mcp-servers/openstates.d.ts +45 -0
  1250. package/dist/mcp-servers/openstates.js +775 -0
  1251. package/dist/mcp-servers/openstf.d.ts +45 -0
  1252. package/dist/mcp-servers/openstf.js +337 -0
  1253. package/dist/mcp-servers/opensuse-obs.d.ts +75 -0
  1254. package/dist/mcp-servers/opensuse-obs.js +1182 -0
  1255. package/dist/mcp-servers/opentable.d.ts +49 -0
  1256. package/dist/mcp-servers/opentable.js +667 -0
  1257. package/dist/mcp-servers/opentargets.d.ts +46 -0
  1258. package/dist/mcp-servers/opentargets.js +616 -0
  1259. package/dist/mcp-servers/openweathermap.d.ts +42 -0
  1260. package/dist/mcp-servers/openweathermap.js +468 -0
  1261. package/dist/mcp-servers/opera-pms.d.ts +56 -0
  1262. package/dist/mcp-servers/opera-pms.js +735 -0
  1263. package/dist/mcp-servers/opsgenie.d.ts +56 -0
  1264. package/dist/mcp-servers/opsgenie.js +954 -0
  1265. package/dist/mcp-servers/optimade.d.ts +40 -0
  1266. package/dist/mcp-servers/optimade.js +283 -0
  1267. package/dist/mcp-servers/optimizely.d.ts +49 -0
  1268. package/dist/mcp-servers/optimizely.js +599 -0
  1269. package/dist/mcp-servers/opto22-groov.d.ts +47 -0
  1270. package/dist/mcp-servers/opto22-groov.js +318 -0
  1271. package/dist/mcp-servers/opto22-pac.d.ts +85 -0
  1272. package/dist/mcp-servers/opto22-pac.js +1091 -0
  1273. package/dist/mcp-servers/oracle-cloud.d.ts +60 -0
  1274. package/dist/mcp-servers/oracle-cloud.js +729 -0
  1275. package/dist/mcp-servers/oracle-erp-cloud.d.ts +52 -0
  1276. package/dist/mcp-servers/oracle-erp-cloud.js +730 -0
  1277. package/dist/mcp-servers/orbit-love.d.ts +38 -0
  1278. package/dist/mcp-servers/orbit-love.js +736 -0
  1279. package/dist/mcp-servers/orca.d.ts +47 -0
  1280. package/dist/mcp-servers/orca.js +557 -0
  1281. package/dist/mcp-servers/ornl-daymet.d.ts +28 -0
  1282. package/dist/mcp-servers/ornl-daymet.js +276 -0
  1283. package/dist/mcp-servers/orthanc-server.d.ts +77 -0
  1284. package/dist/mcp-servers/orthanc-server.js +832 -0
  1285. package/dist/mcp-servers/osisoft.d.ts +44 -0
  1286. package/dist/mcp-servers/osisoft.js +378 -0
  1287. package/dist/mcp-servers/outreach.d.ts +57 -0
  1288. package/dist/mcp-servers/outreach.js +924 -0
  1289. package/dist/mcp-servers/owler.d.ts +43 -0
  1290. package/dist/mcp-servers/owler.js +457 -0
  1291. package/dist/mcp-servers/pagerduty.d.ts +45 -0
  1292. package/dist/mcp-servers/pagerduty.js +746 -0
  1293. package/dist/mcp-servers/palo-alto.d.ts +41 -0
  1294. package/dist/mcp-servers/palo-alto.js +661 -0
  1295. package/dist/mcp-servers/pandadoc.d.ts +46 -0
  1296. package/dist/mcp-servers/pandadoc.js +818 -0
  1297. package/dist/mcp-servers/pandascore.d.ts +45 -0
  1298. package/dist/mcp-servers/pandascore.js +522 -0
  1299. package/dist/mcp-servers/pandorabots.d.ts +43 -0
  1300. package/dist/mcp-servers/pandorabots.js +390 -0
  1301. package/dist/mcp-servers/panther.d.ts +40 -0
  1302. package/dist/mcp-servers/panther.js +518 -0
  1303. package/dist/mcp-servers/papinet-order-status.d.ts +35 -0
  1304. package/dist/mcp-servers/papinet-order-status.js +133 -0
  1305. package/dist/mcp-servers/particle.d.ts +52 -0
  1306. package/dist/mcp-servers/particle.js +566 -0
  1307. package/dist/mcp-servers/patientview.d.ts +54 -0
  1308. package/dist/mcp-servers/patientview.js +499 -0
  1309. package/dist/mcp-servers/patrowl.d.ts +43 -0
  1310. package/dist/mcp-servers/patrowl.js +277 -0
  1311. package/dist/mcp-servers/paylocity.d.ts +49 -0
  1312. package/dist/mcp-servers/paylocity.js +437 -0
  1313. package/dist/mcp-servers/payments-service-uk-payments.d.ts +35 -0
  1314. package/dist/mcp-servers/payments-service-uk-payments.js +403 -0
  1315. package/dist/mcp-servers/paypal.d.ts +64 -0
  1316. package/dist/mcp-servers/paypal.js +1257 -0
  1317. package/dist/mcp-servers/payrun.d.ts +36 -0
  1318. package/dist/mcp-servers/payrun.js +424 -0
  1319. package/dist/mcp-servers/pdfblocks.d.ts +43 -0
  1320. package/dist/mcp-servers/pdfblocks.js +364 -0
  1321. package/dist/mcp-servers/pdfgeneratorapi.d.ts +42 -0
  1322. package/dist/mcp-servers/pdfgeneratorapi.js +350 -0
  1323. package/dist/mcp-servers/pendo.d.ts +47 -0
  1324. package/dist/mcp-servers/pendo.js +479 -0
  1325. package/dist/mcp-servers/persona.d.ts +53 -0
  1326. package/dist/mcp-servers/persona.js +606 -0
  1327. package/dist/mcp-servers/personio-de-authentication.d.ts +32 -0
  1328. package/dist/mcp-servers/personio-de-authentication.js +97 -0
  1329. package/dist/mcp-servers/pinecone.d.ts +50 -0
  1330. package/dist/mcp-servers/pinecone.js +579 -0
  1331. package/dist/mcp-servers/ping-identity.d.ts +54 -0
  1332. package/dist/mcp-servers/ping-identity.js +633 -0
  1333. package/dist/mcp-servers/pipedrive.d.ts +61 -0
  1334. package/dist/mcp-servers/pipedrive.js +844 -0
  1335. package/dist/mcp-servers/pitchbook.d.ts +45 -0
  1336. package/dist/mcp-servers/pitchbook.js +575 -0
  1337. package/dist/mcp-servers/plaid-investments.d.ts +36 -0
  1338. package/dist/mcp-servers/plaid-investments.js +149 -0
  1339. package/dist/mcp-servers/plaid.d.ts +54 -0
  1340. package/dist/mcp-servers/plaid.js +640 -0
  1341. package/dist/mcp-servers/planetscale.d.ts +49 -0
  1342. package/dist/mcp-servers/planetscale.js +405 -0
  1343. package/dist/mcp-servers/plangrid.d.ts +47 -0
  1344. package/dist/mcp-servers/plangrid.js +647 -0
  1345. package/dist/mcp-servers/plivo.d.ts +53 -0
  1346. package/dist/mcp-servers/plivo.js +438 -0
  1347. package/dist/mcp-servers/polygon-io.d.ts +45 -0
  1348. package/dist/mcp-servers/polygon-io.js +435 -0
  1349. package/dist/mcp-servers/polygon.d.ts +41 -0
  1350. package/dist/mcp-servers/polygon.js +389 -0
  1351. package/dist/mcp-servers/portfoliooptimizer.d.ts +30 -0
  1352. package/dist/mcp-servers/portfoliooptimizer.js +1187 -0
  1353. package/dist/mcp-servers/postgresql.d.ts +50 -0
  1354. package/dist/mcp-servers/postgresql.js +503 -0
  1355. package/dist/mcp-servers/postman.d.ts +51 -0
  1356. package/dist/mcp-servers/postman.js +559 -0
  1357. package/dist/mcp-servers/postmark.d.ts +48 -0
  1358. package/dist/mcp-servers/postmark.js +401 -0
  1359. package/dist/mcp-servers/postmarkapp-account.d.ts +56 -0
  1360. package/dist/mcp-servers/postmarkapp-account.js +574 -0
  1361. package/dist/mcp-servers/postmarkapp-server.d.ts +43 -0
  1362. package/dist/mcp-servers/postmarkapp-server.js +603 -0
  1363. package/dist/mcp-servers/power-bi.d.ts +60 -0
  1364. package/dist/mcp-servers/power-bi.js +548 -0
  1365. package/dist/mcp-servers/powerschool.d.ts +52 -0
  1366. package/dist/mcp-servers/powerschool.js +519 -0
  1367. package/dist/mcp-servers/presalytics-ooxml.d.ts +104 -0
  1368. package/dist/mcp-servers/presalytics-ooxml.js +1243 -0
  1369. package/dist/mcp-servers/presalytics-story.d.ts +64 -0
  1370. package/dist/mcp-servers/presalytics-story.js +644 -0
  1371. package/dist/mcp-servers/pressassociation.d.ts +45 -0
  1372. package/dist/mcp-servers/pressassociation.js +405 -0
  1373. package/dist/mcp-servers/prisma-cloud.d.ts +51 -0
  1374. package/dist/mcp-servers/prisma-cloud.js +573 -0
  1375. package/dist/mcp-servers/probely.d.ts +50 -0
  1376. package/dist/mcp-servers/probely.js +525 -0
  1377. package/dist/mcp-servers/procore.d.ts +50 -0
  1378. package/dist/mcp-servers/procore.js +397 -0
  1379. package/dist/mcp-servers/productboard.d.ts +49 -0
  1380. package/dist/mcp-servers/productboard.js +597 -0
  1381. package/dist/mcp-servers/project44.d.ts +48 -0
  1382. package/dist/mcp-servers/project44.js +355 -0
  1383. package/dist/mcp-servers/prometheus.d.ts +57 -0
  1384. package/dist/mcp-servers/prometheus.js +517 -0
  1385. package/dist/mcp-servers/proofpoint.d.ts +44 -0
  1386. package/dist/mcp-servers/proofpoint.js +550 -0
  1387. package/dist/mcp-servers/prss.d.ts +64 -0
  1388. package/dist/mcp-servers/prss.js +865 -0
  1389. package/dist/mcp-servers/pulumi.d.ts +59 -0
  1390. package/dist/mcp-servers/pulumi.js +543 -0
  1391. package/dist/mcp-servers/qradar.d.ts +56 -0
  1392. package/dist/mcp-servers/qradar.js +667 -0
  1393. package/dist/mcp-servers/qualpay.d.ts +41 -0
  1394. package/dist/mcp-servers/qualpay.js +845 -0
  1395. package/dist/mcp-servers/qualtrics.d.ts +51 -0
  1396. package/dist/mcp-servers/qualtrics.js +451 -0
  1397. package/dist/mcp-servers/qualys.d.ts +54 -0
  1398. package/dist/mcp-servers/qualys.js +627 -0
  1399. package/dist/mcp-servers/quickbooks.d.ts +51 -0
  1400. package/dist/mcp-servers/quickbooks.js +681 -0
  1401. package/dist/mcp-servers/quicknode.d.ts +48 -0
  1402. package/dist/mcp-servers/quicknode.js +375 -0
  1403. package/dist/mcp-servers/railway.d.ts +45 -0
  1404. package/dist/mcp-servers/railway.js +658 -0
  1405. package/dist/mcp-servers/ramp.d.ts +52 -0
  1406. package/dist/mcp-servers/ramp.js +767 -0
  1407. package/dist/mcp-servers/rapid7.d.ts +50 -0
  1408. package/dist/mcp-servers/rapid7.js +775 -0
  1409. package/dist/mcp-servers/readme.d.ts +60 -0
  1410. package/dist/mcp-servers/readme.js +614 -0
  1411. package/dist/mcp-servers/rebilly.d.ts +61 -0
  1412. package/dist/mcp-servers/rebilly.js +694 -0
  1413. package/dist/mcp-servers/recorded-future.d.ts +43 -0
  1414. package/dist/mcp-servers/recorded-future.js +601 -0
  1415. package/dist/mcp-servers/recurly.d.ts +56 -0
  1416. package/dist/mcp-servers/recurly.js +984 -0
  1417. package/dist/mcp-servers/reddit.d.ts +52 -0
  1418. package/dist/mcp-servers/reddit.js +518 -0
  1419. package/dist/mcp-servers/redeal-analytics.d.ts +32 -0
  1420. package/dist/mcp-servers/redeal-analytics.js +197 -0
  1421. package/dist/mcp-servers/redis.d.ts +40 -0
  1422. package/dist/mcp-servers/redis.js +781 -0
  1423. package/dist/mcp-servers/redox.d.ts +52 -0
  1424. package/dist/mcp-servers/redox.js +491 -0
  1425. package/dist/mcp-servers/redshift.d.ts +42 -0
  1426. package/dist/mcp-servers/redshift.js +565 -0
  1427. package/dist/mcp-servers/refinitiv.d.ts +46 -0
  1428. package/dist/mcp-servers/refinitiv.js +362 -0
  1429. package/dist/mcp-servers/regcheck-uk.d.ts +40 -0
  1430. package/dist/mcp-servers/regcheck-uk.js +232 -0
  1431. package/dist/mcp-servers/relativity.d.ts +61 -0
  1432. package/dist/mcp-servers/relativity.js +701 -0
  1433. package/dist/mcp-servers/reloadly.d.ts +37 -0
  1434. package/dist/mcp-servers/reloadly.js +172 -0
  1435. package/dist/mcp-servers/render.d.ts +60 -0
  1436. package/dist/mcp-servers/render.js +727 -0
  1437. package/dist/mcp-servers/replicate.d.ts +46 -0
  1438. package/dist/mcp-servers/replicate.js +445 -0
  1439. package/dist/mcp-servers/restful4up.d.ts +34 -0
  1440. package/dist/mcp-servers/restful4up.js +279 -0
  1441. package/dist/mcp-servers/retool.d.ts +48 -0
  1442. package/dist/mcp-servers/retool.js +519 -0
  1443. package/dist/mcp-servers/ringcentral.d.ts +59 -0
  1444. package/dist/mcp-servers/ringcentral.js +811 -0
  1445. package/dist/mcp-servers/rippling.d.ts +48 -0
  1446. package/dist/mcp-servers/rippling.js +445 -0
  1447. package/dist/mcp-servers/robin.d.ts +52 -0
  1448. package/dist/mcp-servers/robin.js +599 -0
  1449. package/dist/mcp-servers/rootly.d.ts +44 -0
  1450. package/dist/mcp-servers/rootly.js +607 -0
  1451. package/dist/mcp-servers/rottentomatoes.d.ts +37 -0
  1452. package/dist/mcp-servers/rottentomatoes.js +432 -0
  1453. package/dist/mcp-servers/royalmail-click-and-drop.d.ts +46 -0
  1454. package/dist/mcp-servers/royalmail-click-and-drop.js +431 -0
  1455. package/dist/mcp-servers/rudder-example.d.ts +77 -0
  1456. package/dist/mcp-servers/rudder-example.js +1049 -0
  1457. package/dist/mcp-servers/rumble-run.d.ts +42 -0
  1458. package/dist/mcp-servers/rumble-run.js +326 -0
  1459. package/dist/mcp-servers/runscope.d.ts +52 -0
  1460. package/dist/mcp-servers/runscope.js +377 -0
  1461. package/dist/mcp-servers/sabre.d.ts +51 -0
  1462. package/dist/mcp-servers/sabre.js +649 -0
  1463. package/dist/mcp-servers/sage-intacct.d.ts +58 -0
  1464. package/dist/mcp-servers/sage-intacct.js +713 -0
  1465. package/dist/mcp-servers/salesforce.d.ts +52 -0
  1466. package/dist/mcp-servers/salesforce.js +511 -0
  1467. package/dist/mcp-servers/salesloft.d.ts +53 -0
  1468. package/dist/mcp-servers/salesloft.js +819 -0
  1469. package/dist/mcp-servers/samsara.d.ts +56 -0
  1470. package/dist/mcp-servers/samsara.js +707 -0
  1471. package/dist/mcp-servers/sanity.d.ts +53 -0
  1472. package/dist/mcp-servers/sanity.js +507 -0
  1473. package/dist/mcp-servers/sap-s4hana.d.ts +58 -0
  1474. package/dist/mcp-servers/sap-s4hana.js +647 -0
  1475. package/dist/mcp-servers/sauce-labs.d.ts +54 -0
  1476. package/dist/mcp-servers/sauce-labs.js +557 -0
  1477. package/dist/mcp-servers/scale-ai.d.ts +46 -0
  1478. package/dist/mcp-servers/scale-ai.js +590 -0
  1479. package/dist/mcp-servers/schooldigger.d.ts +41 -0
  1480. package/dist/mcp-servers/schooldigger.js +297 -0
  1481. package/dist/mcp-servers/schoology.d.ts +57 -0
  1482. package/dist/mcp-servers/schoology.js +652 -0
  1483. package/dist/mcp-servers/scideas-perfectpdf.d.ts +31 -0
  1484. package/dist/mcp-servers/scideas-perfectpdf.js +102 -0
  1485. package/dist/mcp-servers/sec-edgar.d.ts +40 -0
  1486. package/dist/mcp-servers/sec-edgar.js +316 -0
  1487. package/dist/mcp-servers/secureframe.d.ts +45 -0
  1488. package/dist/mcp-servers/secureframe.js +380 -0
  1489. package/dist/mcp-servers/securonix.d.ts +52 -0
  1490. package/dist/mcp-servers/securonix.js +635 -0
  1491. package/dist/mcp-servers/segment.d.ts +65 -0
  1492. package/dist/mcp-servers/segment.js +984 -0
  1493. package/dist/mcp-servers/selectpdf.d.ts +36 -0
  1494. package/dist/mcp-servers/selectpdf.js +256 -0
  1495. package/dist/mcp-servers/semantic-scholar.d.ts +42 -0
  1496. package/dist/mcp-servers/semantic-scholar.js +436 -0
  1497. package/dist/mcp-servers/semantria.d.ts +48 -0
  1498. package/dist/mcp-servers/semantria.js +332 -0
  1499. package/dist/mcp-servers/semrush.d.ts +45 -0
  1500. package/dist/mcp-servers/semrush.js +568 -0
  1501. package/dist/mcp-servers/sendgrid.d.ts +55 -0
  1502. package/dist/mcp-servers/sendgrid.js +889 -0
  1503. package/dist/mcp-servers/sentinel.d.ts +63 -0
  1504. package/dist/mcp-servers/sentinel.js +1001 -0
  1505. package/dist/mcp-servers/sentinelone.d.ts +48 -0
  1506. package/dist/mcp-servers/sentinelone.js +676 -0
  1507. package/dist/mcp-servers/sentry.d.ts +38 -0
  1508. package/dist/mcp-servers/sentry.js +598 -0
  1509. package/dist/mcp-servers/servicenow-grc.d.ts +41 -0
  1510. package/dist/mcp-servers/servicenow-grc.js +541 -0
  1511. package/dist/mcp-servers/servicenow-itsm.d.ts +44 -0
  1512. package/dist/mcp-servers/servicenow-itsm.js +751 -0
  1513. package/dist/mcp-servers/shipengine.d.ts +49 -0
  1514. package/dist/mcp-servers/shipengine.js +568 -0
  1515. package/dist/mcp-servers/shippo.d.ts +46 -0
  1516. package/dist/mcp-servers/shippo.js +422 -0
  1517. package/dist/mcp-servers/shipstation.d.ts +50 -0
  1518. package/dist/mcp-servers/shipstation.js +630 -0
  1519. package/dist/mcp-servers/shop-pro-jp.d.ts +44 -0
  1520. package/dist/mcp-servers/shop-pro-jp.js +425 -0
  1521. package/dist/mcp-servers/shopify.d.ts +51 -0
  1522. package/dist/mcp-servers/shopify.js +813 -0
  1523. package/dist/mcp-servers/shortcut.d.ts +54 -0
  1524. package/dist/mcp-servers/shortcut.js +725 -0
  1525. package/dist/mcp-servers/shotstack.d.ts +44 -0
  1526. package/dist/mcp-servers/shotstack.js +303 -0
  1527. package/dist/mcp-servers/shutterstock.d.ts +52 -0
  1528. package/dist/mcp-servers/shutterstock.js +575 -0
  1529. package/dist/mcp-servers/siemens-mindsphere.d.ts +54 -0
  1530. package/dist/mcp-servers/siemens-mindsphere.js +527 -0
  1531. package/dist/mcp-servers/signl4.d.ts +39 -0
  1532. package/dist/mcp-servers/signl4.js +252 -0
  1533. package/dist/mcp-servers/similarweb.d.ts +43 -0
  1534. package/dist/mcp-servers/similarweb.js +464 -0
  1535. package/dist/mcp-servers/simplyrets.d.ts +38 -0
  1536. package/dist/mcp-servers/simplyrets.js +208 -0
  1537. package/dist/mcp-servers/slack.d.ts +52 -0
  1538. package/dist/mcp-servers/slack.js +720 -0
  1539. package/dist/mcp-servers/slicebox.d.ts +55 -0
  1540. package/dist/mcp-servers/slicebox.js +582 -0
  1541. package/dist/mcp-servers/slideroom.d.ts +45 -0
  1542. package/dist/mcp-servers/slideroom.js +418 -0
  1543. package/dist/mcp-servers/smart-me.d.ts +54 -0
  1544. package/dist/mcp-servers/smart-me.js +635 -0
  1545. package/dist/mcp-servers/smartsheet.d.ts +56 -0
  1546. package/dist/mcp-servers/smartsheet.js +858 -0
  1547. package/dist/mcp-servers/sms77.d.ts +48 -0
  1548. package/dist/mcp-servers/sms77.js +625 -0
  1549. package/dist/mcp-servers/snipe-it.d.ts +49 -0
  1550. package/dist/mcp-servers/snipe-it.js +676 -0
  1551. package/dist/mcp-servers/snowflake.d.ts +50 -0
  1552. package/dist/mcp-servers/snowflake.js +529 -0
  1553. package/dist/mcp-servers/snyk.d.ts +53 -0
  1554. package/dist/mcp-servers/snyk.js +737 -0
  1555. package/dist/mcp-servers/sonar-trading.d.ts +33 -0
  1556. package/dist/mcp-servers/sonar-trading.js +191 -0
  1557. package/dist/mcp-servers/sonarqube.d.ts +44 -0
  1558. package/dist/mcp-servers/sonarqube.js +554 -0
  1559. package/dist/mcp-servers/sonatype-nexus.d.ts +47 -0
  1560. package/dist/mcp-servers/sonatype-nexus.js +500 -0
  1561. package/dist/mcp-servers/sophos.d.ts +61 -0
  1562. package/dist/mcp-servers/sophos.js +542 -0
  1563. package/dist/mcp-servers/spectrocoin.d.ts +33 -0
  1564. package/dist/mcp-servers/spectrocoin.js +172 -0
  1565. package/dist/mcp-servers/splunk-observability.d.ts +54 -0
  1566. package/dist/mcp-servers/splunk-observability.js +635 -0
  1567. package/dist/mcp-servers/splunk.d.ts +49 -0
  1568. package/dist/mcp-servers/splunk.js +626 -0
  1569. package/dist/mcp-servers/spoonacular.d.ts +52 -0
  1570. package/dist/mcp-servers/spoonacular.js +691 -0
  1571. package/dist/mcp-servers/spotify-sonallux.d.ts +51 -0
  1572. package/dist/mcp-servers/spotify-sonallux.js +1660 -0
  1573. package/dist/mcp-servers/spotify.d.ts +51 -0
  1574. package/dist/mcp-servers/spotify.js +652 -0
  1575. package/dist/mcp-servers/sprinto.d.ts +44 -0
  1576. package/dist/mcp-servers/sprinto.js +590 -0
  1577. package/dist/mcp-servers/sprout-social.d.ts +55 -0
  1578. package/dist/mcp-servers/sprout-social.js +541 -0
  1579. package/dist/mcp-servers/square.d.ts +59 -0
  1580. package/dist/mcp-servers/square.js +798 -0
  1581. package/dist/mcp-servers/squarespace.d.ts +50 -0
  1582. package/dist/mcp-servers/squarespace.js +530 -0
  1583. package/dist/mcp-servers/stackexchange.d.ts +47 -0
  1584. package/dist/mcp-servers/stackexchange.js +414 -0
  1585. package/dist/mcp-servers/stackoverflow.d.ts +53 -0
  1586. package/dist/mcp-servers/stackoverflow.js +716 -0
  1587. package/dist/mcp-servers/statsig.d.ts +57 -0
  1588. package/dist/mcp-servers/statsig.js +591 -0
  1589. package/dist/mcp-servers/statsocial.d.ts +37 -0
  1590. package/dist/mcp-servers/statsocial.js +266 -0
  1591. package/dist/mcp-servers/statuspage.d.ts +58 -0
  1592. package/dist/mcp-servers/statuspage.js +576 -0
  1593. package/dist/mcp-servers/stellastra.d.ts +32 -0
  1594. package/dist/mcp-servers/stellastra.js +117 -0
  1595. package/dist/mcp-servers/stormglass.d.ts +31 -0
  1596. package/dist/mcp-servers/stormglass.js +142 -0
  1597. package/dist/mcp-servers/strapi.d.ts +50 -0
  1598. package/dist/mcp-servers/strapi.js +604 -0
  1599. package/dist/mcp-servers/stripe.d.ts +56 -0
  1600. package/dist/mcp-servers/stripe.js +920 -0
  1601. package/dist/mcp-servers/stytch.d.ts +53 -0
  1602. package/dist/mcp-servers/stytch.js +557 -0
  1603. package/dist/mcp-servers/substack.d.ts +44 -0
  1604. package/dist/mcp-servers/substack.js +388 -0
  1605. package/dist/mcp-servers/sumo-logic.d.ts +55 -0
  1606. package/dist/mcp-servers/sumo-logic.js +513 -0
  1607. package/dist/mcp-servers/supabase.d.ts +60 -0
  1608. package/dist/mcp-servers/supabase.js +527 -0
  1609. package/dist/mcp-servers/surevoip-uk.d.ts +44 -0
  1610. package/dist/mcp-servers/surevoip-uk.js +539 -0
  1611. package/dist/mcp-servers/surveymonkey.d.ts +54 -0
  1612. package/dist/mcp-servers/surveymonkey.js +695 -0
  1613. package/dist/mcp-servers/svix.d.ts +54 -0
  1614. package/dist/mcp-servers/svix.js +452 -0
  1615. package/dist/mcp-servers/swagger-generator.d.ts +42 -0
  1616. package/dist/mcp-servers/swagger-generator.js +239 -0
  1617. package/dist/mcp-servers/swaggerhub.d.ts +58 -0
  1618. package/dist/mcp-servers/swaggerhub.js +461 -0
  1619. package/dist/mcp-servers/symanto.d.ts +38 -0
  1620. package/dist/mcp-servers/symanto.js +329 -0
  1621. package/dist/mcp-servers/synq-fm.d.ts +39 -0
  1622. package/dist/mcp-servers/synq-fm.js +238 -0
  1623. package/dist/mcp-servers/tableau.d.ts +58 -0
  1624. package/dist/mcp-servers/tableau.js +471 -0
  1625. package/dist/mcp-servers/taggun.d.ts +48 -0
  1626. package/dist/mcp-servers/taggun.js +456 -0
  1627. package/dist/mcp-servers/taxamo.d.ts +52 -0
  1628. package/dist/mcp-servers/taxamo.js +587 -0
  1629. package/dist/mcp-servers/taxrates.d.ts +35 -0
  1630. package/dist/mcp-servers/taxrates.js +202 -0
  1631. package/dist/mcp-servers/teamcity.d.ts +58 -0
  1632. package/dist/mcp-servers/teamcity.js +670 -0
  1633. package/dist/mcp-servers/telegram.d.ts +52 -0
  1634. package/dist/mcp-servers/telegram.js +762 -0
  1635. package/dist/mcp-servers/telematicssdk.d.ts +53 -0
  1636. package/dist/mcp-servers/telematicssdk.js +382 -0
  1637. package/dist/mcp-servers/telnyx.d.ts +51 -0
  1638. package/dist/mcp-servers/telnyx.js +655 -0
  1639. package/dist/mcp-servers/tenable.d.ts +54 -0
  1640. package/dist/mcp-servers/tenable.js +475 -0
  1641. package/dist/mcp-servers/terraform-registry.d.ts +66 -0
  1642. package/dist/mcp-servers/terraform-registry.js +668 -0
  1643. package/dist/mcp-servers/text2data.d.ts +36 -0
  1644. package/dist/mcp-servers/text2data.js +201 -0
  1645. package/dist/mcp-servers/tfl-uk.d.ts +45 -0
  1646. package/dist/mcp-servers/tfl-uk.js +382 -0
  1647. package/dist/mcp-servers/the-graph.d.ts +44 -0
  1648. package/dist/mcp-servers/the-graph.js +497 -0
  1649. package/dist/mcp-servers/the-trade-desk.d.ts +54 -0
  1650. package/dist/mcp-servers/the-trade-desk.js +666 -0
  1651. package/dist/mcp-servers/thenounproject.d.ts +45 -0
  1652. package/dist/mcp-servers/thenounproject.js +460 -0
  1653. package/dist/mcp-servers/thesmsworks-uk.d.ts +52 -0
  1654. package/dist/mcp-servers/thesmsworks-uk.js +698 -0
  1655. package/dist/mcp-servers/threatconnect.d.ts +55 -0
  1656. package/dist/mcp-servers/threatconnect.js +641 -0
  1657. package/dist/mcp-servers/threatjammer.d.ts +41 -0
  1658. package/dist/mcp-servers/threatjammer.js +277 -0
  1659. package/dist/mcp-servers/ticketmaster-commerce.d.ts +33 -0
  1660. package/dist/mcp-servers/ticketmaster-commerce.js +106 -0
  1661. package/dist/mcp-servers/ticketmaster-discovery.d.ts +44 -0
  1662. package/dist/mcp-servers/ticketmaster-discovery.js +409 -0
  1663. package/dist/mcp-servers/tiktok-ads.d.ts +48 -0
  1664. package/dist/mcp-servers/tiktok-ads.js +774 -0
  1665. package/dist/mcp-servers/tines.d.ts +50 -0
  1666. package/dist/mcp-servers/tines.js +571 -0
  1667. package/dist/mcp-servers/tipalti.d.ts +45 -0
  1668. package/dist/mcp-servers/tipalti.js +433 -0
  1669. package/dist/mcp-servers/tisane.d.ts +41 -0
  1670. package/dist/mcp-servers/tisane.js +300 -0
  1671. package/dist/mcp-servers/toast.d.ts +49 -0
  1672. package/dist/mcp-servers/toast.js +486 -0
  1673. package/dist/mcp-servers/together-ai.d.ts +46 -0
  1674. package/dist/mcp-servers/together-ai.js +519 -0
  1675. package/dist/mcp-servers/tomorrow-io.d.ts +41 -0
  1676. package/dist/mcp-servers/tomorrow-io.js +475 -0
  1677. package/dist/mcp-servers/tomtom.d.ts +41 -0
  1678. package/dist/mcp-servers/tomtom.js +507 -0
  1679. package/dist/mcp-servers/traccar.d.ts +48 -0
  1680. package/dist/mcp-servers/traccar.js +478 -0
  1681. package/dist/mcp-servers/tradematic.d.ts +33 -0
  1682. package/dist/mcp-servers/tradematic.js +511 -0
  1683. package/dist/mcp-servers/transavia.d.ts +31 -0
  1684. package/dist/mcp-servers/transavia.js +200 -0
  1685. package/dist/mcp-servers/transunion.d.ts +47 -0
  1686. package/dist/mcp-servers/transunion.js +568 -0
  1687. package/dist/mcp-servers/travelport.d.ts +50 -0
  1688. package/dist/mcp-servers/travelport.js +669 -0
  1689. package/dist/mcp-servers/trellix-edr.d.ts +53 -0
  1690. package/dist/mcp-servers/trellix-edr.js +476 -0
  1691. package/dist/mcp-servers/trello.d.ts +50 -0
  1692. package/dist/mcp-servers/trello.js +739 -0
  1693. package/dist/mcp-servers/trend-micro.d.ts +46 -0
  1694. package/dist/mcp-servers/trend-micro.js +480 -0
  1695. package/dist/mcp-servers/truanon.d.ts +39 -0
  1696. package/dist/mcp-servers/truanon.js +132 -0
  1697. package/dist/mcp-servers/truesight.d.ts +63 -0
  1698. package/dist/mcp-servers/truesight.js +610 -0
  1699. package/dist/mcp-servers/truora.d.ts +64 -0
  1700. package/dist/mcp-servers/truora.js +750 -0
  1701. package/dist/mcp-servers/turbinelabs.d.ts +71 -0
  1702. package/dist/mcp-servers/turbinelabs.js +823 -0
  1703. package/dist/mcp-servers/twilio.d.ts +58 -0
  1704. package/dist/mcp-servers/twilio.js +573 -0
  1705. package/dist/mcp-servers/twinehealth.d.ts +66 -0
  1706. package/dist/mcp-servers/twinehealth.js +836 -0
  1707. package/dist/mcp-servers/twitch.d.ts +53 -0
  1708. package/dist/mcp-servers/twitch.js +595 -0
  1709. package/dist/mcp-servers/twitter.d.ts +60 -0
  1710. package/dist/mcp-servers/twitter.js +703 -0
  1711. package/dist/mcp-servers/typeform.d.ts +55 -0
  1712. package/dist/mcp-servers/typeform.js +766 -0
  1713. package/dist/mcp-servers/types.d.ts +20 -0
  1714. package/dist/mcp-servers/types.js +5 -0
  1715. package/dist/mcp-servers/unicourt.d.ts +51 -0
  1716. package/dist/mcp-servers/unicourt.js +540 -0
  1717. package/dist/mcp-servers/unit.d.ts +50 -0
  1718. package/dist/mcp-servers/unit.js +478 -0
  1719. package/dist/mcp-servers/ups.d.ts +48 -0
  1720. package/dist/mcp-servers/ups.js +649 -0
  1721. package/dist/mcp-servers/upstash.d.ts +50 -0
  1722. package/dist/mcp-servers/upstash.js +421 -0
  1723. package/dist/mcp-servers/usps.d.ts +48 -0
  1724. package/dist/mcp-servers/usps.js +540 -0
  1725. package/dist/mcp-servers/uspto.d.ts +44 -0
  1726. package/dist/mcp-servers/uspto.js +462 -0
  1727. package/dist/mcp-servers/va-benefits.d.ts +36 -0
  1728. package/dist/mcp-servers/va-benefits.js +199 -0
  1729. package/dist/mcp-servers/va-confirmation.d.ts +31 -0
  1730. package/dist/mcp-servers/va-confirmation.js +130 -0
  1731. package/dist/mcp-servers/va-facilities.d.ts +34 -0
  1732. package/dist/mcp-servers/va-facilities.js +246 -0
  1733. package/dist/mcp-servers/va-forms.d.ts +33 -0
  1734. package/dist/mcp-servers/va-forms.js +128 -0
  1735. package/dist/mcp-servers/vanta.d.ts +35 -0
  1736. package/dist/mcp-servers/vanta.js +407 -0
  1737. package/dist/mcp-servers/vatapi.d.ts +39 -0
  1738. package/dist/mcp-servers/vatapi.js +309 -0
  1739. package/dist/mcp-servers/vectara.d.ts +40 -0
  1740. package/dist/mcp-servers/vectara.js +536 -0
  1741. package/dist/mcp-servers/vectra-ai.d.ts +52 -0
  1742. package/dist/mcp-servers/vectra-ai.js +630 -0
  1743. package/dist/mcp-servers/veeva.d.ts +54 -0
  1744. package/dist/mcp-servers/veeva.js +530 -0
  1745. package/dist/mcp-servers/velopayments.d.ts +52 -0
  1746. package/dist/mcp-servers/velopayments.js +469 -0
  1747. package/dist/mcp-servers/veracode.d.ts +32 -0
  1748. package/dist/mcp-servers/veracode.js +402 -0
  1749. package/dist/mcp-servers/vercel.d.ts +55 -0
  1750. package/dist/mcp-servers/vercel.js +582 -0
  1751. package/dist/mcp-servers/vertafore.d.ts +52 -0
  1752. package/dist/mcp-servers/vertafore.js +623 -0
  1753. package/dist/mcp-servers/viator.d.ts +49 -0
  1754. package/dist/mcp-servers/viator.js +425 -0
  1755. package/dist/mcp-servers/victorops.d.ts +53 -0
  1756. package/dist/mcp-servers/victorops.js +408 -0
  1757. package/dist/mcp-servers/vimeo.d.ts +50 -0
  1758. package/dist/mcp-servers/vimeo.js +626 -0
  1759. package/dist/mcp-servers/visagecloud.d.ts +50 -0
  1760. package/dist/mcp-servers/visagecloud.js +387 -0
  1761. package/dist/mcp-servers/visualcrossing-weather.d.ts +37 -0
  1762. package/dist/mcp-servers/visualcrossing-weather.js +356 -0
  1763. package/dist/mcp-servers/visualstudio.d.ts +47 -0
  1764. package/dist/mcp-servers/visualstudio.js +440 -0
  1765. package/dist/mcp-servers/vmware-vrni.d.ts +46 -0
  1766. package/dist/mcp-servers/vmware-vrni.js +2038 -0
  1767. package/dist/mcp-servers/vonage.d.ts +50 -0
  1768. package/dist/mcp-servers/vonage.js +597 -0
  1769. package/dist/mcp-servers/walletobjects-googleapis-pay-passes.d.ts +38 -0
  1770. package/dist/mcp-servers/walletobjects-googleapis-pay-passes.js +620 -0
  1771. package/dist/mcp-servers/walmart-inventory.d.ts +40 -0
  1772. package/dist/mcp-servers/walmart-inventory.js +352 -0
  1773. package/dist/mcp-servers/walmart-item.d.ts +38 -0
  1774. package/dist/mcp-servers/walmart-item.js +231 -0
  1775. package/dist/mcp-servers/walmart-order.d.ts +46 -0
  1776. package/dist/mcp-servers/walmart-order.js +424 -0
  1777. package/dist/mcp-servers/walmart-price.d.ts +36 -0
  1778. package/dist/mcp-servers/walmart-price.js +192 -0
  1779. package/dist/mcp-servers/wandb.d.ts +43 -0
  1780. package/dist/mcp-servers/wandb.js +536 -0
  1781. package/dist/mcp-servers/warwick-ac-uk-enterobase.d.ts +40 -0
  1782. package/dist/mcp-servers/warwick-ac-uk-enterobase.js +362 -0
  1783. package/dist/mcp-servers/wealthreader.d.ts +33 -0
  1784. package/dist/mcp-servers/wealthreader.js +210 -0
  1785. package/dist/mcp-servers/weatherbit.d.ts +41 -0
  1786. package/dist/mcp-servers/weatherbit.js +411 -0
  1787. package/dist/mcp-servers/webex.d.ts +56 -0
  1788. package/dist/mcp-servers/webex.js +748 -0
  1789. package/dist/mcp-servers/webflow.d.ts +54 -0
  1790. package/dist/mcp-servers/webflow.js +507 -0
  1791. package/dist/mcp-servers/webscraping.d.ts +35 -0
  1792. package/dist/mcp-servers/webscraping.js +266 -0
  1793. package/dist/mcp-servers/whatsapp-business.d.ts +52 -0
  1794. package/dist/mcp-servers/whatsapp-business.js +527 -0
  1795. package/dist/mcp-servers/whatsapp.d.ts +44 -0
  1796. package/dist/mcp-servers/whatsapp.js +356 -0
  1797. package/dist/mcp-servers/wheretocredit.d.ts +34 -0
  1798. package/dist/mcp-servers/wheretocredit.js +178 -0
  1799. package/dist/mcp-servers/wikimedia.d.ts +42 -0
  1800. package/dist/mcp-servers/wikimedia.js +411 -0
  1801. package/dist/mcp-servers/windows-batch-batchservice.d.ts +73 -0
  1802. package/dist/mcp-servers/windows-batch-batchservice.js +795 -0
  1803. package/dist/mcp-servers/windows-graphrbac.d.ts +65 -0
  1804. package/dist/mcp-servers/windows-graphrbac.js +714 -0
  1805. package/dist/mcp-servers/wistia.d.ts +54 -0
  1806. package/dist/mcp-servers/wistia.js +497 -0
  1807. package/dist/mcp-servers/wix.d.ts +58 -0
  1808. package/dist/mcp-servers/wix.js +545 -0
  1809. package/dist/mcp-servers/wiz.d.ts +51 -0
  1810. package/dist/mcp-servers/wiz.js +562 -0
  1811. package/dist/mcp-servers/woocommerce.d.ts +68 -0
  1812. package/dist/mcp-servers/woocommerce.js +733 -0
  1813. package/dist/mcp-servers/wordnik.d.ts +46 -0
  1814. package/dist/mcp-servers/wordnik.js +670 -0
  1815. package/dist/mcp-servers/workday.d.ts +48 -0
  1816. package/dist/mcp-servers/workday.js +302 -0
  1817. package/dist/mcp-servers/workos.d.ts +57 -0
  1818. package/dist/mcp-servers/workos.js +531 -0
  1819. package/dist/mcp-servers/wowza.d.ts +38 -0
  1820. package/dist/mcp-servers/wowza.js +475 -0
  1821. package/dist/mcp-servers/wrike.d.ts +56 -0
  1822. package/dist/mcp-servers/wrike.js +426 -0
  1823. package/dist/mcp-servers/wso2apistore-transform.d.ts +30 -0
  1824. package/dist/mcp-servers/wso2apistore-transform.js +213 -0
  1825. package/dist/mcp-servers/xero.d.ts +50 -0
  1826. package/dist/mcp-servers/xero.js +446 -0
  1827. package/dist/mcp-servers/xmatters.d.ts +57 -0
  1828. package/dist/mcp-servers/xmatters.js +740 -0
  1829. package/dist/mcp-servers/xtrf-eu.d.ts +33 -0
  1830. package/dist/mcp-servers/xtrf-eu.js +394 -0
  1831. package/dist/mcp-servers/yardi.d.ts +62 -0
  1832. package/dist/mcp-servers/yardi.js +461 -0
  1833. package/dist/mcp-servers/yodlee.d.ts +36 -0
  1834. package/dist/mcp-servers/yodlee.js +526 -0
  1835. package/dist/mcp-servers/youneedabudget.d.ts +33 -0
  1836. package/dist/mcp-servers/youneedabudget.js +528 -0
  1837. package/dist/mcp-servers/youtube.d.ts +62 -0
  1838. package/dist/mcp-servers/youtube.js +932 -0
  1839. package/dist/mcp-servers/zalando.d.ts +44 -0
  1840. package/dist/mcp-servers/zalando.js +402 -0
  1841. package/dist/mcp-servers/zapier.d.ts +59 -0
  1842. package/dist/mcp-servers/zapier.js +396 -0
  1843. package/dist/mcp-servers/zendesk.d.ts +61 -0
  1844. package/dist/mcp-servers/zendesk.js +889 -0
  1845. package/dist/mcp-servers/zenoti.d.ts +49 -0
  1846. package/dist/mcp-servers/zenoti.js +509 -0
  1847. package/dist/mcp-servers/zillow.d.ts +46 -0
  1848. package/dist/mcp-servers/zillow.js +492 -0
  1849. package/dist/mcp-servers/zoho-crm.d.ts +50 -0
  1850. package/dist/mcp-servers/zoho-crm.js +698 -0
  1851. package/dist/mcp-servers/zoom.d.ts +57 -0
  1852. package/dist/mcp-servers/zoom.js +982 -0
  1853. package/dist/mcp-servers/zoomconnect.d.ts +56 -0
  1854. package/dist/mcp-servers/zoomconnect.js +779 -0
  1855. package/dist/mcp-servers/zoominfo.d.ts +43 -0
  1856. package/dist/mcp-servers/zoominfo.js +700 -0
  1857. package/dist/mcp-servers/zscaler.d.ts +58 -0
  1858. package/dist/mcp-servers/zscaler.js +625 -0
  1859. package/dist/mcp-servers/zuora.d.ts +55 -0
  1860. package/dist/mcp-servers/zuora.js +912 -0
  1861. package/dist/memory/PersistentMemory.d.ts +31 -0
  1862. package/dist/memory/PersistentMemory.js +97 -0
  1863. package/dist/memory/adapters/InMemoryStore.d.ts +20 -0
  1864. package/dist/memory/adapters/InMemoryStore.js +125 -0
  1865. package/dist/memory/adapters/RedisMongoAdapter.d.ts +56 -0
  1866. package/dist/memory/adapters/RedisMongoAdapter.js +217 -0
  1867. package/dist/memory/adapters/base.d.ts +6 -0
  1868. package/dist/memory/adapters/base.js +6 -0
  1869. package/dist/observability/EventEmitter.d.ts +68 -0
  1870. package/dist/observability/EventEmitter.js +157 -0
  1871. package/dist/observability/OpenTelemetry.d.ts +41 -0
  1872. package/dist/observability/OpenTelemetry.js +97 -0
  1873. package/dist/observability/PrometheusExporter.d.ts +24 -0
  1874. package/dist/observability/PrometheusExporter.js +185 -0
  1875. package/dist/observability/RunTelemetry.d.ts +66 -0
  1876. package/dist/observability/RunTelemetry.js +166 -0
  1877. package/dist/observability/TokenTracker.d.ts +60 -0
  1878. package/dist/observability/TokenTracker.js +90 -0
  1879. package/dist/orchestrator/GeneratorProvider.d.ts +14 -0
  1880. package/dist/orchestrator/GeneratorProvider.js +198 -0
  1881. package/dist/orchestrator/Orchestrator.d.ts +45 -0
  1882. package/dist/orchestrator/Orchestrator.js +370 -0
  1883. package/dist/orchestrator/OrchestratorProvider.d.ts +13 -0
  1884. package/dist/orchestrator/OrchestratorProvider.js +353 -0
  1885. package/dist/persona/PersonaManager.d.ts +41 -0
  1886. package/dist/persona/PersonaManager.js +70 -0
  1887. package/dist/persona/SystemPromptBuilder.d.ts +17 -0
  1888. package/dist/persona/SystemPromptBuilder.js +67 -0
  1889. package/dist/resilience/Checkpoint.d.ts +54 -0
  1890. package/dist/resilience/Checkpoint.js +95 -0
  1891. package/dist/resilience/ErrorClassifier.d.ts +29 -0
  1892. package/dist/resilience/ErrorClassifier.js +98 -0
  1893. package/dist/resilience/GracefulShutdown.d.ts +44 -0
  1894. package/dist/resilience/GracefulShutdown.js +78 -0
  1895. package/dist/resilience/PromptCache.d.ts +65 -0
  1896. package/dist/resilience/PromptCache.js +131 -0
  1897. package/dist/resilience/RateLimiter.d.ts +44 -0
  1898. package/dist/resilience/RateLimiter.js +74 -0
  1899. package/dist/retrieval/HybridRetriever.d.ts +28 -0
  1900. package/dist/retrieval/HybridRetriever.js +93 -0
  1901. package/dist/retrieval/RankFusion.d.ts +37 -0
  1902. package/dist/retrieval/RankFusion.js +89 -0
  1903. package/dist/retrieval/adapters/InMemoryAdapter.d.ts +36 -0
  1904. package/dist/retrieval/adapters/InMemoryAdapter.js +95 -0
  1905. package/dist/retrieval/adapters/QdrantAdapter.d.ts +47 -0
  1906. package/dist/retrieval/adapters/QdrantAdapter.js +146 -0
  1907. package/dist/retrieval/adapters/base.d.ts +6 -0
  1908. package/dist/retrieval/adapters/base.js +6 -0
  1909. package/dist/transport/JSONResponse.d.ts +13 -0
  1910. package/dist/transport/JSONResponse.js +30 -0
  1911. package/dist/transport/SSEWriter.d.ts +22 -0
  1912. package/dist/transport/SSEWriter.js +37 -0
  1913. package/dist/transport/StreamManager.d.ts +22 -0
  1914. package/dist/transport/StreamManager.js +40 -0
  1915. package/dist/trust/AccessPolicyEngine.d.ts +29 -0
  1916. package/dist/trust/AccessPolicyEngine.js +167 -0
  1917. package/dist/trust/ArtifactVerifier.d.ts +29 -0
  1918. package/dist/trust/ArtifactVerifier.js +168 -0
  1919. package/dist/trust/AuthMiddleware.d.ts +28 -0
  1920. package/dist/trust/AuthMiddleware.js +87 -0
  1921. package/dist/trust/PolicyLoader.d.ts +19 -0
  1922. package/dist/trust/PolicyLoader.js +68 -0
  1923. package/dist/trust/TenantContext.d.ts +25 -0
  1924. package/dist/trust/TenantContext.js +54 -0
  1925. package/dist/trust/index.d.ts +13 -0
  1926. package/dist/trust/index.js +11 -0
  1927. package/dist/trust/secrets/AWSSecretsManager.d.ts +16 -0
  1928. package/dist/trust/secrets/AWSSecretsManager.js +42 -0
  1929. package/dist/trust/secrets/AzureKeyVault.d.ts +16 -0
  1930. package/dist/trust/secrets/AzureKeyVault.js +42 -0
  1931. package/dist/trust/secrets/EnvSecretsProvider.d.ts +10 -0
  1932. package/dist/trust/secrets/EnvSecretsProvider.js +16 -0
  1933. package/dist/trust/secrets/SecretsProvider.d.ts +13 -0
  1934. package/dist/trust/secrets/SecretsProvider.js +28 -0
  1935. package/dist/trust/secrets/VaultProvider.d.ts +21 -0
  1936. package/dist/trust/secrets/VaultProvider.js +93 -0
  1937. package/dist/trust/types.d.ts +81 -0
  1938. package/dist/trust/types.js +8 -0
  1939. package/dist/types/index.d.ts +526 -0
  1940. package/dist/types/index.js +6 -0
  1941. package/package.json +137 -0
@@ -0,0 +1,1660 @@
1
+ /**
2
+ * Spotify Web API MCP Adapter (sonallux edition)
3
+ * Built on the Epic AI® Intelligence Platform
4
+ * Copyright 2026 protectNIL Inc. Apache-2.0
5
+ */
6
+ import { MCPAdapterBase } from './base.js';
7
+ export class SpotifySonalluxMCPServer extends MCPAdapterBase {
8
+ accessToken;
9
+ baseUrl;
10
+ constructor(config) {
11
+ super();
12
+ this.accessToken = config.accessToken;
13
+ this.baseUrl = (config.baseUrl ?? 'https://api.spotify.com/v1').replace(/\/$/, '');
14
+ }
15
+ static catalog() {
16
+ return {
17
+ name: 'spotify-sonallux',
18
+ displayName: 'Spotify Web API (sonallux)',
19
+ version: '2023.2.27',
20
+ category: 'music',
21
+ keywords: [
22
+ 'spotify', 'music', 'audio', 'streaming', 'playlist', 'album', 'artist',
23
+ 'track', 'song', 'podcast', 'show', 'episode', 'audiobook', 'chapter',
24
+ 'search', 'recommendations', 'browse', 'categories', 'featured',
25
+ 'new-releases', 'top-tracks', 'related-artists', 'audio-features',
26
+ 'audio-analysis', 'playback', 'player', 'queue', 'devices', 'shuffle',
27
+ 'repeat', 'volume', 'seek', 'saved', 'library', 'follow', 'markets',
28
+ 'genres', 'sepa',
29
+ ],
30
+ toolNames: [
31
+ 'search',
32
+ 'get_track',
33
+ 'get_several_tracks',
34
+ 'get_audio_features',
35
+ 'get_several_audio_features',
36
+ 'get_audio_analysis',
37
+ 'get_album',
38
+ 'get_several_albums',
39
+ 'get_album_tracks',
40
+ 'get_artist',
41
+ 'get_several_artists',
42
+ 'get_artist_albums',
43
+ 'get_artist_top_tracks',
44
+ 'get_artist_related_artists',
45
+ 'get_playlist',
46
+ 'get_playlist_tracks',
47
+ 'get_playlist_cover',
48
+ 'get_show',
49
+ 'get_several_shows',
50
+ 'get_show_episodes',
51
+ 'get_episode',
52
+ 'get_several_episodes',
53
+ 'get_audiobook',
54
+ 'get_several_audiobooks',
55
+ 'get_audiobook_chapters',
56
+ 'get_chapter',
57
+ 'get_several_chapters',
58
+ 'get_recommendations',
59
+ 'get_recommendation_genres',
60
+ 'get_new_releases',
61
+ 'get_featured_playlists',
62
+ 'get_categories',
63
+ 'get_category',
64
+ 'get_category_playlists',
65
+ 'get_available_markets',
66
+ 'get_current_user_profile',
67
+ 'get_user_profile',
68
+ 'get_current_user_playlists',
69
+ 'get_user_playlists',
70
+ 'get_user_top_artists',
71
+ 'get_user_top_tracks',
72
+ 'get_user_saved_tracks',
73
+ 'check_user_saved_tracks',
74
+ 'save_tracks',
75
+ 'remove_saved_tracks',
76
+ 'get_user_saved_albums',
77
+ 'check_user_saved_albums',
78
+ 'save_albums',
79
+ 'remove_saved_albums',
80
+ 'get_user_saved_shows',
81
+ 'check_user_saved_shows',
82
+ 'save_shows',
83
+ 'remove_saved_shows',
84
+ 'get_user_saved_episodes',
85
+ 'check_user_saved_episodes',
86
+ 'save_episodes',
87
+ 'remove_saved_episodes',
88
+ 'get_user_saved_audiobooks',
89
+ 'check_user_saved_audiobooks',
90
+ 'save_audiobooks',
91
+ 'remove_saved_audiobooks',
92
+ 'get_followed_artists',
93
+ 'follow_artists_or_users',
94
+ 'unfollow_artists_or_users',
95
+ 'check_user_follows',
96
+ 'follow_playlist',
97
+ 'unfollow_playlist',
98
+ 'check_if_users_follow_playlist',
99
+ 'get_playback_state',
100
+ 'get_currently_playing',
101
+ 'get_available_devices',
102
+ 'get_recently_played',
103
+ 'get_user_queue',
104
+ 'start_playback',
105
+ 'pause_playback',
106
+ 'skip_to_next',
107
+ 'skip_to_previous',
108
+ 'seek_to_position',
109
+ 'set_repeat_mode',
110
+ 'set_volume',
111
+ 'toggle_shuffle',
112
+ 'transfer_playback',
113
+ 'add_to_queue',
114
+ 'create_playlist',
115
+ 'change_playlist_details',
116
+ 'add_tracks_to_playlist',
117
+ 'update_playlist_items',
118
+ 'remove_playlist_items',
119
+ 'upload_playlist_cover',
120
+ ],
121
+ description: 'Full Spotify Web API: search, browse, and stream music; manage playlists, saved content, and library; control playback across devices; access audio features and analysis; explore artists, albums, tracks, podcasts, shows, episodes, and audiobooks.',
122
+ author: 'protectnil',
123
+ };
124
+ }
125
+ get tools() {
126
+ return [
127
+ // ── Search ──────────────────────────────────────────────────────────────
128
+ {
129
+ name: 'search',
130
+ description: 'Search Spotify catalog for tracks, albums, artists, playlists, shows, episodes, or audiobooks. Returns paginated results.',
131
+ inputSchema: {
132
+ type: 'object',
133
+ properties: {
134
+ q: { type: 'string', description: 'Search query (e.g. "Bohemian Rhapsody" or "artist:Queen album:Innuendo")' },
135
+ type: { type: 'string', description: 'Comma-separated list of item types: album, artist, playlist, track, show, episode, audiobook (e.g. "track,album")' },
136
+ market: { type: 'string', description: 'ISO 3166-1 alpha-2 country code to filter results by market (e.g. "US")' },
137
+ limit: { type: 'number', description: 'Maximum number of results per type (1–50, default 20)' },
138
+ offset: { type: 'number', description: 'Pagination offset (default 0)' },
139
+ include_external: { type: 'string', description: 'If "audio", includes externally hosted audio. Optional.' },
140
+ },
141
+ required: ['q', 'type'],
142
+ },
143
+ },
144
+ // ── Tracks ──────────────────────────────────────────────────────────────
145
+ {
146
+ name: 'get_track',
147
+ description: 'Get Spotify catalog information for a single track by its Spotify ID.',
148
+ inputSchema: {
149
+ type: 'object',
150
+ properties: {
151
+ id: { type: 'string', description: 'Spotify track ID (e.g. "11dFghVXANMlKmJXsNCbNl")' },
152
+ market: { type: 'string', description: 'ISO 3166-1 alpha-2 country code for market filtering. Optional.' },
153
+ },
154
+ required: ['id'],
155
+ },
156
+ },
157
+ {
158
+ name: 'get_several_tracks',
159
+ description: 'Get Spotify catalog information for multiple tracks by their Spotify IDs (max 50).',
160
+ inputSchema: {
161
+ type: 'object',
162
+ properties: {
163
+ ids: { type: 'string', description: 'Comma-separated list of Spotify track IDs (max 50, e.g. "3n3Ppam7vgaVa1iaRUIOKE,3twNvmDtFriZZR6cv18y9")' },
164
+ market: { type: 'string', description: 'ISO 3166-1 alpha-2 country code. Optional.' },
165
+ },
166
+ required: ['ids'],
167
+ },
168
+ },
169
+ {
170
+ name: 'get_audio_features',
171
+ description: 'Get audio feature information for a single track: danceability, energy, key, loudness, mode, speechiness, acousticness, instrumentalness, liveness, valence, tempo, duration, time_signature.',
172
+ inputSchema: {
173
+ type: 'object',
174
+ properties: {
175
+ id: { type: 'string', description: 'Spotify track ID' },
176
+ },
177
+ required: ['id'],
178
+ },
179
+ },
180
+ {
181
+ name: 'get_several_audio_features',
182
+ description: 'Get audio features for multiple tracks (max 100). Returns danceability, energy, tempo, valence, and more for each track.',
183
+ inputSchema: {
184
+ type: 'object',
185
+ properties: {
186
+ ids: { type: 'string', description: 'Comma-separated list of Spotify track IDs (max 100)' },
187
+ },
188
+ required: ['ids'],
189
+ },
190
+ },
191
+ {
192
+ name: 'get_audio_analysis',
193
+ description: "Get detailed audio analysis for a track: sections, segments, beats, bars, tatums, pitch, timbre, loudness. Useful for music visualization and deep audio processing.",
194
+ inputSchema: {
195
+ type: 'object',
196
+ properties: {
197
+ id: { type: 'string', description: 'Spotify track ID' },
198
+ },
199
+ required: ['id'],
200
+ },
201
+ },
202
+ // ── Albums ──────────────────────────────────────────────────────────────
203
+ {
204
+ name: 'get_album',
205
+ description: 'Get Spotify catalog information for a single album.',
206
+ inputSchema: {
207
+ type: 'object',
208
+ properties: {
209
+ id: { type: 'string', description: 'Spotify album ID' },
210
+ market: { type: 'string', description: 'ISO 3166-1 alpha-2 country code. Optional.' },
211
+ },
212
+ required: ['id'],
213
+ },
214
+ },
215
+ {
216
+ name: 'get_several_albums',
217
+ description: 'Get Spotify catalog information for multiple albums (max 20).',
218
+ inputSchema: {
219
+ type: 'object',
220
+ properties: {
221
+ ids: { type: 'string', description: 'Comma-separated Spotify album IDs (max 20)' },
222
+ market: { type: 'string', description: 'ISO 3166-1 alpha-2 country code. Optional.' },
223
+ },
224
+ required: ['ids'],
225
+ },
226
+ },
227
+ {
228
+ name: 'get_album_tracks',
229
+ description: "Get Spotify catalog information about an album's tracks.",
230
+ inputSchema: {
231
+ type: 'object',
232
+ properties: {
233
+ id: { type: 'string', description: 'Spotify album ID' },
234
+ market: { type: 'string', description: 'ISO 3166-1 alpha-2 country code. Optional.' },
235
+ limit: { type: 'number', description: 'Max number of tracks (1–50, default 20)' },
236
+ offset: { type: 'number', description: 'Pagination offset (default 0)' },
237
+ },
238
+ required: ['id'],
239
+ },
240
+ },
241
+ // ── Artists ─────────────────────────────────────────────────────────────
242
+ {
243
+ name: 'get_artist',
244
+ description: 'Get Spotify catalog information for a single artist.',
245
+ inputSchema: {
246
+ type: 'object',
247
+ properties: {
248
+ id: { type: 'string', description: 'Spotify artist ID' },
249
+ },
250
+ required: ['id'],
251
+ },
252
+ },
253
+ {
254
+ name: 'get_several_artists',
255
+ description: 'Get Spotify catalog information for multiple artists (max 50).',
256
+ inputSchema: {
257
+ type: 'object',
258
+ properties: {
259
+ ids: { type: 'string', description: 'Comma-separated Spotify artist IDs (max 50)' },
260
+ },
261
+ required: ['ids'],
262
+ },
263
+ },
264
+ {
265
+ name: 'get_artist_albums',
266
+ description: "Get Spotify catalog information about an artist's albums.",
267
+ inputSchema: {
268
+ type: 'object',
269
+ properties: {
270
+ id: { type: 'string', description: 'Spotify artist ID' },
271
+ include_groups: { type: 'string', description: 'Comma-separated filter: album, single, appears_on, compilation. Optional.' },
272
+ market: { type: 'string', description: 'ISO 3166-1 alpha-2 country code. Optional.' },
273
+ limit: { type: 'number', description: 'Max results (1–50, default 20)' },
274
+ offset: { type: 'number', description: 'Pagination offset (default 0)' },
275
+ },
276
+ required: ['id'],
277
+ },
278
+ },
279
+ {
280
+ name: 'get_artist_top_tracks',
281
+ description: "Get Spotify catalog information about an artist's top tracks.",
282
+ inputSchema: {
283
+ type: 'object',
284
+ properties: {
285
+ id: { type: 'string', description: 'Spotify artist ID' },
286
+ market: { type: 'string', description: 'ISO 3166-1 alpha-2 country code (e.g. "US"). Optional.' },
287
+ },
288
+ required: ['id'],
289
+ },
290
+ },
291
+ {
292
+ name: 'get_artist_related_artists',
293
+ description: 'Get Spotify catalog information about artists similar to the given artist.',
294
+ inputSchema: {
295
+ type: 'object',
296
+ properties: {
297
+ id: { type: 'string', description: 'Spotify artist ID' },
298
+ },
299
+ required: ['id'],
300
+ },
301
+ },
302
+ // ── Playlists ────────────────────────────────────────────────────────────
303
+ {
304
+ name: 'get_playlist',
305
+ description: 'Get a playlist owned by a Spotify user.',
306
+ inputSchema: {
307
+ type: 'object',
308
+ properties: {
309
+ playlist_id: { type: 'string', description: 'Spotify playlist ID' },
310
+ market: { type: 'string', description: 'ISO 3166-1 alpha-2 country code. Optional.' },
311
+ fields: { type: 'string', description: 'Filters for the query: a comma-separated list of fields to return. Optional.' },
312
+ additional_types: { type: 'string', description: 'Comma-separated list of item types: track, episode. Optional.' },
313
+ },
314
+ required: ['playlist_id'],
315
+ },
316
+ },
317
+ {
318
+ name: 'get_playlist_tracks',
319
+ description: 'Get full details of the tracks or episodes of a playlist.',
320
+ inputSchema: {
321
+ type: 'object',
322
+ properties: {
323
+ playlist_id: { type: 'string', description: 'Spotify playlist ID' },
324
+ market: { type: 'string', description: 'ISO 3166-1 alpha-2 country code. Optional.' },
325
+ fields: { type: 'string', description: 'Comma-separated list of fields to return. Optional.' },
326
+ limit: { type: 'number', description: 'Max results (1–100, default 20)' },
327
+ offset: { type: 'number', description: 'Pagination offset (default 0)' },
328
+ additional_types: { type: 'string', description: 'Comma-separated list of item types: track, episode. Optional.' },
329
+ },
330
+ required: ['playlist_id'],
331
+ },
332
+ },
333
+ {
334
+ name: 'get_playlist_cover',
335
+ description: 'Get the current image associated with a specific playlist.',
336
+ inputSchema: {
337
+ type: 'object',
338
+ properties: {
339
+ playlist_id: { type: 'string', description: 'Spotify playlist ID' },
340
+ },
341
+ required: ['playlist_id'],
342
+ },
343
+ },
344
+ // ── Shows / Podcasts ─────────────────────────────────────────────────────
345
+ {
346
+ name: 'get_show',
347
+ description: 'Get Spotify catalog information for a single show (podcast).',
348
+ inputSchema: {
349
+ type: 'object',
350
+ properties: {
351
+ id: { type: 'string', description: 'Spotify show ID' },
352
+ market: { type: 'string', description: 'ISO 3166-1 alpha-2 country code. Optional.' },
353
+ },
354
+ required: ['id'],
355
+ },
356
+ },
357
+ {
358
+ name: 'get_several_shows',
359
+ description: 'Get Spotify catalog information for multiple shows (podcasts, max 50).',
360
+ inputSchema: {
361
+ type: 'object',
362
+ properties: {
363
+ ids: { type: 'string', description: 'Comma-separated Spotify show IDs (max 50)' },
364
+ market: { type: 'string', description: 'ISO 3166-1 alpha-2 country code. Optional.' },
365
+ },
366
+ required: ['ids'],
367
+ },
368
+ },
369
+ {
370
+ name: 'get_show_episodes',
371
+ description: "Get Spotify catalog information about a show's episodes.",
372
+ inputSchema: {
373
+ type: 'object',
374
+ properties: {
375
+ id: { type: 'string', description: 'Spotify show ID' },
376
+ market: { type: 'string', description: 'ISO 3166-1 alpha-2 country code. Optional.' },
377
+ limit: { type: 'number', description: 'Max results (1–50, default 20)' },
378
+ offset: { type: 'number', description: 'Pagination offset (default 0)' },
379
+ },
380
+ required: ['id'],
381
+ },
382
+ },
383
+ // ── Episodes ─────────────────────────────────────────────────────────────
384
+ {
385
+ name: 'get_episode',
386
+ description: 'Get Spotify catalog information for a single episode.',
387
+ inputSchema: {
388
+ type: 'object',
389
+ properties: {
390
+ id: { type: 'string', description: 'Spotify episode ID' },
391
+ market: { type: 'string', description: 'ISO 3166-1 alpha-2 country code. Optional.' },
392
+ },
393
+ required: ['id'],
394
+ },
395
+ },
396
+ {
397
+ name: 'get_several_episodes',
398
+ description: 'Get Spotify catalog information for multiple episodes (max 50).',
399
+ inputSchema: {
400
+ type: 'object',
401
+ properties: {
402
+ ids: { type: 'string', description: 'Comma-separated Spotify episode IDs (max 50)' },
403
+ market: { type: 'string', description: 'ISO 3166-1 alpha-2 country code. Optional.' },
404
+ },
405
+ required: ['ids'],
406
+ },
407
+ },
408
+ // ── Audiobooks ───────────────────────────────────────────────────────────
409
+ {
410
+ name: 'get_audiobook',
411
+ description: 'Get Spotify catalog information for a single audiobook.',
412
+ inputSchema: {
413
+ type: 'object',
414
+ properties: {
415
+ id: { type: 'string', description: 'Spotify audiobook ID' },
416
+ market: { type: 'string', description: 'ISO 3166-1 alpha-2 country code. Optional.' },
417
+ },
418
+ required: ['id'],
419
+ },
420
+ },
421
+ {
422
+ name: 'get_several_audiobooks',
423
+ description: 'Get Spotify catalog information for multiple audiobooks (max 50).',
424
+ inputSchema: {
425
+ type: 'object',
426
+ properties: {
427
+ ids: { type: 'string', description: 'Comma-separated Spotify audiobook IDs (max 50)' },
428
+ market: { type: 'string', description: 'ISO 3166-1 alpha-2 country code. Optional.' },
429
+ },
430
+ required: ['ids'],
431
+ },
432
+ },
433
+ {
434
+ name: 'get_audiobook_chapters',
435
+ description: 'Get Spotify catalog information about an audiobook\'s chapters.',
436
+ inputSchema: {
437
+ type: 'object',
438
+ properties: {
439
+ id: { type: 'string', description: 'Spotify audiobook ID' },
440
+ market: { type: 'string', description: 'ISO 3166-1 alpha-2 country code. Optional.' },
441
+ limit: { type: 'number', description: 'Max results (1–50, default 20)' },
442
+ offset: { type: 'number', description: 'Pagination offset (default 0)' },
443
+ },
444
+ required: ['id'],
445
+ },
446
+ },
447
+ {
448
+ name: 'get_chapter',
449
+ description: 'Get Spotify catalog information for a single audiobook chapter.',
450
+ inputSchema: {
451
+ type: 'object',
452
+ properties: {
453
+ id: { type: 'string', description: 'Spotify chapter ID' },
454
+ market: { type: 'string', description: 'ISO 3166-1 alpha-2 country code. Optional.' },
455
+ },
456
+ required: ['id'],
457
+ },
458
+ },
459
+ {
460
+ name: 'get_several_chapters',
461
+ description: 'Get Spotify catalog information for multiple audiobook chapters (max 50).',
462
+ inputSchema: {
463
+ type: 'object',
464
+ properties: {
465
+ ids: { type: 'string', description: 'Comma-separated Spotify chapter IDs (max 50)' },
466
+ market: { type: 'string', description: 'ISO 3166-1 alpha-2 country code. Optional.' },
467
+ },
468
+ required: ['ids'],
469
+ },
470
+ },
471
+ // ── Discovery / Browse ───────────────────────────────────────────────────
472
+ {
473
+ name: 'get_recommendations',
474
+ description: 'Get track recommendations based on seed artists, tracks, and genres. Use audio feature parameters (target_energy, target_danceability, etc.) to tune results.',
475
+ inputSchema: {
476
+ type: 'object',
477
+ properties: {
478
+ seed_artists: { type: 'string', description: 'Comma-separated Spotify artist IDs (up to 5 total seeds combined)' },
479
+ seed_tracks: { type: 'string', description: 'Comma-separated Spotify track IDs (up to 5 total seeds combined)' },
480
+ seed_genres: { type: 'string', description: 'Comma-separated genre names from get_recommendation_genres (up to 5 total seeds combined)' },
481
+ limit: { type: 'number', description: 'Number of recommendation tracks (1–100, default 20)' },
482
+ market: { type: 'string', description: 'ISO 3166-1 alpha-2 country code. Optional.' },
483
+ min_acousticness: { type: 'number', description: 'Minimum acousticness (0.0–1.0). Optional.' },
484
+ max_acousticness: { type: 'number', description: 'Maximum acousticness (0.0–1.0). Optional.' },
485
+ target_acousticness: { type: 'number', description: 'Target acousticness (0.0–1.0). Optional.' },
486
+ min_danceability: { type: 'number', description: 'Minimum danceability (0.0–1.0). Optional.' },
487
+ max_danceability: { type: 'number', description: 'Maximum danceability (0.0–1.0). Optional.' },
488
+ target_danceability: { type: 'number', description: 'Target danceability (0.0–1.0). Optional.' },
489
+ min_energy: { type: 'number', description: 'Minimum energy (0.0–1.0). Optional.' },
490
+ max_energy: { type: 'number', description: 'Maximum energy (0.0–1.0). Optional.' },
491
+ target_energy: { type: 'number', description: 'Target energy (0.0–1.0). Optional.' },
492
+ min_tempo: { type: 'number', description: 'Minimum tempo in BPM. Optional.' },
493
+ max_tempo: { type: 'number', description: 'Maximum tempo in BPM. Optional.' },
494
+ target_tempo: { type: 'number', description: 'Target tempo in BPM. Optional.' },
495
+ min_valence: { type: 'number', description: 'Minimum valence / positiveness (0.0–1.0). Optional.' },
496
+ max_valence: { type: 'number', description: 'Maximum valence / positiveness (0.0–1.0). Optional.' },
497
+ target_valence: { type: 'number', description: 'Target valence / positiveness (0.0–1.0). Optional.' },
498
+ min_popularity: { type: 'number', description: 'Minimum popularity score (0–100). Optional.' },
499
+ max_popularity: { type: 'number', description: 'Maximum popularity score (0–100). Optional.' },
500
+ target_popularity: { type: 'number', description: 'Target popularity score (0–100). Optional.' },
501
+ },
502
+ },
503
+ },
504
+ {
505
+ name: 'get_recommendation_genres',
506
+ description: 'Get a list of available genre seeds that can be used with get_recommendations.',
507
+ inputSchema: {
508
+ type: 'object',
509
+ properties: {},
510
+ },
511
+ },
512
+ {
513
+ name: 'get_new_releases',
514
+ description: 'Get a list of new album releases featured in Spotify.',
515
+ inputSchema: {
516
+ type: 'object',
517
+ properties: {
518
+ country: { type: 'string', description: 'ISO 3166-1 alpha-2 country code. Optional.' },
519
+ limit: { type: 'number', description: 'Max results (1–50, default 20)' },
520
+ offset: { type: 'number', description: 'Pagination offset (default 0)' },
521
+ },
522
+ },
523
+ },
524
+ {
525
+ name: 'get_featured_playlists',
526
+ description: "Get a list of Spotify featured playlists (shown on Spotify's browse tab).",
527
+ inputSchema: {
528
+ type: 'object',
529
+ properties: {
530
+ country: { type: 'string', description: 'ISO 3166-1 alpha-2 country code. Optional.' },
531
+ locale: { type: 'string', description: 'Locale for the response language (e.g. "sv_SE"). Optional.' },
532
+ timestamp: { type: 'string', description: 'ISO 8601 datetime string for time-based featured playlists. Optional.' },
533
+ limit: { type: 'number', description: 'Max results (1–50, default 20)' },
534
+ offset: { type: 'number', description: 'Pagination offset (default 0)' },
535
+ },
536
+ },
537
+ },
538
+ {
539
+ name: 'get_categories',
540
+ description: 'Get a list of categories used to tag items in Spotify.',
541
+ inputSchema: {
542
+ type: 'object',
543
+ properties: {
544
+ country: { type: 'string', description: 'ISO 3166-1 alpha-2 country code. Optional.' },
545
+ locale: { type: 'string', description: 'Locale (e.g. "sv_SE"). Optional.' },
546
+ limit: { type: 'number', description: 'Max results (1–50, default 20)' },
547
+ offset: { type: 'number', description: 'Pagination offset (default 0)' },
548
+ },
549
+ },
550
+ },
551
+ {
552
+ name: 'get_category',
553
+ description: 'Get a single category used to tag items in Spotify.',
554
+ inputSchema: {
555
+ type: 'object',
556
+ properties: {
557
+ category_id: { type: 'string', description: 'Spotify category ID (e.g. "party")' },
558
+ country: { type: 'string', description: 'ISO 3166-1 alpha-2 country code. Optional.' },
559
+ locale: { type: 'string', description: 'Locale (e.g. "sv_SE"). Optional.' },
560
+ },
561
+ required: ['category_id'],
562
+ },
563
+ },
564
+ {
565
+ name: 'get_category_playlists',
566
+ description: "Get a list of Spotify playlists tagged with a particular category.",
567
+ inputSchema: {
568
+ type: 'object',
569
+ properties: {
570
+ category_id: { type: 'string', description: 'Spotify category ID (e.g. "party")' },
571
+ country: { type: 'string', description: 'ISO 3166-1 alpha-2 country code. Optional.' },
572
+ limit: { type: 'number', description: 'Max results (1–50, default 20)' },
573
+ offset: { type: 'number', description: 'Pagination offset (default 0)' },
574
+ },
575
+ required: ['category_id'],
576
+ },
577
+ },
578
+ {
579
+ name: 'get_available_markets',
580
+ description: 'Get the list of markets (country codes) where Spotify is available.',
581
+ inputSchema: {
582
+ type: 'object',
583
+ properties: {},
584
+ },
585
+ },
586
+ // ── Users ────────────────────────────────────────────────────────────────
587
+ {
588
+ name: 'get_current_user_profile',
589
+ description: "Get detailed profile information about the current user. Requires user-read-private and user-read-email scopes.",
590
+ inputSchema: {
591
+ type: 'object',
592
+ properties: {},
593
+ },
594
+ },
595
+ {
596
+ name: 'get_user_profile',
597
+ description: "Get public profile information about a Spotify user.",
598
+ inputSchema: {
599
+ type: 'object',
600
+ properties: {
601
+ user_id: { type: 'string', description: 'Spotify user ID' },
602
+ },
603
+ required: ['user_id'],
604
+ },
605
+ },
606
+ {
607
+ name: 'get_current_user_playlists',
608
+ description: "Get a list of the playlists owned or followed by the current Spotify user. Requires playlist-read-private scope.",
609
+ inputSchema: {
610
+ type: 'object',
611
+ properties: {
612
+ limit: { type: 'number', description: 'Max results (1–50, default 20)' },
613
+ offset: { type: 'number', description: 'Pagination offset (default 0)' },
614
+ },
615
+ },
616
+ },
617
+ {
618
+ name: 'get_user_playlists',
619
+ description: "Get a list of the playlists owned or followed by a Spotify user.",
620
+ inputSchema: {
621
+ type: 'object',
622
+ properties: {
623
+ user_id: { type: 'string', description: 'Spotify user ID' },
624
+ limit: { type: 'number', description: 'Max results (1–50, default 20)' },
625
+ offset: { type: 'number', description: 'Pagination offset (default 0)' },
626
+ },
627
+ required: ['user_id'],
628
+ },
629
+ },
630
+ {
631
+ name: 'get_user_top_artists',
632
+ description: "Get the current user's top artists based on affinity. Requires user-top-read scope.",
633
+ inputSchema: {
634
+ type: 'object',
635
+ properties: {
636
+ time_range: { type: 'string', description: 'Time window: short_term (~4 weeks), medium_term (~6 months, default), long_term (several years)' },
637
+ limit: { type: 'number', description: 'Max results (1–50, default 20)' },
638
+ offset: { type: 'number', description: 'Pagination offset (default 0)' },
639
+ },
640
+ },
641
+ },
642
+ {
643
+ name: 'get_user_top_tracks',
644
+ description: "Get the current user's top tracks based on affinity. Requires user-top-read scope.",
645
+ inputSchema: {
646
+ type: 'object',
647
+ properties: {
648
+ time_range: { type: 'string', description: 'Time window: short_term (~4 weeks), medium_term (~6 months, default), long_term (several years)' },
649
+ limit: { type: 'number', description: 'Max results (1–50, default 20)' },
650
+ offset: { type: 'number', description: 'Pagination offset (default 0)' },
651
+ },
652
+ },
653
+ },
654
+ // ── Library: Tracks ──────────────────────────────────────────────────────
655
+ {
656
+ name: 'get_user_saved_tracks',
657
+ description: "Get a list of the songs saved in the current Spotify user's library. Requires user-library-read scope.",
658
+ inputSchema: {
659
+ type: 'object',
660
+ properties: {
661
+ market: { type: 'string', description: 'ISO 3166-1 alpha-2 country code. Optional.' },
662
+ limit: { type: 'number', description: 'Max results (1–50, default 20)' },
663
+ offset: { type: 'number', description: 'Pagination offset (default 0)' },
664
+ },
665
+ },
666
+ },
667
+ {
668
+ name: 'check_user_saved_tracks',
669
+ description: "Check if tracks are saved in the current user's library. Requires user-library-read scope.",
670
+ inputSchema: {
671
+ type: 'object',
672
+ properties: {
673
+ ids: { type: 'string', description: 'Comma-separated Spotify track IDs (max 50)' },
674
+ },
675
+ required: ['ids'],
676
+ },
677
+ },
678
+ {
679
+ name: 'save_tracks',
680
+ description: "Save one or more tracks to the current user's library. Requires user-library-modify scope.",
681
+ inputSchema: {
682
+ type: 'object',
683
+ properties: {
684
+ ids: { type: 'string', description: 'Comma-separated Spotify track IDs (max 50)' },
685
+ },
686
+ required: ['ids'],
687
+ },
688
+ },
689
+ {
690
+ name: 'remove_saved_tracks',
691
+ description: "Remove one or more tracks from the current user's library. Requires user-library-modify scope.",
692
+ inputSchema: {
693
+ type: 'object',
694
+ properties: {
695
+ ids: { type: 'string', description: 'Comma-separated Spotify track IDs (max 50)' },
696
+ },
697
+ required: ['ids'],
698
+ },
699
+ },
700
+ // ── Library: Albums ──────────────────────────────────────────────────────
701
+ {
702
+ name: 'get_user_saved_albums',
703
+ description: "Get a list of albums saved in the current user's library. Requires user-library-read scope.",
704
+ inputSchema: {
705
+ type: 'object',
706
+ properties: {
707
+ market: { type: 'string', description: 'ISO 3166-1 alpha-2 country code. Optional.' },
708
+ limit: { type: 'number', description: 'Max results (1–50, default 20)' },
709
+ offset: { type: 'number', description: 'Pagination offset (default 0)' },
710
+ },
711
+ },
712
+ },
713
+ {
714
+ name: 'check_user_saved_albums',
715
+ description: "Check if albums are saved in the current user's library. Requires user-library-read scope.",
716
+ inputSchema: {
717
+ type: 'object',
718
+ properties: {
719
+ ids: { type: 'string', description: 'Comma-separated Spotify album IDs (max 20)' },
720
+ },
721
+ required: ['ids'],
722
+ },
723
+ },
724
+ {
725
+ name: 'save_albums',
726
+ description: "Save one or more albums to the current user's library. Requires user-library-modify scope.",
727
+ inputSchema: {
728
+ type: 'object',
729
+ properties: {
730
+ ids: { type: 'string', description: 'Comma-separated Spotify album IDs (max 20)' },
731
+ },
732
+ required: ['ids'],
733
+ },
734
+ },
735
+ {
736
+ name: 'remove_saved_albums',
737
+ description: "Remove one or more albums from the current user's library. Requires user-library-modify scope.",
738
+ inputSchema: {
739
+ type: 'object',
740
+ properties: {
741
+ ids: { type: 'string', description: 'Comma-separated Spotify album IDs (max 20)' },
742
+ },
743
+ required: ['ids'],
744
+ },
745
+ },
746
+ // ── Library: Shows ───────────────────────────────────────────────────────
747
+ {
748
+ name: 'get_user_saved_shows',
749
+ description: "Get a list of shows saved in the current user's library. Requires user-library-read scope.",
750
+ inputSchema: {
751
+ type: 'object',
752
+ properties: {
753
+ limit: { type: 'number', description: 'Max results (1–50, default 20)' },
754
+ offset: { type: 'number', description: 'Pagination offset (default 0)' },
755
+ },
756
+ },
757
+ },
758
+ {
759
+ name: 'check_user_saved_shows',
760
+ description: "Check if shows are saved in the current user's library. Requires user-library-read scope.",
761
+ inputSchema: {
762
+ type: 'object',
763
+ properties: {
764
+ ids: { type: 'string', description: 'Comma-separated Spotify show IDs (max 50)' },
765
+ },
766
+ required: ['ids'],
767
+ },
768
+ },
769
+ {
770
+ name: 'save_shows',
771
+ description: "Save one or more shows to the current user's library. Requires user-library-modify scope.",
772
+ inputSchema: {
773
+ type: 'object',
774
+ properties: {
775
+ ids: { type: 'string', description: 'Comma-separated Spotify show IDs (max 50)' },
776
+ },
777
+ required: ['ids'],
778
+ },
779
+ },
780
+ {
781
+ name: 'remove_saved_shows',
782
+ description: "Remove one or more shows from the current user's library. Requires user-library-modify scope.",
783
+ inputSchema: {
784
+ type: 'object',
785
+ properties: {
786
+ ids: { type: 'string', description: 'Comma-separated Spotify show IDs (max 50)' },
787
+ market: { type: 'string', description: 'ISO 3166-1 alpha-2 country code. Optional.' },
788
+ },
789
+ required: ['ids'],
790
+ },
791
+ },
792
+ // ── Library: Episodes ────────────────────────────────────────────────────
793
+ {
794
+ name: 'get_user_saved_episodes',
795
+ description: "Get a list of episodes saved in the current user's library. Requires user-library-read scope.",
796
+ inputSchema: {
797
+ type: 'object',
798
+ properties: {
799
+ market: { type: 'string', description: 'ISO 3166-1 alpha-2 country code. Optional.' },
800
+ limit: { type: 'number', description: 'Max results (1–50, default 20)' },
801
+ offset: { type: 'number', description: 'Pagination offset (default 0)' },
802
+ },
803
+ },
804
+ },
805
+ {
806
+ name: 'check_user_saved_episodes',
807
+ description: "Check if episodes are saved in the current user's library. Requires user-library-read scope.",
808
+ inputSchema: {
809
+ type: 'object',
810
+ properties: {
811
+ ids: { type: 'string', description: 'Comma-separated Spotify episode IDs (max 50)' },
812
+ },
813
+ required: ['ids'],
814
+ },
815
+ },
816
+ {
817
+ name: 'save_episodes',
818
+ description: "Save one or more episodes to the current user's library. Requires user-library-modify scope.",
819
+ inputSchema: {
820
+ type: 'object',
821
+ properties: {
822
+ ids: { type: 'string', description: 'Comma-separated Spotify episode IDs (max 50)' },
823
+ },
824
+ required: ['ids'],
825
+ },
826
+ },
827
+ {
828
+ name: 'remove_saved_episodes',
829
+ description: "Remove one or more episodes from the current user's library. Requires user-library-modify scope.",
830
+ inputSchema: {
831
+ type: 'object',
832
+ properties: {
833
+ ids: { type: 'string', description: 'Comma-separated Spotify episode IDs (max 50)' },
834
+ },
835
+ required: ['ids'],
836
+ },
837
+ },
838
+ // ── Library: Audiobooks ──────────────────────────────────────────────────
839
+ {
840
+ name: 'get_user_saved_audiobooks',
841
+ description: "Get a list of audiobooks saved in the current user's library. Requires user-library-read scope.",
842
+ inputSchema: {
843
+ type: 'object',
844
+ properties: {
845
+ limit: { type: 'number', description: 'Max results (1–50, default 20)' },
846
+ offset: { type: 'number', description: 'Pagination offset (default 0)' },
847
+ },
848
+ },
849
+ },
850
+ {
851
+ name: 'check_user_saved_audiobooks',
852
+ description: "Check if audiobooks are saved in the current user's library. Requires user-library-read scope.",
853
+ inputSchema: {
854
+ type: 'object',
855
+ properties: {
856
+ ids: { type: 'string', description: 'Comma-separated Spotify audiobook IDs (max 50)' },
857
+ },
858
+ required: ['ids'],
859
+ },
860
+ },
861
+ {
862
+ name: 'save_audiobooks',
863
+ description: "Save one or more audiobooks to the current user's library. Requires user-library-modify scope.",
864
+ inputSchema: {
865
+ type: 'object',
866
+ properties: {
867
+ ids: { type: 'string', description: 'Comma-separated Spotify audiobook IDs (max 50)' },
868
+ },
869
+ required: ['ids'],
870
+ },
871
+ },
872
+ {
873
+ name: 'remove_saved_audiobooks',
874
+ description: "Remove one or more audiobooks from the current user's library. Requires user-library-modify scope.",
875
+ inputSchema: {
876
+ type: 'object',
877
+ properties: {
878
+ ids: { type: 'string', description: 'Comma-separated Spotify audiobook IDs (max 50)' },
879
+ },
880
+ required: ['ids'],
881
+ },
882
+ },
883
+ // ── Following ────────────────────────────────────────────────────────────
884
+ {
885
+ name: 'get_followed_artists',
886
+ description: "Get the current user's followed artists. Requires user-follow-read scope.",
887
+ inputSchema: {
888
+ type: 'object',
889
+ properties: {
890
+ type: { type: 'string', description: 'Must be "artist"' },
891
+ after: { type: 'string', description: 'Last artist ID retrieved from previous request (cursor-based pagination). Optional.' },
892
+ limit: { type: 'number', description: 'Max results (1–50, default 20)' },
893
+ },
894
+ required: ['type'],
895
+ },
896
+ },
897
+ {
898
+ name: 'follow_artists_or_users',
899
+ description: "Add the current user as a follower of one or more artists or other Spotify users. Requires user-follow-modify scope.",
900
+ inputSchema: {
901
+ type: 'object',
902
+ properties: {
903
+ type: { type: 'string', description: '"artist" or "user"' },
904
+ ids: { type: 'string', description: 'Comma-separated Spotify IDs (max 50)' },
905
+ },
906
+ required: ['type', 'ids'],
907
+ },
908
+ },
909
+ {
910
+ name: 'unfollow_artists_or_users',
911
+ description: "Remove the current user as a follower of one or more artists or Spotify users. Requires user-follow-modify scope.",
912
+ inputSchema: {
913
+ type: 'object',
914
+ properties: {
915
+ type: { type: 'string', description: '"artist" or "user"' },
916
+ ids: { type: 'string', description: 'Comma-separated Spotify IDs (max 50)' },
917
+ },
918
+ required: ['type', 'ids'],
919
+ },
920
+ },
921
+ {
922
+ name: 'check_user_follows',
923
+ description: "Check to see if the current user is following one or more artists or Spotify users. Requires user-follow-read scope.",
924
+ inputSchema: {
925
+ type: 'object',
926
+ properties: {
927
+ type: { type: 'string', description: '"artist" or "user"' },
928
+ ids: { type: 'string', description: 'Comma-separated Spotify IDs (max 50)' },
929
+ },
930
+ required: ['type', 'ids'],
931
+ },
932
+ },
933
+ {
934
+ name: 'follow_playlist',
935
+ description: "Add the current user as a follower of a playlist. Requires playlist-modify-public or playlist-modify-private scope.",
936
+ inputSchema: {
937
+ type: 'object',
938
+ properties: {
939
+ playlist_id: { type: 'string', description: 'Spotify playlist ID' },
940
+ public: { type: 'boolean', description: 'If true, the playlist will be included in the user\'s public playlists (default true)' },
941
+ },
942
+ required: ['playlist_id'],
943
+ },
944
+ },
945
+ {
946
+ name: 'unfollow_playlist',
947
+ description: "Remove the current user as a follower of a playlist. Requires playlist-modify-public or playlist-modify-private scope.",
948
+ inputSchema: {
949
+ type: 'object',
950
+ properties: {
951
+ playlist_id: { type: 'string', description: 'Spotify playlist ID' },
952
+ },
953
+ required: ['playlist_id'],
954
+ },
955
+ },
956
+ {
957
+ name: 'check_if_users_follow_playlist',
958
+ description: "Check to see if one or more Spotify users are following a specified playlist.",
959
+ inputSchema: {
960
+ type: 'object',
961
+ properties: {
962
+ playlist_id: { type: 'string', description: 'Spotify playlist ID' },
963
+ ids: { type: 'string', description: 'Comma-separated Spotify user IDs (max 5)' },
964
+ },
965
+ required: ['playlist_id', 'ids'],
966
+ },
967
+ },
968
+ // ── Playback ─────────────────────────────────────────────────────────────
969
+ {
970
+ name: 'get_playback_state',
971
+ description: "Get information about the user's current playback state (device, shuffle, repeat, progress, currently playing). Requires user-read-playback-state scope.",
972
+ inputSchema: {
973
+ type: 'object',
974
+ properties: {
975
+ market: { type: 'string', description: 'ISO 3166-1 alpha-2 country code. Optional.' },
976
+ additional_types: { type: 'string', description: 'Comma-separated types: track, episode. Optional.' },
977
+ },
978
+ },
979
+ },
980
+ {
981
+ name: 'get_currently_playing',
982
+ description: "Get the object currently being played on the user's Spotify account. Requires user-read-currently-playing scope.",
983
+ inputSchema: {
984
+ type: 'object',
985
+ properties: {
986
+ market: { type: 'string', description: 'ISO 3166-1 alpha-2 country code. Optional.' },
987
+ additional_types: { type: 'string', description: 'Comma-separated types: track, episode. Optional.' },
988
+ },
989
+ },
990
+ },
991
+ {
992
+ name: 'get_available_devices',
993
+ description: "Get information about the user's available Spotify Connect devices. Requires user-read-playback-state scope.",
994
+ inputSchema: {
995
+ type: 'object',
996
+ properties: {},
997
+ },
998
+ },
999
+ {
1000
+ name: 'get_recently_played',
1001
+ description: "Get tracks from the current user's recently played tracks. Requires user-read-recently-played scope.",
1002
+ inputSchema: {
1003
+ type: 'object',
1004
+ properties: {
1005
+ limit: { type: 'number', description: 'Max results (1–50, default 20)' },
1006
+ after: { type: 'number', description: 'Unix timestamp (ms) — return items after this timestamp. Optional.' },
1007
+ before: { type: 'number', description: 'Unix timestamp (ms) — return items before this timestamp. Optional.' },
1008
+ },
1009
+ },
1010
+ },
1011
+ {
1012
+ name: 'get_user_queue',
1013
+ description: "Get the list of objects that make up the user's queue. Requires user-read-currently-playing and user-read-playback-state scopes.",
1014
+ inputSchema: {
1015
+ type: 'object',
1016
+ properties: {},
1017
+ },
1018
+ },
1019
+ {
1020
+ name: 'start_playback',
1021
+ description: "Start or resume playback on the user's active device. Requires user-modify-playback-state scope and Spotify Premium.",
1022
+ inputSchema: {
1023
+ type: 'object',
1024
+ properties: {
1025
+ device_id: { type: 'string', description: 'Target device ID. If not provided, uses the currently active device. Optional.' },
1026
+ context_uri: { type: 'string', description: 'Spotify URI of context to play (album, artist, playlist, e.g. "spotify:album:1Je1IMUlBXcx1Fz0WE7oPT"). Optional.' },
1027
+ uris: { type: 'string', description: 'Comma-separated Spotify track URIs to play (max 20, e.g. "spotify:track:4iV5W9uYEdYUVa79Axb7Rh"). Optional.' },
1028
+ offset_position: { type: 'number', description: 'Zero-based index of the item in context_uri to start at. Optional.' },
1029
+ offset_uri: { type: 'string', description: 'Spotify URI to start at within context_uri. Optional.' },
1030
+ position_ms: { type: 'number', description: 'Position in ms to start playback at. Optional.' },
1031
+ },
1032
+ },
1033
+ },
1034
+ {
1035
+ name: 'pause_playback',
1036
+ description: "Pause playback on the user's account. Requires user-modify-playback-state scope and Spotify Premium.",
1037
+ inputSchema: {
1038
+ type: 'object',
1039
+ properties: {
1040
+ device_id: { type: 'string', description: 'Target device ID. Optional.' },
1041
+ },
1042
+ },
1043
+ },
1044
+ {
1045
+ name: 'skip_to_next',
1046
+ description: "Skip to the next track in the user's queue. Requires user-modify-playback-state scope and Spotify Premium.",
1047
+ inputSchema: {
1048
+ type: 'object',
1049
+ properties: {
1050
+ device_id: { type: 'string', description: 'Target device ID. Optional.' },
1051
+ },
1052
+ },
1053
+ },
1054
+ {
1055
+ name: 'skip_to_previous',
1056
+ description: "Skip to the previous track in the user's queue. Requires user-modify-playback-state scope and Spotify Premium.",
1057
+ inputSchema: {
1058
+ type: 'object',
1059
+ properties: {
1060
+ device_id: { type: 'string', description: 'Target device ID. Optional.' },
1061
+ },
1062
+ },
1063
+ },
1064
+ {
1065
+ name: 'seek_to_position',
1066
+ description: "Seek to position in the currently playing track. Requires user-modify-playback-state scope and Spotify Premium.",
1067
+ inputSchema: {
1068
+ type: 'object',
1069
+ properties: {
1070
+ position_ms: { type: 'number', description: 'Position in milliseconds to seek to (must be positive)' },
1071
+ device_id: { type: 'string', description: 'Target device ID. Optional.' },
1072
+ },
1073
+ required: ['position_ms'],
1074
+ },
1075
+ },
1076
+ {
1077
+ name: 'set_repeat_mode',
1078
+ description: "Set the repeat mode for the user's playback. Requires user-modify-playback-state scope and Spotify Premium.",
1079
+ inputSchema: {
1080
+ type: 'object',
1081
+ properties: {
1082
+ state: { type: 'string', description: 'Repeat state: "track" (repeat current track), "context" (repeat current context), "off"' },
1083
+ device_id: { type: 'string', description: 'Target device ID. Optional.' },
1084
+ },
1085
+ required: ['state'],
1086
+ },
1087
+ },
1088
+ {
1089
+ name: 'set_volume',
1090
+ description: "Set the volume for the user's current playback device. Requires user-modify-playback-state scope and Spotify Premium.",
1091
+ inputSchema: {
1092
+ type: 'object',
1093
+ properties: {
1094
+ volume_percent: { type: 'number', description: 'Volume level (0–100)' },
1095
+ device_id: { type: 'string', description: 'Target device ID. Optional.' },
1096
+ },
1097
+ required: ['volume_percent'],
1098
+ },
1099
+ },
1100
+ {
1101
+ name: 'toggle_shuffle',
1102
+ description: "Toggle shuffle on or off for the user's playback. Requires user-modify-playback-state scope and Spotify Premium.",
1103
+ inputSchema: {
1104
+ type: 'object',
1105
+ properties: {
1106
+ state: { type: 'boolean', description: 'true to enable shuffle, false to disable' },
1107
+ device_id: { type: 'string', description: 'Target device ID. Optional.' },
1108
+ },
1109
+ required: ['state'],
1110
+ },
1111
+ },
1112
+ {
1113
+ name: 'transfer_playback',
1114
+ description: "Transfer playback to a new device and optionally start playback. Requires user-modify-playback-state scope and Spotify Premium.",
1115
+ inputSchema: {
1116
+ type: 'object',
1117
+ properties: {
1118
+ device_ids: { type: 'string', description: 'Target device ID (only one device supported at a time)' },
1119
+ play: { type: 'boolean', description: 'If true, start playback on the new device. Optional.' },
1120
+ },
1121
+ required: ['device_ids'],
1122
+ },
1123
+ },
1124
+ {
1125
+ name: 'add_to_queue',
1126
+ description: "Add an item to the end of the user's current playback queue. Requires user-modify-playback-state scope and Spotify Premium.",
1127
+ inputSchema: {
1128
+ type: 'object',
1129
+ properties: {
1130
+ uri: { type: 'string', description: 'Spotify URI of the item to add (track or episode, e.g. "spotify:track:4iV5W9uYEdYUVa79Axb7Rh")' },
1131
+ device_id: { type: 'string', description: 'Target device ID. Optional.' },
1132
+ },
1133
+ required: ['uri'],
1134
+ },
1135
+ },
1136
+ // ── Playlist Management ──────────────────────────────────────────────────
1137
+ {
1138
+ name: 'create_playlist',
1139
+ description: "Create a playlist for a Spotify user. Requires playlist-modify-public or playlist-modify-private scope.",
1140
+ inputSchema: {
1141
+ type: 'object',
1142
+ properties: {
1143
+ user_id: { type: 'string', description: "The user's Spotify user ID" },
1144
+ name: { type: 'string', description: 'Name for the new playlist (max 100 chars)' },
1145
+ public: { type: 'boolean', description: 'If true (default), the playlist will be public' },
1146
+ collaborative: { type: 'boolean', description: 'If true, the playlist is collaborative (must also set public=false). Optional.' },
1147
+ description: { type: 'string', description: 'Playlist description as displayed in Spotify clients. Optional.' },
1148
+ },
1149
+ required: ['user_id', 'name'],
1150
+ },
1151
+ },
1152
+ {
1153
+ name: 'change_playlist_details',
1154
+ description: "Change a playlist's name and public/private state. Requires playlist-modify-public or playlist-modify-private scope.",
1155
+ inputSchema: {
1156
+ type: 'object',
1157
+ properties: {
1158
+ playlist_id: { type: 'string', description: 'Spotify playlist ID' },
1159
+ name: { type: 'string', description: 'New name for the playlist. Optional.' },
1160
+ public: { type: 'boolean', description: 'If true, the playlist is public. Optional.' },
1161
+ collaborative: { type: 'boolean', description: 'If true, the playlist is collaborative. Optional.' },
1162
+ description: { type: 'string', description: 'New playlist description. Optional.' },
1163
+ },
1164
+ required: ['playlist_id'],
1165
+ },
1166
+ },
1167
+ {
1168
+ name: 'add_tracks_to_playlist',
1169
+ description: "Add one or more items to a user's playlist. Requires playlist-modify-public or playlist-modify-private scope.",
1170
+ inputSchema: {
1171
+ type: 'object',
1172
+ properties: {
1173
+ playlist_id: { type: 'string', description: 'Spotify playlist ID' },
1174
+ uris: { type: 'string', description: 'Comma-separated Spotify URIs to add (max 100, e.g. "spotify:track:4iV5W9uYEdYUVa79Axb7Rh")' },
1175
+ position: { type: 'number', description: 'Zero-based position to insert items (appends to end if omitted). Optional.' },
1176
+ },
1177
+ required: ['playlist_id', 'uris'],
1178
+ },
1179
+ },
1180
+ {
1181
+ name: 'update_playlist_items',
1182
+ description: "Either reorder or replace items in a playlist. Requires playlist-modify-public or playlist-modify-private scope.",
1183
+ inputSchema: {
1184
+ type: 'object',
1185
+ properties: {
1186
+ playlist_id: { type: 'string', description: 'Spotify playlist ID' },
1187
+ uris: { type: 'string', description: 'Comma-separated Spotify URIs to replace playlist contents. Optional (omit to reorder instead).' },
1188
+ range_start: { type: 'number', description: 'Position of the first item to be reordered. Optional.' },
1189
+ insert_before: { type: 'number', description: 'Position where items should be inserted after reordering. Optional.' },
1190
+ range_length: { type: 'number', description: 'Number of items to be reordered (default 1). Optional.' },
1191
+ snapshot_id: { type: 'string', description: 'Playlist snapshot ID for version control. Optional.' },
1192
+ },
1193
+ required: ['playlist_id'],
1194
+ },
1195
+ },
1196
+ {
1197
+ name: 'remove_playlist_items',
1198
+ description: "Remove one or more items from a user's playlist. Requires playlist-modify-public or playlist-modify-private scope.",
1199
+ inputSchema: {
1200
+ type: 'object',
1201
+ properties: {
1202
+ playlist_id: { type: 'string', description: 'Spotify playlist ID' },
1203
+ uris: { type: 'string', description: 'Comma-separated Spotify URIs to remove' },
1204
+ snapshot_id: { type: 'string', description: 'Playlist snapshot ID for version control. Optional.' },
1205
+ },
1206
+ required: ['playlist_id', 'uris'],
1207
+ },
1208
+ },
1209
+ {
1210
+ name: 'upload_playlist_cover',
1211
+ description: "Replace the image used to represent a playlist. Requires ugc-image-upload and playlist-modify-public/private scope.",
1212
+ inputSchema: {
1213
+ type: 'object',
1214
+ properties: {
1215
+ playlist_id: { type: 'string', description: 'Spotify playlist ID' },
1216
+ image_data: { type: 'string', description: 'Base64-encoded JPEG image data (max 256 KB)' },
1217
+ },
1218
+ required: ['playlist_id', 'image_data'],
1219
+ },
1220
+ },
1221
+ ];
1222
+ }
1223
+ async callTool(name, args) {
1224
+ try {
1225
+ switch (name) {
1226
+ // Search
1227
+ case 'search': return this.search(args);
1228
+ // Tracks
1229
+ case 'get_track': return this.doGet(`/tracks/${args.id}`, this.pick(args, ['market']));
1230
+ case 'get_several_tracks': return this.doGet('/tracks', { ids: args.ids, ...this.pick(args, ['market']) });
1231
+ case 'get_audio_features': return this.doGet(`/audio-features/${args.id}`);
1232
+ case 'get_several_audio_features': return this.doGet('/audio-features', { ids: args.ids });
1233
+ case 'get_audio_analysis': return this.doGet(`/audio-analysis/${args.id}`);
1234
+ // Albums
1235
+ case 'get_album': return this.doGet(`/albums/${args.id}`, this.pick(args, ['market']));
1236
+ case 'get_several_albums': return this.doGet('/albums', { ids: args.ids, ...this.pick(args, ['market']) });
1237
+ case 'get_album_tracks': return this.doGet(`/albums/${args.id}/tracks`, this.pick(args, ['market', 'limit', 'offset']));
1238
+ // Artists
1239
+ case 'get_artist': return this.doGet(`/artists/${args.id}`);
1240
+ case 'get_several_artists': return this.doGet('/artists', { ids: args.ids });
1241
+ case 'get_artist_albums': return this.doGet(`/artists/${args.id}/albums`, this.pick(args, ['include_groups', 'market', 'limit', 'offset']));
1242
+ case 'get_artist_top_tracks': return this.doGet(`/artists/${args.id}/top-tracks`, this.pick(args, ['market']));
1243
+ case 'get_artist_related_artists': return this.doGet(`/artists/${args.id}/related-artists`);
1244
+ // Playlists
1245
+ case 'get_playlist': return this.doGet(`/playlists/${args.playlist_id}`, this.pick(args, ['market', 'fields', 'additional_types']));
1246
+ case 'get_playlist_tracks': return this.doGet(`/playlists/${args.playlist_id}/tracks`, this.pick(args, ['market', 'fields', 'limit', 'offset', 'additional_types']));
1247
+ case 'get_playlist_cover': return this.doGet(`/playlists/${args.playlist_id}/images`);
1248
+ // Shows
1249
+ case 'get_show': return this.doGet(`/shows/${args.id}`, this.pick(args, ['market']));
1250
+ case 'get_several_shows': return this.doGet('/shows', { ids: args.ids, ...this.pick(args, ['market']) });
1251
+ case 'get_show_episodes': return this.doGet(`/shows/${args.id}/episodes`, this.pick(args, ['market', 'limit', 'offset']));
1252
+ // Episodes
1253
+ case 'get_episode': return this.doGet(`/episodes/${args.id}`, this.pick(args, ['market']));
1254
+ case 'get_several_episodes': return this.doGet('/episodes', { ids: args.ids, ...this.pick(args, ['market']) });
1255
+ // Audiobooks
1256
+ case 'get_audiobook': return this.doGet(`/audiobooks/${args.id}`, this.pick(args, ['market']));
1257
+ case 'get_several_audiobooks': return this.doGet('/audiobooks', { ids: args.ids, ...this.pick(args, ['market']) });
1258
+ case 'get_audiobook_chapters': return this.doGet(`/audiobooks/${args.id}/chapters`, this.pick(args, ['market', 'limit', 'offset']));
1259
+ case 'get_chapter': return this.doGet(`/chapters/${args.id}`, this.pick(args, ['market']));
1260
+ case 'get_several_chapters': return this.doGet('/chapters', { ids: args.ids, ...this.pick(args, ['market']) });
1261
+ // Discovery
1262
+ case 'get_recommendations': return this.getRecommendations(args);
1263
+ case 'get_recommendation_genres': return this.doGet('/recommendations/available-genre-seeds');
1264
+ case 'get_new_releases': return this.doGet('/browse/new-releases', this.pick(args, ['country', 'limit', 'offset']));
1265
+ case 'get_featured_playlists': return this.doGet('/browse/featured-playlists', this.pick(args, ['country', 'locale', 'timestamp', 'limit', 'offset']));
1266
+ case 'get_categories': return this.doGet('/browse/categories', this.pick(args, ['country', 'locale', 'limit', 'offset']));
1267
+ case 'get_category': return this.doGet(`/browse/categories/${args.category_id}`, this.pick(args, ['country', 'locale']));
1268
+ case 'get_category_playlists': return this.doGet(`/browse/categories/${args.category_id}/playlists`, this.pick(args, ['country', 'limit', 'offset']));
1269
+ case 'get_available_markets': return this.doGet('/markets');
1270
+ // Users
1271
+ case 'get_current_user_profile': return this.doGet('/me');
1272
+ case 'get_user_profile': return this.doGet(`/users/${args.user_id}`);
1273
+ case 'get_current_user_playlists': return this.doGet('/me/playlists', this.pick(args, ['limit', 'offset']));
1274
+ case 'get_user_playlists': return this.doGet(`/users/${args.user_id}/playlists`, this.pick(args, ['limit', 'offset']));
1275
+ case 'get_user_top_artists': return this.doGet('/me/top/artists', this.pick(args, ['time_range', 'limit', 'offset']));
1276
+ case 'get_user_top_tracks': return this.doGet('/me/top/tracks', this.pick(args, ['time_range', 'limit', 'offset']));
1277
+ // Library: Tracks
1278
+ case 'get_user_saved_tracks': return this.doGet('/me/tracks', this.pick(args, ['market', 'limit', 'offset']));
1279
+ case 'check_user_saved_tracks': return this.doGet('/me/tracks/contains', { ids: args.ids });
1280
+ case 'save_tracks': return this.doPut('/me/tracks', { ids: args.ids });
1281
+ case 'remove_saved_tracks': return this.doDelete('/me/tracks', { ids: args.ids });
1282
+ // Library: Albums
1283
+ case 'get_user_saved_albums': return this.doGet('/me/albums', this.pick(args, ['market', 'limit', 'offset']));
1284
+ case 'check_user_saved_albums': return this.doGet('/me/albums/contains', { ids: args.ids });
1285
+ case 'save_albums': return this.doPut('/me/albums', { ids: args.ids });
1286
+ case 'remove_saved_albums': return this.doDelete('/me/albums', { ids: args.ids });
1287
+ // Library: Shows
1288
+ case 'get_user_saved_shows': return this.doGet('/me/shows', this.pick(args, ['limit', 'offset']));
1289
+ case 'check_user_saved_shows': return this.doGet('/me/shows/contains', { ids: args.ids });
1290
+ case 'save_shows': return this.doPut('/me/shows', { ids: args.ids });
1291
+ case 'remove_saved_shows': return this.doDelete('/me/shows', { ids: args.ids, ...this.pick(args, ['market']) });
1292
+ // Library: Episodes
1293
+ case 'get_user_saved_episodes': return this.doGet('/me/episodes', this.pick(args, ['market', 'limit', 'offset']));
1294
+ case 'check_user_saved_episodes': return this.doGet('/me/episodes/contains', { ids: args.ids });
1295
+ case 'save_episodes': return this.doPut('/me/episodes', { ids: args.ids });
1296
+ case 'remove_saved_episodes': return this.doDelete('/me/episodes', { ids: args.ids });
1297
+ // Library: Audiobooks
1298
+ case 'get_user_saved_audiobooks': return this.doGet('/me/audiobooks', this.pick(args, ['limit', 'offset']));
1299
+ case 'check_user_saved_audiobooks': return this.doGet('/me/audiobooks/contains', { ids: args.ids });
1300
+ case 'save_audiobooks': return this.doPut('/me/audiobooks', { ids: args.ids });
1301
+ case 'remove_saved_audiobooks': return this.doDelete('/me/audiobooks', { ids: args.ids });
1302
+ // Following
1303
+ case 'get_followed_artists': return this.doGet('/me/following', { type: args.type, ...this.pick(args, ['after', 'limit']) });
1304
+ case 'follow_artists_or_users': return this.doPut('/me/following', { type: args.type, ids: args.ids });
1305
+ case 'unfollow_artists_or_users': return this.doDelete('/me/following', { type: args.type, ids: args.ids });
1306
+ case 'check_user_follows': return this.doGet('/me/following/contains', { type: args.type, ids: args.ids });
1307
+ case 'follow_playlist': return this.followPlaylist(args);
1308
+ case 'unfollow_playlist': return this.doDeletePath(`/playlists/${args.playlist_id}/followers`);
1309
+ case 'check_if_users_follow_playlist': return this.doGet(`/playlists/${args.playlist_id}/followers/contains`, { ids: args.ids });
1310
+ // Playback
1311
+ case 'get_playback_state': return this.doGet('/me/player', this.pick(args, ['market', 'additional_types']));
1312
+ case 'get_currently_playing': return this.doGet('/me/player/currently-playing', this.pick(args, ['market', 'additional_types']));
1313
+ case 'get_available_devices': return this.doGet('/me/player/devices');
1314
+ case 'get_recently_played': return this.doGet('/me/player/recently-played', this.pick(args, ['limit', 'after', 'before']));
1315
+ case 'get_user_queue': return this.doGet('/me/player/queue');
1316
+ case 'start_playback': return this.startPlayback(args);
1317
+ case 'pause_playback': return this.doPlayerPut('/me/player/pause', this.pick(args, ['device_id']));
1318
+ case 'skip_to_next': return this.doPlayerPost('/me/player/next', this.pick(args, ['device_id']));
1319
+ case 'skip_to_previous': return this.doPlayerPost('/me/player/previous', this.pick(args, ['device_id']));
1320
+ case 'seek_to_position': return this.doPlayerPut('/me/player/seek', { position_ms: String(args.position_ms), ...this.pick(args, ['device_id']) });
1321
+ case 'set_repeat_mode': return this.doPlayerPut('/me/player/repeat', { state: args.state, ...this.pick(args, ['device_id']) });
1322
+ case 'set_volume': return this.doPlayerPut('/me/player/volume', { volume_percent: String(args.volume_percent), ...this.pick(args, ['device_id']) });
1323
+ case 'toggle_shuffle': return this.doPlayerPut('/me/player/shuffle', { state: String(args.state), ...this.pick(args, ['device_id']) });
1324
+ case 'transfer_playback': return this.transferPlayback(args);
1325
+ case 'add_to_queue': return this.doPlayerPost('/me/player/queue', { uri: args.uri, ...this.pick(args, ['device_id']) });
1326
+ // Playlist management
1327
+ case 'create_playlist': return this.createPlaylist(args);
1328
+ case 'change_playlist_details': return this.changePlaylistDetails(args);
1329
+ case 'add_tracks_to_playlist': return this.addTracksToPlaylist(args);
1330
+ case 'update_playlist_items': return this.updatePlaylistItems(args);
1331
+ case 'remove_playlist_items': return this.removePlaylistItems(args);
1332
+ case 'upload_playlist_cover': return this.uploadPlaylistCover(args);
1333
+ default:
1334
+ return { content: [{ type: 'text', text: `Unknown tool: ${name}` }], isError: true };
1335
+ }
1336
+ }
1337
+ catch (error) {
1338
+ return {
1339
+ content: [{ type: 'text', text: `Tool execution failed: ${error instanceof Error ? error.message : String(error)}` }],
1340
+ isError: true,
1341
+ };
1342
+ }
1343
+ }
1344
+ // ── Helpers ────────────────────────────────────────────────────────────────
1345
+ pick(args, keys) {
1346
+ const out = {};
1347
+ for (const k of keys) {
1348
+ if (args[k] !== undefined && args[k] !== null) {
1349
+ out[k] = String(args[k]);
1350
+ }
1351
+ }
1352
+ return out;
1353
+ }
1354
+ get authHeaders() {
1355
+ return {
1356
+ Authorization: `Bearer ${this.accessToken}`,
1357
+ Accept: 'application/json',
1358
+ };
1359
+ }
1360
+ async doGet(path, params = {}) {
1361
+ const qs = Object.keys(params).length ? '?' + new URLSearchParams(params).toString() : '';
1362
+ const response = await this.fetchWithRetry(`${this.baseUrl}${path}${qs}`, {
1363
+ method: 'GET',
1364
+ headers: this.authHeaders,
1365
+ });
1366
+ if (!response.ok) {
1367
+ const errText = await response.text().catch(() => response.statusText);
1368
+ return { content: [{ type: 'text', text: `Spotify API error ${response.status}: ${errText}` }], isError: true };
1369
+ }
1370
+ // Some endpoints (204 No Content) return empty body
1371
+ if (response.status === 204) {
1372
+ return { content: [{ type: 'text', text: 'Success (no content)' }], isError: false };
1373
+ }
1374
+ const data = await response.json();
1375
+ return { content: [{ type: 'text', text: this.truncate(data) }], isError: false };
1376
+ }
1377
+ async doPut(path, params = {}) {
1378
+ const qs = Object.keys(params).length ? '?' + new URLSearchParams(params).toString() : '';
1379
+ const response = await this.fetchWithRetry(`${this.baseUrl}${path}${qs}`, {
1380
+ method: 'PUT',
1381
+ headers: this.authHeaders,
1382
+ });
1383
+ if (!response.ok) {
1384
+ const errText = await response.text().catch(() => response.statusText);
1385
+ return { content: [{ type: 'text', text: `Spotify API error ${response.status}: ${errText}` }], isError: true };
1386
+ }
1387
+ if (response.status === 200 || response.status === 201) {
1388
+ const data = await response.json().catch(() => ({}));
1389
+ return { content: [{ type: 'text', text: this.truncate(data) }], isError: false };
1390
+ }
1391
+ return { content: [{ type: 'text', text: 'Success' }], isError: false };
1392
+ }
1393
+ async doDelete(path, params = {}) {
1394
+ const qs = Object.keys(params).length ? '?' + new URLSearchParams(params).toString() : '';
1395
+ const response = await this.fetchWithRetry(`${this.baseUrl}${path}${qs}`, {
1396
+ method: 'DELETE',
1397
+ headers: this.authHeaders,
1398
+ });
1399
+ if (!response.ok) {
1400
+ const errText = await response.text().catch(() => response.statusText);
1401
+ return { content: [{ type: 'text', text: `Spotify API error ${response.status}: ${errText}` }], isError: true };
1402
+ }
1403
+ return { content: [{ type: 'text', text: 'Success' }], isError: false };
1404
+ }
1405
+ async doDeletePath(path) {
1406
+ const response = await this.fetchWithRetry(`${this.baseUrl}${path}`, {
1407
+ method: 'DELETE',
1408
+ headers: this.authHeaders,
1409
+ });
1410
+ if (!response.ok) {
1411
+ const errText = await response.text().catch(() => response.statusText);
1412
+ return { content: [{ type: 'text', text: `Spotify API error ${response.status}: ${errText}` }], isError: true };
1413
+ }
1414
+ return { content: [{ type: 'text', text: 'Success' }], isError: false };
1415
+ }
1416
+ async doPost(path, body, params = {}) {
1417
+ const qs = Object.keys(params).length ? '?' + new URLSearchParams(params).toString() : '';
1418
+ const response = await this.fetchWithRetry(`${this.baseUrl}${path}${qs}`, {
1419
+ method: 'POST',
1420
+ headers: { ...this.authHeaders, 'Content-Type': 'application/json' },
1421
+ body: JSON.stringify(body),
1422
+ });
1423
+ if (!response.ok) {
1424
+ const errText = await response.text().catch(() => response.statusText);
1425
+ return { content: [{ type: 'text', text: `Spotify API error ${response.status}: ${errText}` }], isError: true };
1426
+ }
1427
+ if (response.status === 201 || response.status === 200) {
1428
+ const data = await response.json().catch(() => ({}));
1429
+ return { content: [{ type: 'text', text: this.truncate(data) }], isError: false };
1430
+ }
1431
+ return { content: [{ type: 'text', text: 'Success' }], isError: false };
1432
+ }
1433
+ // Player PUT uses query params, not body
1434
+ async doPlayerPut(path, params = {}) {
1435
+ return this.doPut(path, params);
1436
+ }
1437
+ // Player POST uses query params
1438
+ async doPlayerPost(path, params = {}) {
1439
+ const qs = Object.keys(params).length ? '?' + new URLSearchParams(params).toString() : '';
1440
+ const response = await this.fetchWithRetry(`${this.baseUrl}${path}${qs}`, {
1441
+ method: 'POST',
1442
+ headers: this.authHeaders,
1443
+ });
1444
+ if (!response.ok) {
1445
+ const errText = await response.text().catch(() => response.statusText);
1446
+ return { content: [{ type: 'text', text: `Spotify API error ${response.status}: ${errText}` }], isError: true };
1447
+ }
1448
+ return { content: [{ type: 'text', text: 'Success' }], isError: false };
1449
+ }
1450
+ // ── Complex Tool Implementations ───────────────────────────────────────────
1451
+ async search(args) {
1452
+ if (!args.q)
1453
+ return { content: [{ type: 'text', text: 'q is required' }], isError: true };
1454
+ if (!args.type)
1455
+ return { content: [{ type: 'text', text: 'type is required' }], isError: true };
1456
+ const params = { q: args.q, type: args.type };
1457
+ if (args.market)
1458
+ params['market'] = args.market;
1459
+ if (args.limit !== undefined)
1460
+ params['limit'] = String(args.limit);
1461
+ if (args.offset !== undefined)
1462
+ params['offset'] = String(args.offset);
1463
+ if (args.include_external)
1464
+ params['include_external'] = args.include_external;
1465
+ return this.doGet('/search', params);
1466
+ }
1467
+ async getRecommendations(args) {
1468
+ const params = {};
1469
+ const strFields = ['seed_artists', 'seed_tracks', 'seed_genres', 'market'];
1470
+ const numFields = [
1471
+ 'limit', 'min_acousticness', 'max_acousticness', 'target_acousticness',
1472
+ 'min_danceability', 'max_danceability', 'target_danceability',
1473
+ 'min_energy', 'max_energy', 'target_energy',
1474
+ 'min_tempo', 'max_tempo', 'target_tempo',
1475
+ 'min_valence', 'max_valence', 'target_valence',
1476
+ 'min_popularity', 'max_popularity', 'target_popularity',
1477
+ ];
1478
+ for (const f of strFields) {
1479
+ if (args[f])
1480
+ params[f] = args[f];
1481
+ }
1482
+ for (const f of numFields) {
1483
+ if (args[f] !== undefined)
1484
+ params[f] = String(args[f]);
1485
+ }
1486
+ return this.doGet('/recommendations', params);
1487
+ }
1488
+ async followPlaylist(args) {
1489
+ const body = {};
1490
+ if (args.public !== undefined)
1491
+ body['public'] = args.public;
1492
+ const response = await this.fetchWithRetry(`${this.baseUrl}/playlists/${args.playlist_id}/followers`, {
1493
+ method: 'PUT',
1494
+ headers: { ...this.authHeaders, 'Content-Type': 'application/json' },
1495
+ body: JSON.stringify(body),
1496
+ });
1497
+ if (!response.ok) {
1498
+ const errText = await response.text().catch(() => response.statusText);
1499
+ return { content: [{ type: 'text', text: `Spotify API error ${response.status}: ${errText}` }], isError: true };
1500
+ }
1501
+ return { content: [{ type: 'text', text: 'Success' }], isError: false };
1502
+ }
1503
+ async startPlayback(args) {
1504
+ const params = {};
1505
+ if (args.device_id)
1506
+ params['device_id'] = args.device_id;
1507
+ const body = {};
1508
+ if (args.context_uri)
1509
+ body['context_uri'] = args.context_uri;
1510
+ if (args.uris)
1511
+ body['uris'] = args.uris.split(',').map((u) => u.trim());
1512
+ if (args.offset_position !== undefined)
1513
+ body['offset'] = { position: args.offset_position };
1514
+ else if (args.offset_uri)
1515
+ body['offset'] = { uri: args.offset_uri };
1516
+ if (args.position_ms !== undefined)
1517
+ body['position_ms'] = args.position_ms;
1518
+ const qs = Object.keys(params).length ? '?' + new URLSearchParams(params).toString() : '';
1519
+ const response = await this.fetchWithRetry(`${this.baseUrl}/me/player/play${qs}`, {
1520
+ method: 'PUT',
1521
+ headers: { ...this.authHeaders, 'Content-Type': 'application/json' },
1522
+ body: JSON.stringify(body),
1523
+ });
1524
+ if (!response.ok) {
1525
+ const errText = await response.text().catch(() => response.statusText);
1526
+ return { content: [{ type: 'text', text: `Spotify API error ${response.status}: ${errText}` }], isError: true };
1527
+ }
1528
+ return { content: [{ type: 'text', text: 'Playback started' }], isError: false };
1529
+ }
1530
+ async transferPlayback(args) {
1531
+ const body = {
1532
+ device_ids: [args.device_ids],
1533
+ };
1534
+ if (args.play !== undefined)
1535
+ body['play'] = args.play;
1536
+ const response = await this.fetchWithRetry(`${this.baseUrl}/me/player`, {
1537
+ method: 'PUT',
1538
+ headers: { ...this.authHeaders, 'Content-Type': 'application/json' },
1539
+ body: JSON.stringify(body),
1540
+ });
1541
+ if (!response.ok) {
1542
+ const errText = await response.text().catch(() => response.statusText);
1543
+ return { content: [{ type: 'text', text: `Spotify API error ${response.status}: ${errText}` }], isError: true };
1544
+ }
1545
+ return { content: [{ type: 'text', text: 'Playback transferred' }], isError: false };
1546
+ }
1547
+ async createPlaylist(args) {
1548
+ if (!args.user_id)
1549
+ return { content: [{ type: 'text', text: 'user_id is required' }], isError: true };
1550
+ if (!args.name)
1551
+ return { content: [{ type: 'text', text: 'name is required' }], isError: true };
1552
+ const body = { name: args.name };
1553
+ if (args.public !== undefined)
1554
+ body['public'] = args.public;
1555
+ if (args.collaborative !== undefined)
1556
+ body['collaborative'] = args.collaborative;
1557
+ if (args.description)
1558
+ body['description'] = args.description;
1559
+ return this.doPost(`/users/${args.user_id}/playlists`, body);
1560
+ }
1561
+ async changePlaylistDetails(args) {
1562
+ if (!args.playlist_id)
1563
+ return { content: [{ type: 'text', text: 'playlist_id is required' }], isError: true };
1564
+ const body = {};
1565
+ if (args.name)
1566
+ body['name'] = args.name;
1567
+ if (args.public !== undefined)
1568
+ body['public'] = args.public;
1569
+ if (args.collaborative !== undefined)
1570
+ body['collaborative'] = args.collaborative;
1571
+ if (args.description !== undefined)
1572
+ body['description'] = args.description;
1573
+ const response = await this.fetchWithRetry(`${this.baseUrl}/playlists/${args.playlist_id}`, {
1574
+ method: 'PUT',
1575
+ headers: { ...this.authHeaders, 'Content-Type': 'application/json' },
1576
+ body: JSON.stringify(body),
1577
+ });
1578
+ if (!response.ok) {
1579
+ const errText = await response.text().catch(() => response.statusText);
1580
+ return { content: [{ type: 'text', text: `Spotify API error ${response.status}: ${errText}` }], isError: true };
1581
+ }
1582
+ return { content: [{ type: 'text', text: 'Playlist updated' }], isError: false };
1583
+ }
1584
+ async addTracksToPlaylist(args) {
1585
+ if (!args.playlist_id)
1586
+ return { content: [{ type: 'text', text: 'playlist_id is required' }], isError: true };
1587
+ if (!args.uris)
1588
+ return { content: [{ type: 'text', text: 'uris is required' }], isError: true };
1589
+ const body = {
1590
+ uris: args.uris.split(',').map((u) => u.trim()),
1591
+ };
1592
+ if (args.position !== undefined)
1593
+ body['position'] = args.position;
1594
+ return this.doPost(`/playlists/${args.playlist_id}/tracks`, body);
1595
+ }
1596
+ async updatePlaylistItems(args) {
1597
+ if (!args.playlist_id)
1598
+ return { content: [{ type: 'text', text: 'playlist_id is required' }], isError: true };
1599
+ const body = {};
1600
+ if (args.uris)
1601
+ body['uris'] = args.uris.split(',').map((u) => u.trim());
1602
+ if (args.range_start !== undefined)
1603
+ body['range_start'] = args.range_start;
1604
+ if (args.insert_before !== undefined)
1605
+ body['insert_before'] = args.insert_before;
1606
+ if (args.range_length !== undefined)
1607
+ body['range_length'] = args.range_length;
1608
+ if (args.snapshot_id)
1609
+ body['snapshot_id'] = args.snapshot_id;
1610
+ const response = await this.fetchWithRetry(`${this.baseUrl}/playlists/${args.playlist_id}/tracks`, {
1611
+ method: 'PUT',
1612
+ headers: { ...this.authHeaders, 'Content-Type': 'application/json' },
1613
+ body: JSON.stringify(body),
1614
+ });
1615
+ if (!response.ok) {
1616
+ const errText = await response.text().catch(() => response.statusText);
1617
+ return { content: [{ type: 'text', text: `Spotify API error ${response.status}: ${errText}` }], isError: true };
1618
+ }
1619
+ const data = await response.json().catch(() => ({}));
1620
+ return { content: [{ type: 'text', text: this.truncate(data) }], isError: false };
1621
+ }
1622
+ async removePlaylistItems(args) {
1623
+ if (!args.playlist_id)
1624
+ return { content: [{ type: 'text', text: 'playlist_id is required' }], isError: true };
1625
+ if (!args.uris)
1626
+ return { content: [{ type: 'text', text: 'uris is required' }], isError: true };
1627
+ const body = {
1628
+ tracks: args.uris.split(',').map((u) => ({ uri: u.trim() })),
1629
+ };
1630
+ if (args.snapshot_id)
1631
+ body['snapshot_id'] = args.snapshot_id;
1632
+ const response = await this.fetchWithRetry(`${this.baseUrl}/playlists/${args.playlist_id}/tracks`, {
1633
+ method: 'DELETE',
1634
+ headers: { ...this.authHeaders, 'Content-Type': 'application/json' },
1635
+ body: JSON.stringify(body),
1636
+ });
1637
+ if (!response.ok) {
1638
+ const errText = await response.text().catch(() => response.statusText);
1639
+ return { content: [{ type: 'text', text: `Spotify API error ${response.status}: ${errText}` }], isError: true };
1640
+ }
1641
+ const data = await response.json().catch(() => ({}));
1642
+ return { content: [{ type: 'text', text: this.truncate(data) }], isError: false };
1643
+ }
1644
+ async uploadPlaylistCover(args) {
1645
+ if (!args.playlist_id)
1646
+ return { content: [{ type: 'text', text: 'playlist_id is required' }], isError: true };
1647
+ if (!args.image_data)
1648
+ return { content: [{ type: 'text', text: 'image_data is required' }], isError: true };
1649
+ const response = await this.fetchWithRetry(`${this.baseUrl}/playlists/${args.playlist_id}/images`, {
1650
+ method: 'PUT',
1651
+ headers: { ...this.authHeaders, 'Content-Type': 'image/jpeg' },
1652
+ body: args.image_data,
1653
+ });
1654
+ if (!response.ok) {
1655
+ const errText = await response.text().catch(() => response.statusText);
1656
+ return { content: [{ type: 'text', text: `Spotify API error ${response.status}: ${errText}` }], isError: true };
1657
+ }
1658
+ return { content: [{ type: 'text', text: 'Playlist cover uploaded' }], isError: false };
1659
+ }
1660
+ }