universal-mcp-applications 0.1.1__tar.gz

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 universal-mcp-applications might be problematic. Click here for more details.

Files changed (272) hide show
  1. universal_mcp_applications-0.1.1/.gitignore +40 -0
  2. universal_mcp_applications-0.1.1/LICENSE +21 -0
  3. universal_mcp_applications-0.1.1/PKG-INFO +172 -0
  4. universal_mcp_applications-0.1.1/README.md +129 -0
  5. universal_mcp_applications-0.1.1/bump_and_release.sh +97 -0
  6. universal_mcp_applications-0.1.1/pyproject.toml +105 -0
  7. universal_mcp_applications-0.1.1/src/tests/test_applications.py +7 -0
  8. universal_mcp_applications-0.1.1/src/universal_mcp/applications/ahrefs/README.md +51 -0
  9. universal_mcp_applications-0.1.1/src/universal_mcp/applications/ahrefs/__init__.py +1 -0
  10. universal_mcp_applications-0.1.1/src/universal_mcp/applications/ahrefs/app.py +2291 -0
  11. universal_mcp_applications-0.1.1/src/universal_mcp/applications/airtable/README.md +22 -0
  12. universal_mcp_applications-0.1.1/src/universal_mcp/applications/airtable/__init__.py +1 -0
  13. universal_mcp_applications-0.1.1/src/universal_mcp/applications/airtable/app.py +479 -0
  14. universal_mcp_applications-0.1.1/src/universal_mcp/applications/apollo/README.md +44 -0
  15. universal_mcp_applications-0.1.1/src/universal_mcp/applications/apollo/__init__.py +1 -0
  16. universal_mcp_applications-0.1.1/src/universal_mcp/applications/apollo/app.py +1847 -0
  17. universal_mcp_applications-0.1.1/src/universal_mcp/applications/asana/README.md +199 -0
  18. universal_mcp_applications-0.1.1/src/universal_mcp/applications/asana/__init__.py +1 -0
  19. universal_mcp_applications-0.1.1/src/universal_mcp/applications/asana/app.py +9509 -0
  20. universal_mcp_applications-0.1.1/src/universal_mcp/applications/aws-s3/README.md +0 -0
  21. universal_mcp_applications-0.1.1/src/universal_mcp/applications/aws-s3/__init__.py +1 -0
  22. universal_mcp_applications-0.1.1/src/universal_mcp/applications/aws-s3/app.py +552 -0
  23. universal_mcp_applications-0.1.1/src/universal_mcp/applications/bill/README.md +0 -0
  24. universal_mcp_applications-0.1.1/src/universal_mcp/applications/bill/__init__.py +1 -0
  25. universal_mcp_applications-0.1.1/src/universal_mcp/applications/bill/app.py +8705 -0
  26. universal_mcp_applications-0.1.1/src/universal_mcp/applications/box/README.md +307 -0
  27. universal_mcp_applications-0.1.1/src/universal_mcp/applications/box/__init__.py +1 -0
  28. universal_mcp_applications-0.1.1/src/universal_mcp/applications/box/app.py +15987 -0
  29. universal_mcp_applications-0.1.1/src/universal_mcp/applications/braze/README.md +106 -0
  30. universal_mcp_applications-0.1.1/src/universal_mcp/applications/braze/__init__.py +1 -0
  31. universal_mcp_applications-0.1.1/src/universal_mcp/applications/braze/app.py +4754 -0
  32. universal_mcp_applications-0.1.1/src/universal_mcp/applications/cal-com-v2/README.md +150 -0
  33. universal_mcp_applications-0.1.1/src/universal_mcp/applications/cal-com-v2/__init__.py +1 -0
  34. universal_mcp_applications-0.1.1/src/universal_mcp/applications/cal-com-v2/app.py +5541 -0
  35. universal_mcp_applications-0.1.1/src/universal_mcp/applications/calendly/README.md +53 -0
  36. universal_mcp_applications-0.1.1/src/universal_mcp/applications/calendly/__init__.py +1 -0
  37. universal_mcp_applications-0.1.1/src/universal_mcp/applications/calendly/app.py +1436 -0
  38. universal_mcp_applications-0.1.1/src/universal_mcp/applications/canva/README.md +43 -0
  39. universal_mcp_applications-0.1.1/src/universal_mcp/applications/canva/__init__.py +1 -0
  40. universal_mcp_applications-0.1.1/src/universal_mcp/applications/canva/app.py +941 -0
  41. universal_mcp_applications-0.1.1/src/universal_mcp/applications/clickup/README.md +135 -0
  42. universal_mcp_applications-0.1.1/src/universal_mcp/applications/clickup/__init__.py +1 -0
  43. universal_mcp_applications-0.1.1/src/universal_mcp/applications/clickup/app.py +5009 -0
  44. universal_mcp_applications-0.1.1/src/universal_mcp/applications/coda/README.md +108 -0
  45. universal_mcp_applications-0.1.1/src/universal_mcp/applications/coda/__init__.py +1 -0
  46. universal_mcp_applications-0.1.1/src/universal_mcp/applications/coda/app.py +3671 -0
  47. universal_mcp_applications-0.1.1/src/universal_mcp/applications/confluence/README.md +198 -0
  48. universal_mcp_applications-0.1.1/src/universal_mcp/applications/confluence/__init__.py +1 -0
  49. universal_mcp_applications-0.1.1/src/universal_mcp/applications/confluence/app.py +6273 -0
  50. universal_mcp_applications-0.1.1/src/universal_mcp/applications/contentful/README.md +17 -0
  51. universal_mcp_applications-0.1.1/src/universal_mcp/applications/contentful/__init__.py +1 -0
  52. universal_mcp_applications-0.1.1/src/universal_mcp/applications/contentful/app.py +364 -0
  53. universal_mcp_applications-0.1.1/src/universal_mcp/applications/crustdata/README.md +25 -0
  54. universal_mcp_applications-0.1.1/src/universal_mcp/applications/crustdata/__init__.py +1 -0
  55. universal_mcp_applications-0.1.1/src/universal_mcp/applications/crustdata/app.py +586 -0
  56. universal_mcp_applications-0.1.1/src/universal_mcp/applications/dialpad/README.md +202 -0
  57. universal_mcp_applications-0.1.1/src/universal_mcp/applications/dialpad/__init__.py +1 -0
  58. universal_mcp_applications-0.1.1/src/universal_mcp/applications/dialpad/app.py +5949 -0
  59. universal_mcp_applications-0.1.1/src/universal_mcp/applications/digitalocean/README.md +463 -0
  60. universal_mcp_applications-0.1.1/src/universal_mcp/applications/digitalocean/__init__.py +1 -0
  61. universal_mcp_applications-0.1.1/src/universal_mcp/applications/digitalocean/app.py +20835 -0
  62. universal_mcp_applications-0.1.1/src/universal_mcp/applications/domain-checker/README.md +13 -0
  63. universal_mcp_applications-0.1.1/src/universal_mcp/applications/domain-checker/__init__.py +1 -0
  64. universal_mcp_applications-0.1.1/src/universal_mcp/applications/domain-checker/app.py +265 -0
  65. universal_mcp_applications-0.1.1/src/universal_mcp/applications/e2b/README.md +12 -0
  66. universal_mcp_applications-0.1.1/src/universal_mcp/applications/e2b/__init__.py +1 -0
  67. universal_mcp_applications-0.1.1/src/universal_mcp/applications/e2b/app.py +187 -0
  68. universal_mcp_applications-0.1.1/src/universal_mcp/applications/elevenlabs/README.md +88 -0
  69. universal_mcp_applications-0.1.1/src/universal_mcp/applications/elevenlabs/__init__.py +1 -0
  70. universal_mcp_applications-0.1.1/src/universal_mcp/applications/elevenlabs/app.py +3235 -0
  71. universal_mcp_applications-0.1.1/src/universal_mcp/applications/exa/README.md +15 -0
  72. universal_mcp_applications-0.1.1/src/universal_mcp/applications/exa/__init__.py +1 -0
  73. universal_mcp_applications-0.1.1/src/universal_mcp/applications/exa/app.py +221 -0
  74. universal_mcp_applications-0.1.1/src/universal_mcp/applications/falai/README.md +17 -0
  75. universal_mcp_applications-0.1.1/src/universal_mcp/applications/falai/__init__.py +1 -0
  76. universal_mcp_applications-0.1.1/src/universal_mcp/applications/falai/app.py +331 -0
  77. universal_mcp_applications-0.1.1/src/universal_mcp/applications/figma/README.md +49 -0
  78. universal_mcp_applications-0.1.1/src/universal_mcp/applications/figma/__init__.py +1 -0
  79. universal_mcp_applications-0.1.1/src/universal_mcp/applications/figma/app.py +1090 -0
  80. universal_mcp_applications-0.1.1/src/universal_mcp/applications/firecrawl/README.md +20 -0
  81. universal_mcp_applications-0.1.1/src/universal_mcp/applications/firecrawl/__init__.py +1 -0
  82. universal_mcp_applications-0.1.1/src/universal_mcp/applications/firecrawl/app.py +514 -0
  83. universal_mcp_applications-0.1.1/src/universal_mcp/applications/fireflies/README.md +25 -0
  84. universal_mcp_applications-0.1.1/src/universal_mcp/applications/fireflies/__init__.py +1 -0
  85. universal_mcp_applications-0.1.1/src/universal_mcp/applications/fireflies/app.py +506 -0
  86. universal_mcp_applications-0.1.1/src/universal_mcp/applications/fpl/README.md +23 -0
  87. universal_mcp_applications-0.1.1/src/universal_mcp/applications/fpl/__init__.py +1 -0
  88. universal_mcp_applications-0.1.1/src/universal_mcp/applications/fpl/app.py +1327 -0
  89. universal_mcp_applications-0.1.1/src/universal_mcp/applications/fpl/utils/api.py +142 -0
  90. universal_mcp_applications-0.1.1/src/universal_mcp/applications/fpl/utils/fixtures.py +629 -0
  91. universal_mcp_applications-0.1.1/src/universal_mcp/applications/fpl/utils/helper.py +982 -0
  92. universal_mcp_applications-0.1.1/src/universal_mcp/applications/fpl/utils/league_utils.py +546 -0
  93. universal_mcp_applications-0.1.1/src/universal_mcp/applications/fpl/utils/position_utils.py +68 -0
  94. universal_mcp_applications-0.1.1/src/universal_mcp/applications/ghost-content/README.md +25 -0
  95. universal_mcp_applications-0.1.1/src/universal_mcp/applications/ghost-content/__init__.py +1 -0
  96. universal_mcp_applications-0.1.1/src/universal_mcp/applications/ghost-content/app.py +654 -0
  97. universal_mcp_applications-0.1.1/src/universal_mcp/applications/github/README.md +1049 -0
  98. universal_mcp_applications-0.1.1/src/universal_mcp/applications/github/__init__.py +1 -0
  99. universal_mcp_applications-0.1.1/src/universal_mcp/applications/github/app.py +50600 -0
  100. universal_mcp_applications-0.1.1/src/universal_mcp/applications/gong/README.md +63 -0
  101. universal_mcp_applications-0.1.1/src/universal_mcp/applications/gong/__init__.py +1 -0
  102. universal_mcp_applications-0.1.1/src/universal_mcp/applications/gong/app.py +2297 -0
  103. universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-ads/README.md +0 -0
  104. universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-ads/__init__.py +1 -0
  105. universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-ads/app.py +23 -0
  106. universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-calendar/README.md +21 -0
  107. universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-calendar/__init__.py +1 -0
  108. universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-calendar/app.py +574 -0
  109. universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-docs/README.md +25 -0
  110. universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-docs/__init__.py +1 -0
  111. universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-docs/app.py +760 -0
  112. universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-drive/README.md +68 -0
  113. universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-drive/__init__.py +1 -0
  114. universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-drive/app.py +4936 -0
  115. universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-gemini/README.md +25 -0
  116. universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-gemini/__init__.py +1 -0
  117. universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-gemini/app.py +663 -0
  118. universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-mail/README.md +31 -0
  119. universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-mail/__init__.py +1 -0
  120. universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-mail/app.py +1354 -0
  121. universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-searchconsole/README.md +21 -0
  122. universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-searchconsole/__init__.py +1 -0
  123. universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-searchconsole/app.py +320 -0
  124. universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-sheet/README.md +36 -0
  125. universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-sheet/__init__.py +1 -0
  126. universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-sheet/app.py +1941 -0
  127. universal_mcp_applications-0.1.1/src/universal_mcp/applications/hashnode/README.md +20 -0
  128. universal_mcp_applications-0.1.1/src/universal_mcp/applications/hashnode/__init__.py +1 -0
  129. universal_mcp_applications-0.1.1/src/universal_mcp/applications/hashnode/app.py +455 -0
  130. universal_mcp_applications-0.1.1/src/universal_mcp/applications/heygen/README.md +44 -0
  131. universal_mcp_applications-0.1.1/src/universal_mcp/applications/heygen/__init__.py +1 -0
  132. universal_mcp_applications-0.1.1/src/universal_mcp/applications/heygen/app.py +961 -0
  133. universal_mcp_applications-0.1.1/src/universal_mcp/applications/http-tools/README.md +16 -0
  134. universal_mcp_applications-0.1.1/src/universal_mcp/applications/http-tools/__init__.py +1 -0
  135. universal_mcp_applications-0.1.1/src/universal_mcp/applications/http-tools/app.py +153 -0
  136. universal_mcp_applications-0.1.1/src/universal_mcp/applications/hubspot/README.md +239 -0
  137. universal_mcp_applications-0.1.1/src/universal_mcp/applications/hubspot/__init__.py +1 -0
  138. universal_mcp_applications-0.1.1/src/universal_mcp/applications/hubspot/app.py +416 -0
  139. universal_mcp_applications-0.1.1/src/universal_mcp/applications/jira/README.md +600 -0
  140. universal_mcp_applications-0.1.1/src/universal_mcp/applications/jira/__init__.py +1 -0
  141. universal_mcp_applications-0.1.1/src/universal_mcp/applications/jira/app.py +28804 -0
  142. universal_mcp_applications-0.1.1/src/universal_mcp/applications/klaviyo/README.md +313 -0
  143. universal_mcp_applications-0.1.1/src/universal_mcp/applications/klaviyo/__init__.py +1 -0
  144. universal_mcp_applications-0.1.1/src/universal_mcp/applications/klaviyo/app.py +11236 -0
  145. universal_mcp_applications-0.1.1/src/universal_mcp/applications/linkedin/README.md +15 -0
  146. universal_mcp_applications-0.1.1/src/universal_mcp/applications/linkedin/__init__.py +1 -0
  147. universal_mcp_applications-0.1.1/src/universal_mcp/applications/linkedin/app.py +243 -0
  148. universal_mcp_applications-0.1.1/src/universal_mcp/applications/mailchimp/README.md +281 -0
  149. universal_mcp_applications-0.1.1/src/universal_mcp/applications/mailchimp/__init__.py +1 -0
  150. universal_mcp_applications-0.1.1/src/universal_mcp/applications/mailchimp/app.py +10937 -0
  151. universal_mcp_applications-0.1.1/src/universal_mcp/applications/markitdown/README.md +12 -0
  152. universal_mcp_applications-0.1.1/src/universal_mcp/applications/markitdown/__init__.py +1 -0
  153. universal_mcp_applications-0.1.1/src/universal_mcp/applications/markitdown/app.py +63 -0
  154. universal_mcp_applications-0.1.1/src/universal_mcp/applications/miro/README.md +151 -0
  155. universal_mcp_applications-0.1.1/src/universal_mcp/applications/miro/__init__.py +1 -0
  156. universal_mcp_applications-0.1.1/src/universal_mcp/applications/miro/app.py +5429 -0
  157. universal_mcp_applications-0.1.1/src/universal_mcp/applications/ms-teams/README.md +42 -0
  158. universal_mcp_applications-0.1.1/src/universal_mcp/applications/ms-teams/__init__.py +1 -0
  159. universal_mcp_applications-0.1.1/src/universal_mcp/applications/ms-teams/app.py +1823 -0
  160. universal_mcp_applications-0.1.1/src/universal_mcp/applications/neon/README.md +74 -0
  161. universal_mcp_applications-0.1.1/src/universal_mcp/applications/neon/__init__.py +1 -0
  162. universal_mcp_applications-0.1.1/src/universal_mcp/applications/neon/app.py +2018 -0
  163. universal_mcp_applications-0.1.1/src/universal_mcp/applications/notion/README.md +30 -0
  164. universal_mcp_applications-0.1.1/src/universal_mcp/applications/notion/__init__.py +1 -0
  165. universal_mcp_applications-0.1.1/src/universal_mcp/applications/notion/app.py +527 -0
  166. universal_mcp_applications-0.1.1/src/universal_mcp/applications/openai/README.md +22 -0
  167. universal_mcp_applications-0.1.1/src/universal_mcp/applications/openai/__init__.py +1 -0
  168. universal_mcp_applications-0.1.1/src/universal_mcp/applications/openai/app.py +759 -0
  169. universal_mcp_applications-0.1.1/src/universal_mcp/applications/outlook/README.md +20 -0
  170. universal_mcp_applications-0.1.1/src/universal_mcp/applications/outlook/__init__.py +1 -0
  171. universal_mcp_applications-0.1.1/src/universal_mcp/applications/outlook/app.py +444 -0
  172. universal_mcp_applications-0.1.1/src/universal_mcp/applications/perplexity/README.md +12 -0
  173. universal_mcp_applications-0.1.1/src/universal_mcp/applications/perplexity/__init__.py +1 -0
  174. universal_mcp_applications-0.1.1/src/universal_mcp/applications/perplexity/app.py +65 -0
  175. universal_mcp_applications-0.1.1/src/universal_mcp/applications/pipedrive/README.md +284 -0
  176. universal_mcp_applications-0.1.1/src/universal_mcp/applications/pipedrive/__init__.py +1 -0
  177. universal_mcp_applications-0.1.1/src/universal_mcp/applications/pipedrive/app.py +12924 -0
  178. universal_mcp_applications-0.1.1/src/universal_mcp/applications/posthog/README.md +132 -0
  179. universal_mcp_applications-0.1.1/src/universal_mcp/applications/posthog/__init__.py +1 -0
  180. universal_mcp_applications-0.1.1/src/universal_mcp/applications/posthog/app.py +7125 -0
  181. universal_mcp_applications-0.1.1/src/universal_mcp/applications/reddit/README.md +135 -0
  182. universal_mcp_applications-0.1.1/src/universal_mcp/applications/reddit/__init__.py +1 -0
  183. universal_mcp_applications-0.1.1/src/universal_mcp/applications/reddit/app.py +4652 -0
  184. universal_mcp_applications-0.1.1/src/universal_mcp/applications/replicate/README.md +18 -0
  185. universal_mcp_applications-0.1.1/src/universal_mcp/applications/replicate/__init__.py +1 -0
  186. universal_mcp_applications-0.1.1/src/universal_mcp/applications/replicate/app.py +495 -0
  187. universal_mcp_applications-0.1.1/src/universal_mcp/applications/resend/README.md +40 -0
  188. universal_mcp_applications-0.1.1/src/universal_mcp/applications/resend/__init__.py +1 -0
  189. universal_mcp_applications-0.1.1/src/universal_mcp/applications/resend/app.py +881 -0
  190. universal_mcp_applications-0.1.1/src/universal_mcp/applications/retell/README.md +21 -0
  191. universal_mcp_applications-0.1.1/src/universal_mcp/applications/retell/__init__.py +1 -0
  192. universal_mcp_applications-0.1.1/src/universal_mcp/applications/retell/app.py +333 -0
  193. universal_mcp_applications-0.1.1/src/universal_mcp/applications/rocketlane/README.md +70 -0
  194. universal_mcp_applications-0.1.1/src/universal_mcp/applications/rocketlane/__init__.py +1 -0
  195. universal_mcp_applications-0.1.1/src/universal_mcp/applications/rocketlane/app.py +4346 -0
  196. universal_mcp_applications-0.1.1/src/universal_mcp/applications/semanticscholar/README.md +25 -0
  197. universal_mcp_applications-0.1.1/src/universal_mcp/applications/semanticscholar/__init__.py +1 -0
  198. universal_mcp_applications-0.1.1/src/universal_mcp/applications/semanticscholar/app.py +482 -0
  199. universal_mcp_applications-0.1.1/src/universal_mcp/applications/semrush/README.md +44 -0
  200. universal_mcp_applications-0.1.1/src/universal_mcp/applications/semrush/__init__.py +1 -0
  201. universal_mcp_applications-0.1.1/src/universal_mcp/applications/semrush/app.py +2081 -0
  202. universal_mcp_applications-0.1.1/src/universal_mcp/applications/sendgrid/README.md +362 -0
  203. universal_mcp_applications-0.1.1/src/universal_mcp/applications/sendgrid/__init__.py +1 -0
  204. universal_mcp_applications-0.1.1/src/universal_mcp/applications/sendgrid/app.py +9752 -0
  205. universal_mcp_applications-0.1.1/src/universal_mcp/applications/sentry/README.md +186 -0
  206. universal_mcp_applications-0.1.1/src/universal_mcp/applications/sentry/__init__.py +1 -0
  207. universal_mcp_applications-0.1.1/src/universal_mcp/applications/sentry/app.py +7471 -0
  208. universal_mcp_applications-0.1.1/src/universal_mcp/applications/serpapi/README.md +14 -0
  209. universal_mcp_applications-0.1.1/src/universal_mcp/applications/serpapi/__init__.py +1 -0
  210. universal_mcp_applications-0.1.1/src/universal_mcp/applications/serpapi/app.py +293 -0
  211. universal_mcp_applications-0.1.1/src/universal_mcp/applications/sharepoint/README.md +0 -0
  212. universal_mcp_applications-0.1.1/src/universal_mcp/applications/sharepoint/__init__.py +1 -0
  213. universal_mcp_applications-0.1.1/src/universal_mcp/applications/sharepoint/app.py +215 -0
  214. universal_mcp_applications-0.1.1/src/universal_mcp/applications/shopify/README.md +321 -0
  215. universal_mcp_applications-0.1.1/src/universal_mcp/applications/shopify/__init__.py +1 -0
  216. universal_mcp_applications-0.1.1/src/universal_mcp/applications/shopify/app.py +15392 -0
  217. universal_mcp_applications-0.1.1/src/universal_mcp/applications/shortcut/README.md +128 -0
  218. universal_mcp_applications-0.1.1/src/universal_mcp/applications/shortcut/__init__.py +1 -0
  219. universal_mcp_applications-0.1.1/src/universal_mcp/applications/shortcut/app.py +4478 -0
  220. universal_mcp_applications-0.1.1/src/universal_mcp/applications/slack/README.md +0 -0
  221. universal_mcp_applications-0.1.1/src/universal_mcp/applications/slack/__init__.py +1 -0
  222. universal_mcp_applications-0.1.1/src/universal_mcp/applications/slack/app.py +570 -0
  223. universal_mcp_applications-0.1.1/src/universal_mcp/applications/spotify/README.md +91 -0
  224. universal_mcp_applications-0.1.1/src/universal_mcp/applications/spotify/__init__.py +1 -0
  225. universal_mcp_applications-0.1.1/src/universal_mcp/applications/spotify/app.py +2526 -0
  226. universal_mcp_applications-0.1.1/src/universal_mcp/applications/supabase/README.md +87 -0
  227. universal_mcp_applications-0.1.1/src/universal_mcp/applications/supabase/__init__.py +1 -0
  228. universal_mcp_applications-0.1.1/src/universal_mcp/applications/supabase/app.py +2970 -0
  229. universal_mcp_applications-0.1.1/src/universal_mcp/applications/tavily/README.md +12 -0
  230. universal_mcp_applications-0.1.1/src/universal_mcp/applications/tavily/__init__.py +1 -0
  231. universal_mcp_applications-0.1.1/src/universal_mcp/applications/tavily/app.py +51 -0
  232. universal_mcp_applications-0.1.1/src/universal_mcp/applications/trello/README.md +266 -0
  233. universal_mcp_applications-0.1.1/src/universal_mcp/applications/trello/__init__.py +1 -0
  234. universal_mcp_applications-0.1.1/src/universal_mcp/applications/trello/app.py +10875 -0
  235. universal_mcp_applications-0.1.1/src/universal_mcp/applications/twillo/README.md +0 -0
  236. universal_mcp_applications-0.1.1/src/universal_mcp/applications/twillo/__init__.py +1 -0
  237. universal_mcp_applications-0.1.1/src/universal_mcp/applications/twillo/app.py +269 -0
  238. universal_mcp_applications-0.1.1/src/universal_mcp/applications/twitter/README.md +100 -0
  239. universal_mcp_applications-0.1.1/src/universal_mcp/applications/twitter/__init__.py +1 -0
  240. universal_mcp_applications-0.1.1/src/universal_mcp/applications/twitter/api_segments/__init__.py +0 -0
  241. universal_mcp_applications-0.1.1/src/universal_mcp/applications/twitter/api_segments/api_segment_base.py +51 -0
  242. universal_mcp_applications-0.1.1/src/universal_mcp/applications/twitter/api_segments/compliance_api.py +122 -0
  243. universal_mcp_applications-0.1.1/src/universal_mcp/applications/twitter/api_segments/dm_conversations_api.py +255 -0
  244. universal_mcp_applications-0.1.1/src/universal_mcp/applications/twitter/api_segments/dm_events_api.py +140 -0
  245. universal_mcp_applications-0.1.1/src/universal_mcp/applications/twitter/api_segments/likes_api.py +159 -0
  246. universal_mcp_applications-0.1.1/src/universal_mcp/applications/twitter/api_segments/lists_api.py +395 -0
  247. universal_mcp_applications-0.1.1/src/universal_mcp/applications/twitter/api_segments/openapi_json_api.py +34 -0
  248. universal_mcp_applications-0.1.1/src/universal_mcp/applications/twitter/api_segments/spaces_api.py +309 -0
  249. universal_mcp_applications-0.1.1/src/universal_mcp/applications/twitter/api_segments/trends_api.py +40 -0
  250. universal_mcp_applications-0.1.1/src/universal_mcp/applications/twitter/api_segments/tweets_api.py +1403 -0
  251. universal_mcp_applications-0.1.1/src/universal_mcp/applications/twitter/api_segments/usage_api.py +40 -0
  252. universal_mcp_applications-0.1.1/src/universal_mcp/applications/twitter/api_segments/users_api.py +1498 -0
  253. universal_mcp_applications-0.1.1/src/universal_mcp/applications/twitter/app.py +46 -0
  254. universal_mcp_applications-0.1.1/src/universal_mcp/applications/unipile/README.md +28 -0
  255. universal_mcp_applications-0.1.1/src/universal_mcp/applications/unipile/__init__.py +1 -0
  256. universal_mcp_applications-0.1.1/src/universal_mcp/applications/unipile/app.py +829 -0
  257. universal_mcp_applications-0.1.1/src/universal_mcp/applications/whatsapp/README.md +23 -0
  258. universal_mcp_applications-0.1.1/src/universal_mcp/applications/whatsapp/__init__.py +1 -0
  259. universal_mcp_applications-0.1.1/src/universal_mcp/applications/whatsapp/app.py +595 -0
  260. universal_mcp_applications-0.1.1/src/universal_mcp/applications/whatsapp-business/README.md +34 -0
  261. universal_mcp_applications-0.1.1/src/universal_mcp/applications/whatsapp-business/__init__.py +1 -0
  262. universal_mcp_applications-0.1.1/src/universal_mcp/applications/whatsapp-business/app.py +1065 -0
  263. universal_mcp_applications-0.1.1/src/universal_mcp/applications/wrike/README.md +46 -0
  264. universal_mcp_applications-0.1.1/src/universal_mcp/applications/wrike/__init__.py +1 -0
  265. universal_mcp_applications-0.1.1/src/universal_mcp/applications/wrike/app.py +1583 -0
  266. universal_mcp_applications-0.1.1/src/universal_mcp/applications/youtube/README.md +57 -0
  267. universal_mcp_applications-0.1.1/src/universal_mcp/applications/youtube/__init__.py +1 -0
  268. universal_mcp_applications-0.1.1/src/universal_mcp/applications/youtube/app.py +1696 -0
  269. universal_mcp_applications-0.1.1/src/universal_mcp/applications/zenquotes/README.md +12 -0
  270. universal_mcp_applications-0.1.1/src/universal_mcp/applications/zenquotes/__init__.py +1 -0
  271. universal_mcp_applications-0.1.1/src/universal_mcp/applications/zenquotes/app.py +31 -0
  272. universal_mcp_applications-0.1.1/uv.lock +4801 -0
@@ -0,0 +1,40 @@
1
+ # Jinja template: universal_mcp_applications/.gitignore
2
+ # Python-generated files
3
+ __pycache__/
4
+ *.py[oc]
5
+ build/
6
+ dist/
7
+ wheels/
8
+ *.egg-info
9
+
10
+ # Virtual environments
11
+ .venv
12
+
13
+ # Environment variables
14
+ .env
15
+ .env.local
16
+
17
+
18
+ dump/
19
+
20
+
21
+ # SQLite database
22
+ *.db
23
+ *.sqlite
24
+ *.sqlite3
25
+ *.db-shm
26
+ *.db-wal
27
+
28
+
29
+ # Pyright
30
+ .pyright
31
+
32
+ # Ruff
33
+ .ruff_cache
34
+
35
+ # Pytest
36
+ .pytest_cache
37
+
38
+
39
+ # Local config
40
+ local_config.json
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Agentr
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,172 @@
1
+ Metadata-Version: 2.4
2
+ Name: universal-mcp-applications
3
+ Version: 0.1.1
4
+ Summary: A Universal MCP Application: universal_mcp_applications
5
+ Project-URL: Homepage, https://github.com/universal-mcp/applications
6
+ Project-URL: Repository, https://github.com/universal-mcp/applications
7
+ Author-email: Manoj Bajaj <manoj@agentr.dev>
8
+ License: MIT
9
+ License-File: LICENSE
10
+ Classifier: License :: OSI Approved :: MIT License
11
+ Classifier: Operating System :: OS Independent
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.11
14
+ Requires-Python: >=3.11
15
+ Requires-Dist: boto3>=1.38.32
16
+ Requires-Dist: dnspython>=2.4.0
17
+ Requires-Dist: e2b-code-interpreter>=1.2.1
18
+ Requires-Dist: fal-client>=0.5.9
19
+ Requires-Dist: firecrawl-py>=3.0.3
20
+ Requires-Dist: google-search-results>=2.4.2
21
+ Requires-Dist: gql[all]>=3.5.2
22
+ Requires-Dist: httpx-aiohttp>=0.1.8
23
+ Requires-Dist: markitdown[all]>=0.1.1
24
+ Requires-Dist: office365-rest-python-client>=2.6.2
25
+ Requires-Dist: openai>=1.75.0
26
+ Requires-Dist: pyairtable>=3.1.1
27
+ Requires-Dist: pytest-asyncio>=1.1.0
28
+ Requires-Dist: pytest>=8.3.5
29
+ Requires-Dist: pytest>=8.4.1
30
+ Requires-Dist: python-dotenv>=1.0.0
31
+ Requires-Dist: replicate>=1.0.6
32
+ Requires-Dist: requests>=2.31.0
33
+ Requires-Dist: resend>=2.10.0
34
+ Requires-Dist: twilio>=9.8.0
35
+ Requires-Dist: universal-mcp
36
+ Provides-Extra: dev
37
+ Requires-Dist: pre-commit; extra == 'dev'
38
+ Requires-Dist: ruff; extra == 'dev'
39
+ Provides-Extra: test
40
+ Requires-Dist: pytest-cov; extra == 'test'
41
+ Requires-Dist: pytest<9.0.0,>=7.0.0; extra == 'test'
42
+ Description-Content-Type: text/markdown
43
+
44
+ # Universal MCP Applications
45
+
46
+ **A collection of 80+ installable application wrappers for the Universal MCP framework.**
47
+
48
+ This package provides a unified collection of all individual Universal MCP applications. It allows you to install every available tool at once and use them either as Python libraries in your own code.
49
+
50
+ ## Installation
51
+
52
+ It is recommended to use `uv` for faster installation.
53
+
54
+ ```bash
55
+ # Recommended using uv
56
+ uv pip install universal-mcp-applications
57
+
58
+ # Or using standard pip
59
+ pip install universal-mcp-applications
60
+ ```
61
+
62
+ ## Usage
63
+
64
+ The primary way to use the tools in this package is give below :-
65
+
66
+ ### 1. As a Library
67
+
68
+ Each application can be imported and used directly in your Python projects. This is useful for integrating with other scripts or building more complex workflows.
69
+
70
+ **Example:**
71
+
72
+ ```python
73
+ from universal_mcp_applications.falai import FalaiApp
74
+ from universal_mcp.utils import process_output
75
+
76
+ # Instantiate the application
77
+ # You may need to provide credentials via an integration
78
+ app = FalaiApp()
79
+
80
+ # Call a method
81
+ result = app.some_method(param1="value1")
82
+
83
+ # Process and print the output
84
+ process_output(result)
85
+ ```
86
+
87
+ ## Included Applications
88
+
89
+ This package includes the following 82 applications:
90
+
91
+ - `ahrefs`
92
+ - `airtable`
93
+ - `apollo`
94
+ - `asana`
95
+ - `aws-s3`
96
+ - `bill`
97
+ - `box`
98
+ - `braze`
99
+ - `cal-com-v2`
100
+ - `calendly`
101
+ - `canva`
102
+ - `clickup`
103
+ - `coda`
104
+ - `confluence`
105
+ - `contentful`
106
+ - `crustdata`
107
+ - `dialpad`
108
+ - `digitalocean`
109
+ - `domain-checker`
110
+ - `e2b`
111
+ - `elevenlabs`
112
+ - `exa`
113
+ - `falai`
114
+ - `figma`
115
+ - `firecrawl`
116
+ - `fireflies`
117
+ - `fpl`
118
+ - `ghost-content`
119
+ - `github`
120
+ - `gong`
121
+ - `google-ads`
122
+ - `google-calendar`
123
+ - `google-docs`
124
+ - `google-drive`
125
+ - `google-gemini`
126
+ - `google-mail`
127
+ - `google-searchconsole`
128
+ - `google-sheet`
129
+ - `hashnode`
130
+ - `heygen`
131
+ - `http-tools`
132
+ - `hubspot`
133
+ - `jira`
134
+ - `klaviyo`
135
+ - `linkedin`
136
+ - `mailchimp`
137
+ - `markitdown`
138
+ - `miro`
139
+ - `ms-teams`
140
+ - `neon`
141
+ - `notion`
142
+ - `openai`
143
+ - `outlook`
144
+ - `perplexity`
145
+ - `pipedrive`
146
+ - `posthog`
147
+ - `reddit`
148
+ - `replicate`
149
+ - `resend`
150
+ - `retell`
151
+ - `rocketlane`
152
+ - `semanticscholar`
153
+ - `semrush`
154
+ - `sendgrid`
155
+ - `sentry`
156
+ - `serpapi`
157
+ - `sharepoint`
158
+ - `shopify`
159
+ - `shortcut`
160
+ - `slack`
161
+ - `spotify`
162
+ - `supabase`
163
+ - `tavily`
164
+ - `trello`
165
+ - `twillo`
166
+ - `twitter`
167
+ - `unipile`
168
+ - `whatsapp`
169
+ - `whatsapp-business`
170
+ - `wrike`
171
+ - `youtube`
172
+ - `zenquotes`
@@ -0,0 +1,129 @@
1
+ # Universal MCP Applications
2
+
3
+ **A collection of 80+ installable application wrappers for the Universal MCP framework.**
4
+
5
+ This package provides a unified collection of all individual Universal MCP applications. It allows you to install every available tool at once and use them either as Python libraries in your own code.
6
+
7
+ ## Installation
8
+
9
+ It is recommended to use `uv` for faster installation.
10
+
11
+ ```bash
12
+ # Recommended using uv
13
+ uv pip install universal-mcp-applications
14
+
15
+ # Or using standard pip
16
+ pip install universal-mcp-applications
17
+ ```
18
+
19
+ ## Usage
20
+
21
+ The primary way to use the tools in this package is give below :-
22
+
23
+ ### 1. As a Library
24
+
25
+ Each application can be imported and used directly in your Python projects. This is useful for integrating with other scripts or building more complex workflows.
26
+
27
+ **Example:**
28
+
29
+ ```python
30
+ from universal_mcp_applications.falai import FalaiApp
31
+ from universal_mcp.utils import process_output
32
+
33
+ # Instantiate the application
34
+ # You may need to provide credentials via an integration
35
+ app = FalaiApp()
36
+
37
+ # Call a method
38
+ result = app.some_method(param1="value1")
39
+
40
+ # Process and print the output
41
+ process_output(result)
42
+ ```
43
+
44
+ ## Included Applications
45
+
46
+ This package includes the following 82 applications:
47
+
48
+ - `ahrefs`
49
+ - `airtable`
50
+ - `apollo`
51
+ - `asana`
52
+ - `aws-s3`
53
+ - `bill`
54
+ - `box`
55
+ - `braze`
56
+ - `cal-com-v2`
57
+ - `calendly`
58
+ - `canva`
59
+ - `clickup`
60
+ - `coda`
61
+ - `confluence`
62
+ - `contentful`
63
+ - `crustdata`
64
+ - `dialpad`
65
+ - `digitalocean`
66
+ - `domain-checker`
67
+ - `e2b`
68
+ - `elevenlabs`
69
+ - `exa`
70
+ - `falai`
71
+ - `figma`
72
+ - `firecrawl`
73
+ - `fireflies`
74
+ - `fpl`
75
+ - `ghost-content`
76
+ - `github`
77
+ - `gong`
78
+ - `google-ads`
79
+ - `google-calendar`
80
+ - `google-docs`
81
+ - `google-drive`
82
+ - `google-gemini`
83
+ - `google-mail`
84
+ - `google-searchconsole`
85
+ - `google-sheet`
86
+ - `hashnode`
87
+ - `heygen`
88
+ - `http-tools`
89
+ - `hubspot`
90
+ - `jira`
91
+ - `klaviyo`
92
+ - `linkedin`
93
+ - `mailchimp`
94
+ - `markitdown`
95
+ - `miro`
96
+ - `ms-teams`
97
+ - `neon`
98
+ - `notion`
99
+ - `openai`
100
+ - `outlook`
101
+ - `perplexity`
102
+ - `pipedrive`
103
+ - `posthog`
104
+ - `reddit`
105
+ - `replicate`
106
+ - `resend`
107
+ - `retell`
108
+ - `rocketlane`
109
+ - `semanticscholar`
110
+ - `semrush`
111
+ - `sendgrid`
112
+ - `sentry`
113
+ - `serpapi`
114
+ - `sharepoint`
115
+ - `shopify`
116
+ - `shortcut`
117
+ - `slack`
118
+ - `spotify`
119
+ - `supabase`
120
+ - `tavily`
121
+ - `trello`
122
+ - `twillo`
123
+ - `twitter`
124
+ - `unipile`
125
+ - `whatsapp`
126
+ - `whatsapp-business`
127
+ - `wrike`
128
+ - `youtube`
129
+ - `zenquotes`
@@ -0,0 +1,97 @@
1
+ #!/bin/bash
2
+
3
+ set -e
4
+ set -x
5
+
6
+ # Ensure dependencies are installed
7
+ echo "Syncing dependencies..."
8
+ uv sync
9
+
10
+ # Run tests with pytest
11
+ echo "Running tests with pytest..."
12
+ uv run pytest
13
+
14
+ echo "Tests passed!"
15
+
16
+ # Get the current branch name
17
+ BRANCH=$(git branch --show-current)
18
+
19
+ # Read the current version from pyproject.toml
20
+ CURRENT_VERSION=$(grep -E '^version = "[0-9]+\.[0-9]+\.[0-9]+.*"' pyproject.toml | cut -d'"' -f2)
21
+
22
+ # Split version into major, minor, patch
23
+ IFS='.' read -r MAJOR MINOR PATCH <<< "$CURRENT_VERSION"
24
+
25
+ # Remove any rc suffix from PATCH if it exists
26
+ PATCH_NUM=$(echo $PATCH | sed 's/-rc[0-9]*//')
27
+
28
+ if [ "$BRANCH" = "master" ]; then
29
+ # On main branch - bump patch version
30
+ if [[ $PATCH == *"-rc"* ]]; then
31
+ NEW_VERSION="$MAJOR.$MINOR.$PATCH_NUM"
32
+ else
33
+ # Increase patch number by 1
34
+ PATCH_NUM=$((PATCH_NUM + 1))
35
+ NEW_VERSION="$MAJOR.$MINOR.$PATCH_NUM"
36
+ fi
37
+ else
38
+ # On dev branch - bump rc version
39
+ if [[ $PATCH == *"-rc"* ]]; then
40
+ # If already has rc, increment rc number
41
+ RC_NUM=$(echo $PATCH | grep -o 'rc[0-9]*' | sed 's/rc//')
42
+ NEW_VERSION="$MAJOR.$MINOR.$PATCH_NUM-rc$((RC_NUM + 1))"
43
+ else
44
+ echo "No rc suffix found, adding rc1"
45
+ # Increase patch number by 1
46
+ PATCH_NUM=$((PATCH_NUM + 1))
47
+ # Add rc1
48
+ NEW_VERSION="$MAJOR.$MINOR.$PATCH_NUM-rc1"
49
+ fi
50
+ fi
51
+
52
+ # Update version in pyproject.toml
53
+ sed -i '' "s/^version = ".*"/version = \"$NEW_VERSION\"/" pyproject.toml
54
+
55
+ echo "Version bumped from $CURRENT_VERSION to $NEW_VERSION"
56
+
57
+ # Stage the changed file
58
+ git add pyproject.toml
59
+
60
+ # Commit the change
61
+ git commit -m "bump: version $CURRENT_VERSION → $NEW_VERSION"
62
+
63
+ # Create and push tag if on main
64
+ if [ "$BRANCH" = "main" ] || [ "$BRANCH" = "develop" ] || [ "$BRANCH" = "master" ] || [ "$BRANCH" = "dev" ]; then
65
+ git tag -a "v$NEW_VERSION" -m "Release version $NEW_VERSION"
66
+ # Push both the branch and tag in one command
67
+ git push origin $BRANCH "v$NEW_VERSION"
68
+ else
69
+ # Push only the branch if not on main/develop
70
+ git push origin $BRANCH
71
+ fi
72
+
73
+
74
+ # Either release is passed as arg or not
75
+ if [ "$1" = "release" ]; then
76
+ # Execute release steps
77
+ echo "Releasing version $NEW_VERSION..."
78
+ rm -rf dist
79
+ rm -rf build
80
+ rm -rf *.egg-info
81
+ rm -rf .pytest_cache
82
+ rm -rf .ruff_cache
83
+ rm -rf .mypy_cache
84
+ rm -rf .venv
85
+ rm -rf .cache
86
+ rm -rf .DS_Store
87
+ rm -rf .idea
88
+ rm -rf .vscode
89
+
90
+ uv sync && uv build && uv publish
91
+ echo "Release complete!"
92
+ else
93
+ echo "Skipping release steps"
94
+ fi
95
+
96
+
97
+
@@ -0,0 +1,105 @@
1
+ [build-system]
2
+ requires = [
3
+ "hatchling",
4
+ ]
5
+ build-backend = "hatchling.build"
6
+
7
+ [project]
8
+ name = "universal-mcp-applications"
9
+ version = "0.1.1"
10
+ description = "A Universal MCP Application: universal_mcp_applications"
11
+ readme = "README.md"
12
+ requires-python = ">=3.11"
13
+ authors = [
14
+ { name = "Manoj Bajaj", email = "manoj@agentr.dev" },
15
+ ]
16
+ classifiers = [
17
+ "Programming Language :: Python :: 3",
18
+ "Programming Language :: Python :: 3.11",
19
+ "License :: OSI Approved :: MIT License",
20
+ "Operating System :: OS Independent",
21
+ ]
22
+ dependencies = [
23
+ "boto3>=1.38.32",
24
+ "dnspython>=2.4.0",
25
+ "e2b-code-interpreter>=1.2.1",
26
+ "fal-client>=0.5.9",
27
+ "firecrawl-py>=3.0.3",
28
+ "google-search-results>=2.4.2",
29
+ "gql[all]>=3.5.2",
30
+ "httpx-aiohttp>=0.1.8",
31
+ "markitdown[all]>=0.1.1",
32
+ "office365-rest-python-client>=2.6.2",
33
+ "openai>=1.75.0",
34
+ "pyairtable>=3.1.1",
35
+ "pytest-asyncio>=1.1.0",
36
+ "pytest>=8.3.5",
37
+ "pytest>=8.4.1",
38
+ "python-dotenv>=1.0.0",
39
+ "replicate>=1.0.6",
40
+ "requests>=2.31.0",
41
+ "resend>=2.10.0",
42
+ "twilio>=9.8.0",
43
+ "universal-mcp",
44
+ ]
45
+
46
+ [project.license]
47
+ text = "MIT"
48
+
49
+ [project.optional-dependencies]
50
+ test = [
51
+ "pytest>=7.0.0,<9.0.0",
52
+ "pytest-cov",
53
+ ]
54
+ dev = [
55
+ "ruff",
56
+ "pre-commit",
57
+ ]
58
+
59
+ [project.urls]
60
+ Homepage = "https://github.com/universal-mcp/applications"
61
+ Repository = "https://github.com/universal-mcp/applications"
62
+
63
+ [tool.hatch.envs.default]
64
+ dependencies = [
65
+ "pytest",
66
+ "pytest-cov",
67
+ ]
68
+
69
+ [tool.hatch.envs.default.scripts]
70
+ test = "pytest {args:tests}"
71
+ test-cov = "pytest --cov-report term-missing --cov-config=pyproject.toml --cov=src/universal_mcp --cov=tests {args:tests}"
72
+ lint = "ruff check . && ruff format --check ."
73
+ format = "ruff format ."
74
+
75
+
76
+ [tool.hatch.build.targets.wheel]
77
+ packages = [
78
+ "src/universal_mcp",
79
+ ]
80
+
81
+ [tool.coverage.run]
82
+ source = [
83
+ "src",
84
+ ]
85
+ branch = true
86
+
87
+ [tool.coverage.report]
88
+ show_missing = true
89
+ fail_under = 70
90
+
91
+ [tool.ruff]
92
+ line-length = 88
93
+ select = [
94
+ "E", "W", "F", "I", "UP", "PL", "T20",
95
+ ]
96
+ ignore = []
97
+
98
+
99
+ [tool.ruff.format]
100
+ quote-style = "double"
101
+
102
+ [tool.pytest.ini_options]
103
+ pythonpath = [
104
+ "src",
105
+ ]
@@ -0,0 +1,7 @@
1
+ from universal_mcp.applications.zenquotes import ZenquotesApp
2
+
3
+ def test_zenquotes():
4
+ app = ZenquotesApp()
5
+ quote = app.get_quote()
6
+ assert quote is not None
7
+ assert quote != ""
@@ -0,0 +1,51 @@
1
+ # Ahrefs MCP Server
2
+
3
+ An MCP Server for the Ahrefs API.
4
+
5
+ ## 🛠️ Tool List
6
+
7
+ This is automatically generated from OpenAPI schema for the Ahrefs API.
8
+
9
+
10
+ | Tool | Description |
11
+ |------|-------------|
12
+ | `crawler_ips` | Retrieve the list of public crawler IP addresses from the API. |
13
+ | `crawler_ip_ranges` | Fetches the current public crawler IP ranges from the API, optionally specifying output format. |
14
+ | `limits_and_usage` | Retrieves current API subscription limits and usage statistics from the service. |
15
+ | `batch_analysis` | Submits a batch analysis request with specified parameters and returns the analysis results as a dictionary. |
16
+ | `serp_overview` | Retrieves a SERP (Search Engine Results Page) overview report based on specified selection, country, and keyword criteria. |
17
+ | `overview` | Retrieves rank tracking overview data for a specified project, date, and device. |
18
+ | `competitors_overview` | Retrieves an overview of competitor rankings for a specified project and criteria. |
19
+ | `projects` | Retrieves a list of site audit projects from the configured base URL, optionally specifying an output format. |
20
+ | `domain_rating` | Fetches the domain rating and related metrics for a specified target and date. |
21
+ | `backlinks_stats` | Retrieves backlink statistics for a specified target and date, with optional filters for protocol, mode, and output format. |
22
+ | `outlinks_stats` | Retrieves outbound link statistics for the specified target from the site explorer API. |
23
+ | `metrics` | Retrieves metrics data from the site explorer API endpoint. |
24
+ | `refdomains_history` | Retrieves the historical data of reference domains from a specified site. |
25
+ | `domain_rating_history` | Retrieves historical domain rating data for a specified target within a given date range. |
26
+ | `url_rating_history` | Retrieves URL rating history data for a specified target within a date range. |
27
+ | `pages_history` | Retrieves historical page data for a target using specified filters. |
28
+ | `metrics_history` | Retrieves historical metrics based on specified parameters. |
29
+ | `keywords_history` | Fetches the historical keyword rankings and performance data for a specified target within an optional date range and set of filters. |
30
+ | `metrics_by_country` | Fetches site metrics grouped by country for a specified target and date. |
31
+ | `pages_by_traffic` | Retrieves a list of top pages for a specified target domain or URL, ranked by estimated organic search traffic. |
32
+ | `all_backlinks` | Retrieves all backlinks information for a specified target using various query parameters. |
33
+ | `broken_backlinks` | Fetches broken backlink data for the specified target from the site explorer API endpoint. |
34
+ | `refdomains` | Retrieves referring domains data for a specified target using the Site Explorer API endpoint. |
35
+ | `anchors` | Fetches anchor text distribution data for a specified target using given query parameters. |
36
+ | `linkeddomains` | Retrieves linked domains for a specified target using the site explorer API endpoint. |
37
+ | `linked_anchors_external` | Fetch linked external anchor data for a specified target using provided selection and filtering criteria. |
38
+ | `linked_anchors_internal` | Fetches internal linked anchor data for a specified target from the site explorer API, applying optional filtering and query parameters. |
39
+ | `organic_keywords` | Retrieve organic keyword data for a specified target and date from the Site Explorer API endpoint. |
40
+ | `organic_competitors` | Retrieves organic competitors data for a specified target using the Site Explorer API. |
41
+ | `top_pages` | Retrieves top pages data for a specified target and date from the site explorer API with customizable query parameters. |
42
+ | `paid_pages` | Fetches paid pages data from the Site Explorer API based on specified filters. |
43
+ | `best_by_external_links` | Fetches data about the best-performing pages of a target site based on external links, with various filtering and output options. |
44
+ | `best_by_internal_links` | Retrieves the best-performing internal links for a specified target using the site explorer API endpoint. |
45
+ | `total_search_volume_history` | Fetches the total historical search volume data for a specified target within a given date range and optional filters. |
46
+ | `keyword_explorer_overview` | Retrieves an overview of keyword metrics and data from the keywords explorer API endpoint based on the specified filters and parameters. |
47
+ | `volume_history` | Fetches the historical search volume for a given keyword in a specified country. |
48
+ | `volume_by_country` | Retrieves search volume by country for a given keyword. |
49
+ | `matching_terms` | Retrieves matching keyword terms from the keywords explorer API based on specified filters and search parameters. |
50
+ | `related_terms` | Retrieves related keyword terms for a given selection and country, with optional filtering and pagination. |
51
+ | `search_suggestions` | Fetches keyword search suggestions from the keywords explorer API based on the provided filtering and query parameters. |
@@ -0,0 +1 @@
1
+ from .app import AhrefsApp