universal-mcp-applications 0.1.1__tar.gz → 0.1.3__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.
Files changed (284) hide show
  1. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/PKG-INFO +4 -2
  2. universal_mcp_applications-0.1.3/examples/children_story_builder.py +146 -0
  3. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/pyproject.toml +4 -2
  4. universal_mcp_applications-0.1.3/src/tests/test_applications.py +96 -0
  5. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/airtable/app.py +1 -0
  6. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/apollo/app.py +1 -0
  7. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/aws-s3 → universal_mcp_applications-0.1.3/src/universal_mcp/applications/aws_s3}/app.py +4 -5
  8. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/bill/app.py +3 -3
  9. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/box/app.py +2 -6
  10. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/braze/app.py +2 -6
  11. universal_mcp_applications-0.1.3/src/universal_mcp/applications/cal_com_v2/__init__.py +1 -0
  12. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/cal-com-v2 → universal_mcp_applications-0.1.3/src/universal_mcp/applications/cal_com_v2}/app.py +138 -182
  13. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/clickup/app.py +2 -2
  14. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/confluence/app.py +1 -0
  15. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/contentful/app.py +8 -19
  16. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/digitalocean/app.py +9 -27
  17. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/domain-checker → universal_mcp_applications-0.1.3/src/universal_mcp/applications/domain_checker}/app.py +2 -1
  18. universal_mcp_applications-0.1.3/src/universal_mcp/applications/elevenlabs/app.py +145 -0
  19. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/falai/app.py +1 -0
  20. universal_mcp_applications-0.1.3/src/universal_mcp/applications/file_system/__init__.py +1 -0
  21. universal_mcp_applications-0.1.3/src/universal_mcp/applications/file_system/app.py +96 -0
  22. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/fireflies/app.py +4 -3
  23. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/fpl/app.py +1 -0
  24. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/fpl/utils/fixtures.py +1 -1
  25. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/fpl/utils/helper.py +1 -1
  26. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/fpl/utils/position_utils.py +0 -1
  27. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/ghost-content → universal_mcp_applications-0.1.3/src/universal_mcp/applications/ghost_content}/app.py +2 -1
  28. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/github/app.py +4 -3
  29. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-calendar → universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_calendar}/app.py +2 -1
  30. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-docs → universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_docs}/app.py +1 -1
  31. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-drive → universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_drive}/app.py +2 -1
  32. universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_gemini/app.py +183 -0
  33. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-mail → universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_mail}/app.py +2 -1
  34. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-searchconsole → universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_searchconsole}/app.py +1 -1
  35. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-sheet → universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_sheet}/app.py +3 -2
  36. universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_sheet/helper.py +385 -0
  37. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/hashnode/app.py +2 -1
  38. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/http-tools → universal_mcp_applications-0.1.3/src/universal_mcp/applications/http_tools}/app.py +2 -1
  39. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/hubspot/app.py +16 -2
  40. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/jira/app.py +7 -18
  41. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/markitdown/app.py +2 -3
  42. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/ms-teams → universal_mcp_applications-0.1.3/src/universal_mcp/applications/ms_teams}/app.py +1 -1
  43. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/openai/app.py +2 -3
  44. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/outlook/app.py +1 -3
  45. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/pipedrive/app.py +2 -6
  46. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/reddit/app.py +1 -0
  47. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/resend/app.py +1 -2
  48. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/rocketlane/app.py +1 -0
  49. universal_mcp_applications-0.1.3/src/universal_mcp/applications/semrush/app.py +1092 -0
  50. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/sentry/README.md +20 -20
  51. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/sentry/app.py +40 -40
  52. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/sharepoint/app.py +2 -1
  53. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/shopify/app.py +1 -0
  54. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/slack/app.py +3 -3
  55. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/trello/app.py +9 -27
  56. universal_mcp_applications-0.1.3/src/universal_mcp/applications/twilio/__init__.py +1 -0
  57. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/twillo → universal_mcp_applications-0.1.3/src/universal_mcp/applications/twilio}/app.py +2 -2
  58. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/README.md +1 -1
  59. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/api_segments/dm_conversations_api.py +2 -2
  60. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/api_segments/lists_api.py +1 -1
  61. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/unipile/app.py +5 -1
  62. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/whatsapp/app.py +18 -17
  63. universal_mcp_applications-0.1.3/src/universal_mcp/applications/whatsapp/audio.py +110 -0
  64. universal_mcp_applications-0.1.3/src/universal_mcp/applications/whatsapp/whatsapp.py +398 -0
  65. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/whatsapp-business → universal_mcp_applications-0.1.3/src/universal_mcp/applications/whatsapp_business}/app.py +1 -1
  66. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/youtube/app.py +195 -191
  67. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/zenquotes/app.py +1 -1
  68. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/uv.lock +27 -5
  69. universal_mcp_applications-0.1.1/src/tests/test_applications.py +0 -7
  70. universal_mcp_applications-0.1.1/src/universal_mcp/applications/cal-com-v2/__init__.py +0 -1
  71. universal_mcp_applications-0.1.1/src/universal_mcp/applications/elevenlabs/app.py +0 -3235
  72. universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-ads/__init__.py +0 -1
  73. universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-ads/app.py +0 -23
  74. universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-gemini/app.py +0 -663
  75. universal_mcp_applications-0.1.1/src/universal_mcp/applications/semrush/app.py +0 -2081
  76. universal_mcp_applications-0.1.1/src/universal_mcp/applications/twillo/README.md +0 -0
  77. universal_mcp_applications-0.1.1/src/universal_mcp/applications/twillo/__init__.py +0 -1
  78. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/.gitignore +0 -0
  79. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/LICENSE +0 -0
  80. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/README.md +0 -0
  81. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/bump_and_release.sh +0 -0
  82. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/ahrefs/README.md +0 -0
  83. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/ahrefs/__init__.py +0 -0
  84. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/ahrefs/app.py +0 -0
  85. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/airtable/README.md +0 -0
  86. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/airtable/__init__.py +0 -0
  87. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/apollo/README.md +0 -0
  88. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/apollo/__init__.py +0 -0
  89. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/asana/README.md +0 -0
  90. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/asana/__init__.py +0 -0
  91. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/asana/app.py +0 -0
  92. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/aws-s3 → universal_mcp_applications-0.1.3/src/universal_mcp/applications/aws_s3}/README.md +0 -0
  93. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/aws-s3 → universal_mcp_applications-0.1.3/src/universal_mcp/applications/aws_s3}/__init__.py +0 -0
  94. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/bill/README.md +0 -0
  95. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/bill/__init__.py +0 -0
  96. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/box/README.md +0 -0
  97. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/box/__init__.py +0 -0
  98. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/braze/README.md +0 -0
  99. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/braze/__init__.py +0 -0
  100. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/cal-com-v2 → universal_mcp_applications-0.1.3/src/universal_mcp/applications/cal_com_v2}/README.md +0 -0
  101. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/calendly/README.md +0 -0
  102. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/calendly/__init__.py +0 -0
  103. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/calendly/app.py +0 -0
  104. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/canva/README.md +0 -0
  105. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/canva/__init__.py +0 -0
  106. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/canva/app.py +0 -0
  107. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/clickup/README.md +0 -0
  108. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/clickup/__init__.py +0 -0
  109. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/coda/README.md +0 -0
  110. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/coda/__init__.py +0 -0
  111. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/coda/app.py +0 -0
  112. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/confluence/README.md +0 -0
  113. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/confluence/__init__.py +0 -0
  114. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/contentful/README.md +0 -0
  115. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/contentful/__init__.py +0 -0
  116. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/crustdata/README.md +0 -0
  117. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/crustdata/__init__.py +0 -0
  118. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/crustdata/app.py +0 -0
  119. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/dialpad/README.md +0 -0
  120. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/dialpad/__init__.py +0 -0
  121. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/dialpad/app.py +0 -0
  122. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/digitalocean/README.md +0 -0
  123. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/digitalocean/__init__.py +0 -0
  124. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/domain-checker → universal_mcp_applications-0.1.3/src/universal_mcp/applications/domain_checker}/README.md +0 -0
  125. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/domain-checker → universal_mcp_applications-0.1.3/src/universal_mcp/applications/domain_checker}/__init__.py +0 -0
  126. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/e2b/README.md +0 -0
  127. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/e2b/__init__.py +0 -0
  128. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/e2b/app.py +0 -0
  129. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/elevenlabs/README.md +0 -0
  130. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/elevenlabs/__init__.py +0 -0
  131. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/exa/README.md +0 -0
  132. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/exa/__init__.py +0 -0
  133. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/exa/app.py +0 -0
  134. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/falai/README.md +0 -0
  135. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/falai/__init__.py +0 -0
  136. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/figma/README.md +0 -0
  137. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/figma/__init__.py +0 -0
  138. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/figma/app.py +0 -0
  139. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/firecrawl/README.md +0 -0
  140. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/firecrawl/__init__.py +0 -0
  141. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/firecrawl/app.py +0 -0
  142. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/fireflies/README.md +0 -0
  143. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/fireflies/__init__.py +0 -0
  144. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/fpl/README.md +0 -0
  145. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/fpl/__init__.py +0 -0
  146. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/fpl/utils/api.py +0 -0
  147. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/fpl/utils/league_utils.py +0 -0
  148. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/ghost-content → universal_mcp_applications-0.1.3/src/universal_mcp/applications/ghost_content}/README.md +0 -0
  149. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/ghost-content → universal_mcp_applications-0.1.3/src/universal_mcp/applications/ghost_content}/__init__.py +0 -0
  150. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/github/README.md +0 -0
  151. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/github/__init__.py +0 -0
  152. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/gong/README.md +0 -0
  153. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/gong/__init__.py +0 -0
  154. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/gong/app.py +0 -0
  155. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-calendar → universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_calendar}/README.md +0 -0
  156. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-calendar → universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_calendar}/__init__.py +0 -0
  157. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-docs → universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_docs}/README.md +0 -0
  158. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-docs → universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_docs}/__init__.py +0 -0
  159. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-drive → universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_drive}/README.md +0 -0
  160. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-drive → universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_drive}/__init__.py +0 -0
  161. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-gemini → universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_gemini}/README.md +0 -0
  162. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-gemini → universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_gemini}/__init__.py +0 -0
  163. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-mail → universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_mail}/README.md +0 -0
  164. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-mail → universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_mail}/__init__.py +0 -0
  165. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-searchconsole → universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_searchconsole}/README.md +0 -0
  166. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-searchconsole → universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_searchconsole}/__init__.py +0 -0
  167. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-sheet → universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_sheet}/README.md +0 -0
  168. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-sheet → universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_sheet}/__init__.py +0 -0
  169. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/hashnode/README.md +0 -0
  170. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/hashnode/__init__.py +0 -0
  171. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/heygen/README.md +0 -0
  172. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/heygen/__init__.py +0 -0
  173. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/heygen/app.py +0 -0
  174. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/http-tools → universal_mcp_applications-0.1.3/src/universal_mcp/applications/http_tools}/README.md +0 -0
  175. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/http-tools → universal_mcp_applications-0.1.3/src/universal_mcp/applications/http_tools}/__init__.py +0 -0
  176. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/hubspot/README.md +0 -0
  177. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/hubspot/__init__.py +0 -0
  178. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/jira/README.md +0 -0
  179. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/jira/__init__.py +0 -0
  180. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/klaviyo/README.md +0 -0
  181. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/klaviyo/__init__.py +0 -0
  182. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/klaviyo/app.py +0 -0
  183. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/linkedin/README.md +0 -0
  184. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/linkedin/__init__.py +0 -0
  185. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/linkedin/app.py +0 -0
  186. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/mailchimp/README.md +0 -0
  187. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/mailchimp/__init__.py +0 -0
  188. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/mailchimp/app.py +0 -0
  189. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/markitdown/README.md +0 -0
  190. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/markitdown/__init__.py +0 -0
  191. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/miro/README.md +0 -0
  192. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/miro/__init__.py +0 -0
  193. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/miro/app.py +0 -0
  194. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/ms-teams → universal_mcp_applications-0.1.3/src/universal_mcp/applications/ms_teams}/README.md +0 -0
  195. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/ms-teams → universal_mcp_applications-0.1.3/src/universal_mcp/applications/ms_teams}/__init__.py +0 -0
  196. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/neon/README.md +0 -0
  197. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/neon/__init__.py +0 -0
  198. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/neon/app.py +0 -0
  199. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/notion/README.md +0 -0
  200. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/notion/__init__.py +0 -0
  201. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/notion/app.py +0 -0
  202. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/openai/README.md +0 -0
  203. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/openai/__init__.py +0 -0
  204. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/outlook/README.md +0 -0
  205. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/outlook/__init__.py +0 -0
  206. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/perplexity/README.md +0 -0
  207. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/perplexity/__init__.py +0 -0
  208. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/perplexity/app.py +0 -0
  209. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/pipedrive/README.md +0 -0
  210. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/pipedrive/__init__.py +0 -0
  211. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/posthog/README.md +0 -0
  212. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/posthog/__init__.py +0 -0
  213. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/posthog/app.py +0 -0
  214. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/reddit/README.md +0 -0
  215. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/reddit/__init__.py +0 -0
  216. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/replicate/README.md +0 -0
  217. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/replicate/__init__.py +0 -0
  218. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/replicate/app.py +3 -3
  219. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/resend/README.md +0 -0
  220. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/resend/__init__.py +0 -0
  221. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/retell/README.md +0 -0
  222. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/retell/__init__.py +0 -0
  223. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/retell/app.py +0 -0
  224. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/rocketlane/README.md +0 -0
  225. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/rocketlane/__init__.py +0 -0
  226. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/semanticscholar/README.md +0 -0
  227. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/semanticscholar/__init__.py +0 -0
  228. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/semanticscholar/app.py +0 -0
  229. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/semrush/README.md +0 -0
  230. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/semrush/__init__.py +0 -0
  231. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/sendgrid/README.md +0 -0
  232. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/sendgrid/__init__.py +0 -0
  233. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/sendgrid/app.py +0 -0
  234. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/sentry/__init__.py +0 -0
  235. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/serpapi/README.md +0 -0
  236. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/serpapi/__init__.py +0 -0
  237. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/serpapi/app.py +2 -2
  238. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-ads → universal_mcp_applications-0.1.3/src/universal_mcp/applications/sharepoint}/README.md +0 -0
  239. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/sharepoint/__init__.py +0 -0
  240. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/shopify/README.md +0 -0
  241. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/shopify/__init__.py +0 -0
  242. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/shortcut/README.md +0 -0
  243. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/shortcut/__init__.py +0 -0
  244. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/shortcut/app.py +0 -0
  245. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/sharepoint → universal_mcp_applications-0.1.3/src/universal_mcp/applications/slack}/README.md +0 -0
  246. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/slack/__init__.py +0 -0
  247. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/spotify/README.md +0 -0
  248. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/spotify/__init__.py +0 -0
  249. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/spotify/app.py +0 -0
  250. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/supabase/README.md +0 -0
  251. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/supabase/__init__.py +0 -0
  252. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/supabase/app.py +0 -0
  253. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/tavily/README.md +0 -0
  254. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/tavily/__init__.py +0 -0
  255. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/tavily/app.py +0 -0
  256. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/trello/README.md +0 -0
  257. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/trello/__init__.py +0 -0
  258. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/slack → universal_mcp_applications-0.1.3/src/universal_mcp/applications/twilio}/README.md +0 -0
  259. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/__init__.py +0 -0
  260. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/api_segments/__init__.py +0 -0
  261. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/api_segments/api_segment_base.py +0 -0
  262. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/api_segments/compliance_api.py +0 -0
  263. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/api_segments/dm_events_api.py +0 -0
  264. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/api_segments/likes_api.py +0 -0
  265. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/api_segments/openapi_json_api.py +0 -0
  266. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/api_segments/spaces_api.py +0 -0
  267. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/api_segments/trends_api.py +0 -0
  268. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/api_segments/tweets_api.py +0 -0
  269. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/api_segments/usage_api.py +0 -0
  270. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/api_segments/users_api.py +0 -0
  271. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/app.py +0 -0
  272. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/unipile/README.md +0 -0
  273. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/unipile/__init__.py +0 -0
  274. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/whatsapp/README.md +0 -0
  275. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/whatsapp/__init__.py +0 -0
  276. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/whatsapp-business → universal_mcp_applications-0.1.3/src/universal_mcp/applications/whatsapp_business}/README.md +0 -0
  277. {universal_mcp_applications-0.1.1/src/universal_mcp/applications/whatsapp-business → universal_mcp_applications-0.1.3/src/universal_mcp/applications/whatsapp_business}/__init__.py +0 -0
  278. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/wrike/README.md +0 -0
  279. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/wrike/__init__.py +0 -0
  280. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/wrike/app.py +0 -0
  281. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/youtube/README.md +0 -0
  282. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/youtube/__init__.py +0 -0
  283. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/zenquotes/README.md +0 -0
  284. {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/zenquotes/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: universal-mcp-applications
3
- Version: 0.1.1
3
+ Version: 0.1.3
4
4
  Summary: A Universal MCP Application: universal_mcp_applications
5
5
  Project-URL: Homepage, https://github.com/universal-mcp/applications
6
6
  Project-URL: Repository, https://github.com/universal-mcp/applications
@@ -15,8 +15,10 @@ Requires-Python: >=3.11
15
15
  Requires-Dist: boto3>=1.38.32
16
16
  Requires-Dist: dnspython>=2.4.0
17
17
  Requires-Dist: e2b-code-interpreter>=1.2.1
18
+ Requires-Dist: elevenlabs>=2.14.0
18
19
  Requires-Dist: fal-client>=0.5.9
19
20
  Requires-Dist: firecrawl-py>=3.0.3
21
+ Requires-Dist: google-genai>=1.33.0
20
22
  Requires-Dist: google-search-results>=2.4.2
21
23
  Requires-Dist: gql[all]>=3.5.2
22
24
  Requires-Dist: httpx-aiohttp>=0.1.8
@@ -32,7 +34,7 @@ Requires-Dist: replicate>=1.0.6
32
34
  Requires-Dist: requests>=2.31.0
33
35
  Requires-Dist: resend>=2.10.0
34
36
  Requires-Dist: twilio>=9.8.0
35
- Requires-Dist: universal-mcp
37
+ Requires-Dist: universal-mcp>=0.1.24rc17
36
38
  Provides-Extra: dev
37
39
  Requires-Dist: pre-commit; extra == 'dev'
38
40
  Requires-Dist: ruff; extra == 'dev'
@@ -0,0 +1,146 @@
1
+ import asyncio
2
+
3
+ from langgraph.checkpoint.memory import MemorySaver
4
+
5
+ from universal_mcp.agentr.registry import AgentrRegistry
6
+ from universal_mcp.agents import ReactAgent
7
+
8
+ SYSTEM_PROMPT = """
9
+ You are an world renowned storyteller. You write stories for children. You will be given a task to write a story and its anciallary functions. You will need to follow the steps below to complete the task.
10
+ Always use easy to understand language and simple words. The stories are meant for children.
11
+
12
+ IMPORTANT:
13
+ - Do not ask for user confirmation in between, in case of confusion make assumptions and move one.
14
+ - For file paths, use the /tmp directory.
15
+
16
+ """
17
+
18
+
19
+ async def main():
20
+ registry = AgentrRegistry()
21
+ tools = {
22
+ # "reddit": ["r_subreddit_top", "get_subreddit_posts"],
23
+ "google_gemini": ["generate_image", "generate_audio"],
24
+ "file_system": ["write_file"],
25
+ }
26
+ checkpointer = MemorySaver()
27
+ agent = ReactAgent(
28
+ name="My Agent",
29
+ instructions=SYSTEM_PROMPT,
30
+ registry=registry,
31
+ tools=tools,
32
+ model="azure/gpt-5-chat",
33
+ memory=checkpointer,
34
+ )
35
+ tasks = [
36
+ """Task 1: Story Creation
37
+ Write a captivating children's fairy tale story about a brave princess who rescues a prince from a dragon.
38
+
39
+ Requirements:
40
+ - Target audience: Children aged 4-8 years
41
+ - Use simple, age-appropriate vocabulary and sentence structure
42
+ - Create 6-8 distinct scenes that flow logically from beginning to end
43
+ - Include classic fairy tale elements: setting, characters, conflict, and resolution
44
+ - Make the princess the hero of the story, showcasing courage and problem-solving
45
+ - Ensure the story has a positive, uplifting message
46
+ - Each scene should be 2-3 sentences long for easy comprehension
47
+ - Include dialogue to make the story engaging
48
+
49
+ Structure each scene with:
50
+ - Scene number and descriptive title
51
+ - Brief narrative text
52
+ - Clear progression toward the rescue and happy ending""",
53
+ """Task 2: Image Generation
54
+ Generate high-quality images for each scene of the fairy tale story you just created.
55
+
56
+ Requirements:
57
+ - Create one image per scene (6-8 images total)
58
+ - Style: Animated webtoon comic style with bright, cheerful colors
59
+ - Include all main characters: princess, prince, and dragon in relevant scenes
60
+ - Ensure visual consistency across all images (same character designs, art style)
61
+ - Make images child-friendly and non-frightening
62
+ - Include relevant background settings for each scene
63
+ - Each image should clearly represent the key moment or action of its corresponding scene
64
+
65
+ For each image prompt, include:
66
+ - Scene description and key visual elements
67
+ - Character descriptions and positions
68
+ - Setting and background details
69
+ - Mood and atmosphere
70
+ - Specific mention of "webtoon comic style, animated, colorful, child-friendly"
71
+
72
+ To ensure consisteny pass the previous image path as reference to next image generation.
73
+ Generate all the scenes one by one.
74
+ Verify that all scenes have corresponding images before proceeding.""",
75
+ """Task 3: Story Narration Writing
76
+ Transform the fairy tale story into an engaging audio narration script suitable for children.
77
+
78
+ Requirements:
79
+ - Write in a warm, friendly storytelling voice
80
+ - Use varied sentence rhythms and pacing for audio delivery
81
+ - Include natural pauses and emphasis points
82
+ - Add descriptive language that paints vivid mental pictures
83
+ - Use sound words and onomatopoeia where appropriate (whoosh, roar, etc.)
84
+ - Create emotional engagement through tone and word choice
85
+ - Ensure smooth transitions between scenes
86
+ - Keep language simple but expressive
87
+ - Add narrative cues that work well when spoken aloud
88
+ - Total narration should be 3-5 minutes when read aloud
89
+
90
+ Format the narration with:
91
+ - Clear scene breaks
92
+ - Emphasis markers for important moments
93
+ - Natural breathing points
94
+ - Engaging opening and satisfying conclusion""",
95
+ """Task 4: Audio Generation
96
+ Generate high-quality audio narration of the complete fairy tale story.
97
+
98
+ Requirements:
99
+ - Use the narration script from Task 3
100
+ - Select a warm, friendly voice suitable for children's stories
101
+ - Ensure clear pronunciation and appropriate pacing
102
+ - Use natural storytelling rhythm with appropriate pauses
103
+ - Maintain consistent volume and tone throughout
104
+ - Generate as a single audio file containing the complete story
105
+ - Save the audio in a web-compatible format (WAV or MP3)
106
+ - Ensure the audio duration matches the 3-5 minute target length
107
+
108
+ Voice characteristics:
109
+ - Gender-neutral or female voice preferred
110
+ - Warm, nurturing tone
111
+ - Clear articulation
112
+ - Moderate speaking pace suitable for children
113
+ - Expressive delivery that brings the story to life""",
114
+ """Task 5: Markdown Story Compilation
115
+ Create a comprehensive markdown file that combines all story elements into a beautiful, complete presentation.
116
+
117
+ Requirements:
118
+ - Create a well-structured markdown document with proper formatting
119
+ - Include an engaging title for the fairy tale
120
+ - Organize content with clear headings and sections
121
+ - Embed all generated images in their corresponding scenes
122
+ - Include the audio narration file with proper markdown audio player syntax
123
+ - Use proper markdown syntax for images: ![Alt text](image_path)
124
+ - Use proper markdown syntax for audio: 🎧 [Listen to the Story](audio_path)
125
+ - Add scene dividers and visual breaks for readability
126
+ - Include a table of contents if helpful
127
+ - Ensure all file paths are correct and accessible
128
+ - Add any necessary alt text for accessibility
129
+
130
+ Structure:
131
+ - Title and introduction
132
+ - Scene-by-scene presentation with embedded images
133
+ - Audio narration section
134
+ - Optional: Character descriptions or story themes
135
+
136
+ Save the final markdown file with an appropriate filename like '/tmp/fairy_tale_story.md'
137
+ Verify all embedded media files are properly linked and accessible.""",
138
+ ]
139
+
140
+ for task in tasks:
141
+ result = await agent.invoke(task)
142
+ print(result["messages"][-1].content)
143
+
144
+
145
+ if __name__ == "__main__":
146
+ asyncio.run(main())
@@ -6,7 +6,7 @@ build-backend = "hatchling.build"
6
6
 
7
7
  [project]
8
8
  name = "universal-mcp-applications"
9
- version = "0.1.1"
9
+ version = "0.1.3"
10
10
  description = "A Universal MCP Application: universal_mcp_applications"
11
11
  readme = "README.md"
12
12
  requires-python = ">=3.11"
@@ -23,8 +23,10 @@ dependencies = [
23
23
  "boto3>=1.38.32",
24
24
  "dnspython>=2.4.0",
25
25
  "e2b-code-interpreter>=1.2.1",
26
+ "elevenlabs>=2.14.0",
26
27
  "fal-client>=0.5.9",
27
28
  "firecrawl-py>=3.0.3",
29
+ "google-genai>=1.33.0",
28
30
  "google-search-results>=2.4.2",
29
31
  "gql[all]>=3.5.2",
30
32
  "httpx-aiohttp>=0.1.8",
@@ -40,7 +42,7 @@ dependencies = [
40
42
  "requests>=2.31.0",
41
43
  "resend>=2.10.0",
42
44
  "twilio>=9.8.0",
43
- "universal-mcp",
45
+ "universal-mcp >= 0.1.24rc17",
44
46
  ]
45
47
 
46
48
  [project.license]
@@ -0,0 +1,96 @@
1
+ import pytest
2
+
3
+ from universal_mcp.applications.utils import app_from_slug
4
+ from universal_mcp.utils.testing import check_application_instance
5
+
6
+ ALL_APPS = [
7
+ "ahrefs",
8
+ "airtable",
9
+ "aws_s3",
10
+ "apollo",
11
+ "asana",
12
+ "bill",
13
+ "box",
14
+ "braze",
15
+ # "cal_com_v2",
16
+ "confluence",
17
+ "calendly",
18
+ "canva",
19
+ "clickup",
20
+ "coda",
21
+ "contentful",
22
+ "crustdata",
23
+ "dialpad",
24
+ "digitalocean",
25
+ "domain_checker",
26
+ "e2b",
27
+ "elevenlabs",
28
+ "exa",
29
+ "falai",
30
+ "figma",
31
+ "file_system",
32
+ "firecrawl",
33
+ "fireflies",
34
+ "fpl",
35
+ "ghost_content",
36
+ "github",
37
+ "gong",
38
+ "google_calendar",
39
+ "google_docs",
40
+ "google_drive",
41
+ "google_gemini",
42
+ "google_mail",
43
+ "google_searchconsole",
44
+ "google_sheet",
45
+ "hashnode",
46
+ "heygen",
47
+ "http_tools",
48
+ "hubspot",
49
+ "jira",
50
+ "klaviyo",
51
+ "linkedin",
52
+ "mailchimp",
53
+ "markitdown",
54
+ "miro",
55
+ "ms_teams",
56
+ "neon",
57
+ "notion",
58
+ "openai",
59
+ "outlook",
60
+ "perplexity",
61
+ "pipedrive",
62
+ "posthog",
63
+ "reddit",
64
+ "replicate",
65
+ "resend",
66
+ "retell",
67
+ "rocketlane",
68
+ "semanticscholar",
69
+ "semrush",
70
+ "sendgrid",
71
+ "sentry",
72
+ "serpapi",
73
+ "sharepoint",
74
+ "shopify",
75
+ "shortcut",
76
+ "slack",
77
+ "spotify",
78
+ "supabase",
79
+ "tavily",
80
+ "trello",
81
+ "twilio",
82
+ "twitter",
83
+ "unipile",
84
+ "whatsapp",
85
+ "whatsapp_business",
86
+ "wrike",
87
+ "youtube",
88
+ "zenquotes",
89
+ ]
90
+
91
+
92
+ @pytest.mark.parametrize("app_name", ALL_APPS)
93
+ def test_application(app_name):
94
+ app_class = app_from_slug(app_name)
95
+ app_instance = app_class(integration=None)
96
+ check_application_instance(app_instance, app_name)
@@ -14,6 +14,7 @@ from pyairtable.api.types import (
14
14
  WritableFields,
15
15
  )
16
16
  from pyairtable.formulas import Formula, to_formula_str
17
+
17
18
  from universal_mcp.applications.application import APIApplication
18
19
  from universal_mcp.integrations import Integration
19
20
 
@@ -1,6 +1,7 @@
1
1
  from typing import Any
2
2
 
3
3
  from loguru import logger
4
+
4
5
  from universal_mcp.applications.application import APIApplication
5
6
  from universal_mcp.integrations import Integration
6
7
 
@@ -4,7 +4,8 @@ from typing import Any
4
4
 
5
5
  import boto3
6
6
  from botocore.exceptions import ClientError
7
- from universal_mcp.applications import BaseApplication
7
+
8
+ from universal_mcp.applications.application import BaseApplication
8
9
  from universal_mcp.integrations import Integration
9
10
 
10
11
 
@@ -22,7 +23,7 @@ class AwsS3App(BaseApplication):
22
23
  aws_secret_access_key (str, optional): AWS secret access key.
23
24
  region_name (str, optional): AWS region name.
24
25
  """
25
- super().__init__(name="aws-s3", integration=integration, **kwargs)
26
+ super().__init__(name="aws_s3", integration=integration, **kwargs)
26
27
  self._client = client
27
28
  self.integration = integration
28
29
 
@@ -135,9 +136,7 @@ class AwsS3App(BaseApplication):
135
136
  except ClientError:
136
137
  return False
137
138
 
138
- def list_prefixes(
139
- self, bucket_name: str, prefix: str | None = None
140
- ) -> list[str]:
139
+ def list_prefixes(self, bucket_name: str, prefix: str | None = None) -> list[str]:
141
140
  """
142
141
  Lists common prefixes ("folders") in the specified S3 bucket and prefix.
143
142
 
@@ -244,7 +244,7 @@ class BillApp(APIApplication):
244
244
  HTTPStatusError: Raised when the API request fails with detailed error information including status code and response body.
245
245
 
246
246
  Tags:
247
- bills
247
+ bills, , important
248
248
  """
249
249
  url = f"{self.base_url}/v3/bills"
250
250
  query_params = {
@@ -356,7 +356,7 @@ class BillApp(APIApplication):
356
356
  HTTPStatusError: Raised when the API request fails with detailed error information including status code and response body.
357
357
 
358
358
  Tags:
359
- bills
359
+ bills, important
360
360
  """
361
361
  if billId is None:
362
362
  raise ValueError("Missing required parameter 'billId'.")
@@ -2927,7 +2927,7 @@ class BillApp(APIApplication):
2927
2927
  HTTPStatusError: Raised when the API request fails with detailed error information including status code and response body.
2928
2928
 
2929
2929
  Tags:
2930
- customers
2930
+ customers, important
2931
2931
  """
2932
2932
  if customerId is None:
2933
2933
  raise ValueError("Missing required parameter 'customerId'.")
@@ -3155,9 +3155,7 @@ class BoxApp(APIApplication):
3155
3155
  except ValueError:
3156
3156
  return None
3157
3157
 
3158
- def delete_folders_id(
3159
- self, folder_id: str, recursive: bool | None = None
3160
- ) -> Any:
3158
+ def delete_folders_id(self, folder_id: str, recursive: bool | None = None) -> Any:
3161
3159
  """
3162
3160
  Delete folder
3163
3161
 
@@ -11630,9 +11628,7 @@ class BoxApp(APIApplication):
11630
11628
  except ValueError:
11631
11629
  return None
11632
11630
 
11633
- def create_shield_barriers(
11634
- self, enterprise: Any | None = None
11635
- ) -> dict[str, Any]:
11631
+ def create_shield_barriers(self, enterprise: Any | None = None) -> dict[str, Any]:
11636
11632
  """
11637
11633
  Create shield information barrier
11638
11634
 
@@ -927,9 +927,7 @@ class BrazeApp(APIApplication):
927
927
  except ValueError:
928
928
  return None
929
929
 
930
- def add_email_to_blocklist(
931
- self, email: list[str] | None = None
932
- ) -> dict[str, Any]:
930
+ def add_email_to_blocklist(self, email: list[str] | None = None) -> dict[str, Any]:
933
931
  """
934
932
  Blocklist Email Addresses
935
933
 
@@ -2367,9 +2365,7 @@ class BrazeApp(APIApplication):
2367
2365
  except ValueError:
2368
2366
  return None
2369
2367
 
2370
- def list_scheduled_broadcasts(
2371
- self, end_time: str | None = None
2372
- ) -> dict[str, Any]:
2368
+ def list_scheduled_broadcasts(self, end_time: str | None = None) -> dict[str, Any]:
2373
2369
  """
2374
2370
  List Upcoming Scheduled Campaigns and Canvases
2375
2371