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.
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/PKG-INFO +4 -2
- universal_mcp_applications-0.1.3/examples/children_story_builder.py +146 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/pyproject.toml +4 -2
- universal_mcp_applications-0.1.3/src/tests/test_applications.py +96 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/airtable/app.py +1 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/apollo/app.py +1 -0
- {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
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/bill/app.py +3 -3
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/box/app.py +2 -6
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/braze/app.py +2 -6
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/cal_com_v2/__init__.py +1 -0
- {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
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/clickup/app.py +2 -2
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/confluence/app.py +1 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/contentful/app.py +8 -19
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/digitalocean/app.py +9 -27
- {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
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/elevenlabs/app.py +145 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/falai/app.py +1 -0
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/file_system/__init__.py +1 -0
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/file_system/app.py +96 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/fireflies/app.py +4 -3
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/fpl/app.py +1 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/fpl/utils/fixtures.py +1 -1
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/fpl/utils/helper.py +1 -1
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/fpl/utils/position_utils.py +0 -1
- {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
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/github/app.py +4 -3
- {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
- {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
- {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
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_gemini/app.py +183 -0
- {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
- {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
- {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
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_sheet/helper.py +385 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/hashnode/app.py +2 -1
- {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
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/hubspot/app.py +16 -2
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/jira/app.py +7 -18
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/markitdown/app.py +2 -3
- {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
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/openai/app.py +2 -3
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/outlook/app.py +1 -3
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/pipedrive/app.py +2 -6
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/reddit/app.py +1 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/resend/app.py +1 -2
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/rocketlane/app.py +1 -0
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/semrush/app.py +1092 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/sentry/README.md +20 -20
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/sentry/app.py +40 -40
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/sharepoint/app.py +2 -1
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/shopify/app.py +1 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/slack/app.py +3 -3
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/trello/app.py +9 -27
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/twilio/__init__.py +1 -0
- {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
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/README.md +1 -1
- {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
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/api_segments/lists_api.py +1 -1
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/unipile/app.py +5 -1
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/whatsapp/app.py +18 -17
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/whatsapp/audio.py +110 -0
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/whatsapp/whatsapp.py +398 -0
- {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
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/youtube/app.py +195 -191
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/zenquotes/app.py +1 -1
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/uv.lock +27 -5
- universal_mcp_applications-0.1.1/src/tests/test_applications.py +0 -7
- universal_mcp_applications-0.1.1/src/universal_mcp/applications/cal-com-v2/__init__.py +0 -1
- universal_mcp_applications-0.1.1/src/universal_mcp/applications/elevenlabs/app.py +0 -3235
- universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-ads/__init__.py +0 -1
- universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-ads/app.py +0 -23
- universal_mcp_applications-0.1.1/src/universal_mcp/applications/google-gemini/app.py +0 -663
- universal_mcp_applications-0.1.1/src/universal_mcp/applications/semrush/app.py +0 -2081
- universal_mcp_applications-0.1.1/src/universal_mcp/applications/twillo/README.md +0 -0
- universal_mcp_applications-0.1.1/src/universal_mcp/applications/twillo/__init__.py +0 -1
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/.gitignore +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/LICENSE +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/bump_and_release.sh +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/ahrefs/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/ahrefs/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/ahrefs/app.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/airtable/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/airtable/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/apollo/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/apollo/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/asana/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/asana/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/asana/app.py +0 -0
- {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
- {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
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/bill/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/bill/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/box/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/box/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/braze/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/braze/__init__.py +0 -0
- {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
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/calendly/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/calendly/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/calendly/app.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/canva/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/canva/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/canva/app.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/clickup/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/clickup/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/coda/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/coda/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/coda/app.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/confluence/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/confluence/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/contentful/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/contentful/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/crustdata/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/crustdata/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/crustdata/app.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/dialpad/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/dialpad/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/dialpad/app.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/digitalocean/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/digitalocean/__init__.py +0 -0
- {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
- {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
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/e2b/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/e2b/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/e2b/app.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/elevenlabs/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/elevenlabs/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/exa/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/exa/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/exa/app.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/falai/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/falai/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/figma/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/figma/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/figma/app.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/firecrawl/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/firecrawl/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/firecrawl/app.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/fireflies/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/fireflies/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/fpl/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/fpl/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/fpl/utils/api.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/fpl/utils/league_utils.py +0 -0
- {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
- {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
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/github/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/github/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/gong/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/gong/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/gong/app.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/hashnode/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/hashnode/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/heygen/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/heygen/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/heygen/app.py +0 -0
- {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
- {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
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/hubspot/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/hubspot/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/jira/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/jira/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/klaviyo/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/klaviyo/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/klaviyo/app.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/linkedin/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/linkedin/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/linkedin/app.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/mailchimp/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/mailchimp/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/mailchimp/app.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/markitdown/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/markitdown/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/miro/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/miro/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/miro/app.py +0 -0
- {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
- {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
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/neon/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/neon/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/neon/app.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/notion/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/notion/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/notion/app.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/openai/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/openai/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/outlook/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/outlook/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/perplexity/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/perplexity/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/perplexity/app.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/pipedrive/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/pipedrive/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/posthog/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/posthog/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/posthog/app.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/reddit/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/reddit/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/replicate/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/replicate/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/replicate/app.py +3 -3
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/resend/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/resend/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/retell/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/retell/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/retell/app.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/rocketlane/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/rocketlane/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/semanticscholar/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/semanticscholar/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/semanticscholar/app.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/semrush/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/semrush/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/sendgrid/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/sendgrid/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/sendgrid/app.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/sentry/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/serpapi/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/serpapi/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/serpapi/app.py +2 -2
- {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
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/sharepoint/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/shopify/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/shopify/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/shortcut/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/shortcut/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/shortcut/app.py +0 -0
- {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
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/slack/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/spotify/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/spotify/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/spotify/app.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/supabase/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/supabase/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/supabase/app.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/tavily/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/tavily/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/tavily/app.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/trello/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/trello/__init__.py +0 -0
- {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
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/api_segments/__init__.py +0 -0
- {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
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/api_segments/compliance_api.py +0 -0
- {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
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/api_segments/likes_api.py +0 -0
- {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
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/api_segments/spaces_api.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/api_segments/trends_api.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/api_segments/tweets_api.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/api_segments/usage_api.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/api_segments/users_api.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/twitter/app.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/unipile/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/unipile/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/whatsapp/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/whatsapp/__init__.py +0 -0
- {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
- {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
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/wrike/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/wrike/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/wrike/app.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/youtube/README.md +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/youtube/__init__.py +0 -0
- {universal_mcp_applications-0.1.1 → universal_mcp_applications-0.1.3}/src/universal_mcp/applications/zenquotes/README.md +0 -0
- {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.
|
|
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: 
|
|
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.
|
|
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)
|
|
@@ -4,7 +4,8 @@ from typing import Any
|
|
|
4
4
|
|
|
5
5
|
import boto3
|
|
6
6
|
from botocore.exceptions import ClientError
|
|
7
|
-
|
|
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="
|
|
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
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from .app import CalComV2App
|