universal-mcp-applications 0.1.12__tar.gz → 0.1.13__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of universal-mcp-applications might be problematic. Click here for more details.
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/PKG-INFO +2 -2
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/bump_and_release.sh +4 -3
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/pyproject.toml +2 -2
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_mail/app.py +47 -1
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/uv.lock +2 -2
- universal_mcp_applications-0.1.12/test.py +0 -43
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/.gitignore +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/LICENSE +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/examples/children_story_builder.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/tests/test_applications.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/ahrefs/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/ahrefs/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/ahrefs/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/airtable/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/airtable/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/airtable/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/apollo/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/apollo/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/apollo/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/asana/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/asana/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/asana/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/aws_s3/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/aws_s3/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/aws_s3/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/bill/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/bill/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/bill/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/box/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/box/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/box/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/braze/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/braze/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/braze/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/cal_com_v2/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/cal_com_v2/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/cal_com_v2/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/calendly/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/calendly/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/calendly/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/canva/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/canva/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/canva/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/clickup/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/clickup/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/clickup/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/coda/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/coda/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/coda/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/confluence/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/confluence/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/confluence/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/contentful/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/contentful/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/contentful/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/crustdata/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/crustdata/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/crustdata/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/dialpad/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/dialpad/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/dialpad/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/digitalocean/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/digitalocean/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/digitalocean/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/domain_checker/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/domain_checker/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/domain_checker/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/e2b/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/e2b/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/e2b/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/elevenlabs/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/elevenlabs/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/elevenlabs/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/exa/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/exa/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/exa/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/falai/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/falai/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/falai/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/figma/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/figma/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/figma/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/file_system/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/file_system/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/firecrawl/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/firecrawl/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/firecrawl/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/fireflies/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/fireflies/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/fireflies/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/fpl/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/fpl/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/fpl/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/fpl/utils/api.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/fpl/utils/fixtures.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/fpl/utils/helper.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/fpl/utils/league_utils.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/fpl/utils/position_utils.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/ghost_content/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/ghost_content/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/ghost_content/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/github/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/github/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/github/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/gong/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/gong/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/gong/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_calendar/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_calendar/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_calendar/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_docs/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_docs/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_docs/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_drive/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_drive/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_drive/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_gemini/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_gemini/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_gemini/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_mail/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_mail/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_searchconsole/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_searchconsole/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_searchconsole/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_sheet/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_sheet/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_sheet/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_sheet/helper.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/hashnode/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/hashnode/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/hashnode/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/heygen/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/heygen/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/heygen/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/http_tools/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/http_tools/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/http_tools/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/hubspot/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/hubspot/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/hubspot/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/jira/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/jira/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/jira/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/klaviyo/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/klaviyo/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/klaviyo/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/linkedin/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/linkedin/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/linkedin/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/mailchimp/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/mailchimp/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/mailchimp/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/markitdown/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/markitdown/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/markitdown/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/miro/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/miro/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/miro/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/ms_teams/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/ms_teams/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/ms_teams/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/neon/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/neon/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/neon/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/notion/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/notion/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/notion/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/openai/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/openai/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/openai/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/outlook/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/outlook/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/outlook/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/perplexity/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/perplexity/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/perplexity/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/pipedrive/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/pipedrive/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/pipedrive/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/posthog/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/posthog/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/posthog/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/reddit/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/reddit/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/reddit/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/replicate/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/replicate/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/replicate/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/resend/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/resend/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/resend/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/retell/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/retell/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/retell/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/rocketlane/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/rocketlane/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/rocketlane/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/scraper/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/scraper/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/scraper/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/semanticscholar/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/semanticscholar/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/semanticscholar/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/semrush/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/semrush/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/semrush/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/sendgrid/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/sendgrid/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/sendgrid/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/sentry/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/sentry/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/sentry/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/serpapi/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/serpapi/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/serpapi/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/sharepoint/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/sharepoint/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/sharepoint/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/shopify/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/shopify/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/shopify/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/shortcut/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/shortcut/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/shortcut/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/slack/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/slack/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/slack/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/spotify/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/spotify/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/spotify/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/supabase/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/supabase/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/supabase/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/tavily/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/tavily/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/tavily/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/trello/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/trello/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/trello/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twilio/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twilio/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twilio/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twitter/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twitter/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twitter/api_segments/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twitter/api_segments/api_segment_base.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twitter/api_segments/compliance_api.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twitter/api_segments/dm_conversations_api.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twitter/api_segments/dm_events_api.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twitter/api_segments/likes_api.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twitter/api_segments/lists_api.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twitter/api_segments/openapi_json_api.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twitter/api_segments/spaces_api.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twitter/api_segments/trends_api.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twitter/api_segments/tweets_api.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twitter/api_segments/usage_api.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twitter/api_segments/users_api.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twitter/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/unipile/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/unipile/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/unipile/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/whatsapp/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/whatsapp/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/whatsapp/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/whatsapp/audio.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/whatsapp/whatsapp.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/whatsapp_business/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/whatsapp_business/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/whatsapp_business/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/wrike/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/wrike/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/wrike/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/youtube/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/youtube/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/youtube/app.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/zenquotes/README.md +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/zenquotes/__init__.py +0 -0
- {universal_mcp_applications-0.1.12 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/zenquotes/app.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.13
|
|
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
|
|
@@ -22,7 +22,7 @@ Requires-Dist: google-genai>=1.33.0
|
|
|
22
22
|
Requires-Dist: google-search-results>=2.4.2
|
|
23
23
|
Requires-Dist: gql[all]>=3.5.2
|
|
24
24
|
Requires-Dist: httpx-aiohttp>=0.1.8
|
|
25
|
-
Requires-Dist: markitdown[audio-transcription,az-doc-intel,docx,outlook,pdf,pptx,xls,xlsx]
|
|
25
|
+
Requires-Dist: markitdown[audio-transcription,az-doc-intel,docx,outlook,pdf,pptx,xls,xlsx]>=0.1.3
|
|
26
26
|
Requires-Dist: office365-rest-python-client>=2.6.2
|
|
27
27
|
Requires-Dist: openai>=1.75.0
|
|
28
28
|
Requires-Dist: pyairtable>=3.1.1
|
|
@@ -20,8 +20,9 @@ BRANCH=$(git branch --show-current)
|
|
|
20
20
|
CURRENT_VERSION=$(grep -E '^version = "[0-9]+\.[0-9]+\.[0-9]+.*"' pyproject.toml | cut -d'"' -f2)
|
|
21
21
|
|
|
22
22
|
# Split version into major, minor, patch
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
MAJOR=$(echo "$CURRENT_VERSION" | cut -d'.' -f1)
|
|
24
|
+
MINOR=$(echo "$CURRENT_VERSION" | cut -d'.' -f2)
|
|
25
|
+
PATCH=$(echo "$CURRENT_VERSION" | cut -d'.' -f3)
|
|
25
26
|
# Remove any rc suffix from PATCH if it exists
|
|
26
27
|
PATCH_NUM=$(echo $PATCH | sed 's/-rc[0-9]*//')
|
|
27
28
|
|
|
@@ -50,7 +51,7 @@ else
|
|
|
50
51
|
fi
|
|
51
52
|
|
|
52
53
|
# Update version in pyproject.toml
|
|
53
|
-
sed -i
|
|
54
|
+
sed -i "s/^version = \".*\"/version = \"$NEW_VERSION\"/" pyproject.toml
|
|
54
55
|
|
|
55
56
|
echo "Version bumped from $CURRENT_VERSION to $NEW_VERSION"
|
|
56
57
|
|
|
@@ -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.13"
|
|
10
10
|
description = "A Universal MCP Application: universal_mcp_applications"
|
|
11
11
|
readme = "README.md"
|
|
12
12
|
requires-python = ">=3.11"
|
|
@@ -30,7 +30,7 @@ dependencies = [
|
|
|
30
30
|
"google-search-results>=2.4.2",
|
|
31
31
|
"gql[all]>=3.5.2",
|
|
32
32
|
"httpx-aiohttp>=0.1.8",
|
|
33
|
-
"markitdown[audio-transcription,az-doc-intel,docx,outlook,pdf,pptx,xls,xlsx]
|
|
33
|
+
"markitdown[audio-transcription,az-doc-intel,docx,outlook,pdf,pptx,xls,xlsx]>=0.1.3",
|
|
34
34
|
"office365-rest-python-client>=2.6.2",
|
|
35
35
|
"openai>=1.75.0",
|
|
36
36
|
"pyairtable>=3.1.1",
|
|
@@ -230,7 +230,7 @@ class GoogleMailApp(APIApplication):
|
|
|
230
230
|
A dictionary containing the cleaned message details (serializable as JSON)
|
|
231
231
|
|
|
232
232
|
Tags:
|
|
233
|
-
retrieve, email, format, api, gmail, message, important, body, content
|
|
233
|
+
retrieve, email, format, api, gmail, message, important, body, content, attachments
|
|
234
234
|
"""
|
|
235
235
|
url = f"{self.base_api_url}/messages/{message_id}"
|
|
236
236
|
response = self._get(url)
|
|
@@ -251,6 +251,9 @@ class GoogleMailApp(APIApplication):
|
|
|
251
251
|
else:
|
|
252
252
|
body_content = "No content available"
|
|
253
253
|
|
|
254
|
+
# Extract attachments
|
|
255
|
+
attachments = self._extract_attachments(raw_data.get("payload", {}))
|
|
256
|
+
|
|
254
257
|
return {
|
|
255
258
|
"message_id": message_id,
|
|
256
259
|
"from_addr": headers.get("From", "Unknown sender"),
|
|
@@ -259,8 +262,11 @@ class GoogleMailApp(APIApplication):
|
|
|
259
262
|
"subject": headers.get("Subject", "No subject"),
|
|
260
263
|
"body_content": body_content,
|
|
261
264
|
"thread_id": raw_data.get("threadId"),
|
|
265
|
+
"attachments": attachments,
|
|
262
266
|
}
|
|
263
267
|
|
|
268
|
+
|
|
269
|
+
|
|
264
270
|
def _extract_email_body(self, payload):
|
|
265
271
|
"""
|
|
266
272
|
Extracts the email body content from the Gmail API payload.
|
|
@@ -315,6 +321,46 @@ class GoogleMailApp(APIApplication):
|
|
|
315
321
|
logger.error(f"Error extracting email body: {str(e)}")
|
|
316
322
|
return ""
|
|
317
323
|
|
|
324
|
+
def _extract_attachments(self, payload):
|
|
325
|
+
"""
|
|
326
|
+
Extracts attachment information from the Gmail API payload.
|
|
327
|
+
|
|
328
|
+
Args:
|
|
329
|
+
payload: The payload section from Gmail API response
|
|
330
|
+
|
|
331
|
+
Returns:
|
|
332
|
+
list: List of attachment dictionaries with attachment_id, filename, mime_type, and size
|
|
333
|
+
"""
|
|
334
|
+
attachments = []
|
|
335
|
+
|
|
336
|
+
try:
|
|
337
|
+
if payload.get("filename") and payload.get("body", {}).get("attachmentId"):
|
|
338
|
+
attachments.append({
|
|
339
|
+
"attachment_id": payload["body"]["attachmentId"],
|
|
340
|
+
"filename": payload["filename"],
|
|
341
|
+
"mime_type": payload.get("mimeType", ""),
|
|
342
|
+
"size": payload.get("body", {}).get("size", 0)
|
|
343
|
+
})
|
|
344
|
+
|
|
345
|
+
parts = payload.get("parts", [])
|
|
346
|
+
for part in parts:
|
|
347
|
+
if part.get("filename") and part.get("body", {}).get("attachmentId"):
|
|
348
|
+
attachments.append({
|
|
349
|
+
"attachment_id": part["body"]["attachmentId"],
|
|
350
|
+
"filename": part["filename"],
|
|
351
|
+
"mime_type": part.get("mimeType", ""),
|
|
352
|
+
"size": part.get("body", {}).get("size", 0)
|
|
353
|
+
})
|
|
354
|
+
|
|
355
|
+
elif part.get("parts"):
|
|
356
|
+
nested_attachments = self._extract_attachments(part)
|
|
357
|
+
attachments.extend(nested_attachments)
|
|
358
|
+
|
|
359
|
+
except Exception as e:
|
|
360
|
+
logger.error(f"Error extracting attachments: {str(e)}")
|
|
361
|
+
|
|
362
|
+
return attachments
|
|
363
|
+
|
|
318
364
|
def _decode_base64(self, data):
|
|
319
365
|
"""
|
|
320
366
|
Decodes base64 URL-safe encoded data from Gmail API.
|
|
@@ -4383,7 +4383,7 @@ wheels = [
|
|
|
4383
4383
|
|
|
4384
4384
|
[[package]]
|
|
4385
4385
|
name = "universal-mcp-applications"
|
|
4386
|
-
version = "0.1.
|
|
4386
|
+
version = "0.1.12"
|
|
4387
4387
|
source = { editable = "." }
|
|
4388
4388
|
dependencies = [
|
|
4389
4389
|
{ name = "boto3" },
|
|
@@ -4433,7 +4433,7 @@ requires-dist = [
|
|
|
4433
4433
|
{ name = "google-search-results", specifier = ">=2.4.2" },
|
|
4434
4434
|
{ name = "gql", extras = ["all"], specifier = ">=3.5.2" },
|
|
4435
4435
|
{ name = "httpx-aiohttp", specifier = ">=0.1.8" },
|
|
4436
|
-
{ name = "markitdown", extras = ["audio-transcription", "az-doc-intel", "docx", "outlook", "pdf", "pptx", "xls", "xlsx"], specifier = "
|
|
4436
|
+
{ name = "markitdown", extras = ["audio-transcription", "az-doc-intel", "docx", "outlook", "pdf", "pptx", "xls", "xlsx"], specifier = ">=0.1.3" },
|
|
4437
4437
|
{ name = "office365-rest-python-client", specifier = ">=2.6.2" },
|
|
4438
4438
|
{ name = "openai", specifier = ">=1.75.0" },
|
|
4439
4439
|
{ name = "pre-commit", marker = "extra == 'dev'" },
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
from youtube_transcript_api import YouTubeTranscriptApi
|
|
2
|
-
|
|
3
|
-
def get_captions(video_id: str) -> str:
|
|
4
|
-
"""
|
|
5
|
-
Retrieves the captions text for a specified video ID on youtube
|
|
6
|
-
|
|
7
|
-
Args:
|
|
8
|
-
video_id: The unique identifier for the target video (required)
|
|
9
|
-
|
|
10
|
-
Returns:
|
|
11
|
-
String containing the complete transcript text without timestamps
|
|
12
|
-
|
|
13
|
-
Raises:
|
|
14
|
-
ValueError: Raised when required 'video_id' parameter is missing
|
|
15
|
-
Exception: Raised when transcript cannot be retrieved (e.g., no captions available)
|
|
16
|
-
|
|
17
|
-
Tags:
|
|
18
|
-
retrieve, transcript, text, captions
|
|
19
|
-
"""
|
|
20
|
-
if video_id is None:
|
|
21
|
-
raise ValueError("Missing required parameter 'video_id'")
|
|
22
|
-
|
|
23
|
-
try:
|
|
24
|
-
api = YouTubeTranscriptApi()
|
|
25
|
-
transcript = api.fetch(video_id)
|
|
26
|
-
|
|
27
|
-
transcript_text = " ".join(
|
|
28
|
-
[snippet.text for snippet in transcript.snippets]
|
|
29
|
-
)
|
|
30
|
-
|
|
31
|
-
return transcript_text
|
|
32
|
-
except Exception as e:
|
|
33
|
-
raise Exception(
|
|
34
|
-
f"Failed to retrieve transcript for video {video_id}: {str(e)}"
|
|
35
|
-
)
|
|
36
|
-
|
|
37
|
-
def main():
|
|
38
|
-
video_id = "Cr9B6yyLZSk" # Example video ID
|
|
39
|
-
captions = get_captions(video_id)
|
|
40
|
-
print(captions)
|
|
41
|
-
|
|
42
|
-
if __name__ == "__main__":
|
|
43
|
-
main()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|