universal-mcp-applications 0.1.11__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.11 → universal_mcp_applications-0.1.13}/PKG-INFO +3 -2
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/bump_and_release.sh +4 -3
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/pyproject.toml +3 -2
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_mail/app.py +47 -1
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/markitdown/app.py +9 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/uv.lock +28 -12
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/.gitignore +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/LICENSE +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/examples/children_story_builder.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/tests/test_applications.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/ahrefs/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/ahrefs/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/ahrefs/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/airtable/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/airtable/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/airtable/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/apollo/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/apollo/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/apollo/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/asana/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/asana/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/asana/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/aws_s3/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/aws_s3/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/aws_s3/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/bill/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/bill/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/bill/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/box/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/box/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/box/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/braze/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/braze/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/braze/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/cal_com_v2/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/cal_com_v2/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/cal_com_v2/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/calendly/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/calendly/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/calendly/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/canva/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/canva/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/canva/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/clickup/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/clickup/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/clickup/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/coda/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/coda/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/coda/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/confluence/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/confluence/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/confluence/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/contentful/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/contentful/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/contentful/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/crustdata/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/crustdata/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/crustdata/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/dialpad/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/dialpad/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/dialpad/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/digitalocean/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/digitalocean/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/digitalocean/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/domain_checker/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/domain_checker/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/domain_checker/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/e2b/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/e2b/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/e2b/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/elevenlabs/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/elevenlabs/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/elevenlabs/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/exa/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/exa/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/exa/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/falai/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/falai/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/falai/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/figma/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/figma/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/figma/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/file_system/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/file_system/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/firecrawl/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/firecrawl/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/firecrawl/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/fireflies/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/fireflies/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/fireflies/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/fpl/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/fpl/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/fpl/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/fpl/utils/api.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/fpl/utils/fixtures.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/fpl/utils/helper.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/fpl/utils/league_utils.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/fpl/utils/position_utils.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/ghost_content/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/ghost_content/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/ghost_content/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/github/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/github/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/github/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/gong/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/gong/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/gong/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_calendar/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_calendar/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_calendar/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_docs/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_docs/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_docs/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_drive/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_drive/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_drive/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_gemini/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_gemini/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_gemini/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_mail/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_mail/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_searchconsole/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_searchconsole/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_searchconsole/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_sheet/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_sheet/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_sheet/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/google_sheet/helper.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/hashnode/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/hashnode/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/hashnode/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/heygen/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/heygen/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/heygen/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/http_tools/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/http_tools/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/http_tools/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/hubspot/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/hubspot/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/hubspot/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/jira/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/jira/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/jira/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/klaviyo/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/klaviyo/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/klaviyo/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/linkedin/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/linkedin/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/linkedin/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/mailchimp/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/mailchimp/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/mailchimp/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/markitdown/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/markitdown/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/miro/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/miro/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/miro/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/ms_teams/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/ms_teams/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/ms_teams/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/neon/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/neon/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/neon/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/notion/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/notion/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/notion/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/openai/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/openai/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/openai/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/outlook/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/outlook/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/outlook/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/perplexity/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/perplexity/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/perplexity/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/pipedrive/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/pipedrive/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/pipedrive/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/posthog/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/posthog/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/posthog/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/reddit/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/reddit/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/reddit/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/replicate/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/replicate/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/replicate/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/resend/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/resend/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/resend/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/retell/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/retell/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/retell/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/rocketlane/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/rocketlane/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/rocketlane/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/scraper/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/scraper/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/scraper/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/semanticscholar/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/semanticscholar/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/semanticscholar/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/semrush/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/semrush/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/semrush/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/sendgrid/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/sendgrid/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/sendgrid/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/sentry/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/sentry/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/sentry/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/serpapi/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/serpapi/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/serpapi/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/sharepoint/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/sharepoint/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/sharepoint/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/shopify/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/shopify/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/shopify/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/shortcut/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/shortcut/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/shortcut/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/slack/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/slack/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/slack/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/spotify/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/spotify/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/spotify/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/supabase/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/supabase/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/supabase/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/tavily/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/tavily/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/tavily/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/trello/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/trello/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/trello/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twilio/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twilio/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twilio/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twitter/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twitter/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twitter/api_segments/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twitter/api_segments/api_segment_base.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twitter/api_segments/compliance_api.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twitter/api_segments/dm_conversations_api.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twitter/api_segments/dm_events_api.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twitter/api_segments/likes_api.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twitter/api_segments/lists_api.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twitter/api_segments/openapi_json_api.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twitter/api_segments/spaces_api.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twitter/api_segments/trends_api.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twitter/api_segments/tweets_api.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twitter/api_segments/usage_api.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twitter/api_segments/users_api.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/twitter/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/unipile/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/unipile/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/unipile/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/whatsapp/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/whatsapp/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/whatsapp/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/whatsapp/audio.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/whatsapp/whatsapp.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/whatsapp_business/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/whatsapp_business/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/whatsapp_business/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/wrike/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/wrike/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/wrike/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/youtube/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/youtube/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/youtube/app.py +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/zenquotes/README.md +0 -0
- {universal_mcp_applications-0.1.11 → universal_mcp_applications-0.1.13}/src/universal_mcp/applications/zenquotes/__init__.py +0 -0
- {universal_mcp_applications-0.1.11 → 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[
|
|
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
|
|
@@ -35,6 +35,7 @@ Requires-Dist: requests>=2.31.0
|
|
|
35
35
|
Requires-Dist: resend>=2.10.0
|
|
36
36
|
Requires-Dist: twilio>=9.8.0
|
|
37
37
|
Requires-Dist: universal-mcp>=0.1.24rc19
|
|
38
|
+
Requires-Dist: youtube-transcript-api==1.2.2
|
|
38
39
|
Provides-Extra: dev
|
|
39
40
|
Requires-Dist: pre-commit; extra == 'dev'
|
|
40
41
|
Requires-Dist: ruff; extra == 'dev'
|
|
@@ -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[
|
|
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",
|
|
@@ -43,6 +43,7 @@ dependencies = [
|
|
|
43
43
|
"resend>=2.10.0",
|
|
44
44
|
"twilio>=9.8.0",
|
|
45
45
|
"universal-mcp>=0.1.24rc19",
|
|
46
|
+
"youtube-transcript-api==1.2.2",
|
|
46
47
|
]
|
|
47
48
|
|
|
48
49
|
[project.license]
|
|
@@ -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.
|
|
@@ -60,3 +60,12 @@ class MarkitdownApp(BaseApplication):
|
|
|
60
60
|
return [
|
|
61
61
|
self.convert_to_markdown,
|
|
62
62
|
]
|
|
63
|
+
|
|
64
|
+
async def main():
|
|
65
|
+
app = MarkitdownApp()
|
|
66
|
+
result = await app.convert_to_markdown("https://www.youtube.com/watch?v=Cr9B6yyLZSk")
|
|
67
|
+
print(result)
|
|
68
|
+
|
|
69
|
+
if __name__ == "__main__":
|
|
70
|
+
import asyncio
|
|
71
|
+
asyncio.run(main())
|
|
@@ -2270,20 +2270,34 @@ wheels = [
|
|
|
2270
2270
|
]
|
|
2271
2271
|
|
|
2272
2272
|
[package.optional-dependencies]
|
|
2273
|
-
|
|
2273
|
+
audio-transcription = [
|
|
2274
|
+
{ name = "pydub" },
|
|
2275
|
+
{ name = "speechrecognition" },
|
|
2276
|
+
]
|
|
2277
|
+
az-doc-intel = [
|
|
2274
2278
|
{ name = "azure-ai-documentintelligence" },
|
|
2275
2279
|
{ name = "azure-identity" },
|
|
2280
|
+
]
|
|
2281
|
+
docx = [
|
|
2276
2282
|
{ name = "lxml" },
|
|
2277
2283
|
{ name = "mammoth" },
|
|
2284
|
+
]
|
|
2285
|
+
outlook = [
|
|
2278
2286
|
{ name = "olefile" },
|
|
2279
|
-
|
|
2280
|
-
|
|
2287
|
+
]
|
|
2288
|
+
pdf = [
|
|
2281
2289
|
{ name = "pdfminer-six" },
|
|
2282
|
-
|
|
2290
|
+
]
|
|
2291
|
+
pptx = [
|
|
2283
2292
|
{ name = "python-pptx" },
|
|
2284
|
-
|
|
2293
|
+
]
|
|
2294
|
+
xls = [
|
|
2295
|
+
{ name = "pandas" },
|
|
2285
2296
|
{ name = "xlrd" },
|
|
2286
|
-
|
|
2297
|
+
]
|
|
2298
|
+
xlsx = [
|
|
2299
|
+
{ name = "openpyxl" },
|
|
2300
|
+
{ name = "pandas" },
|
|
2287
2301
|
]
|
|
2288
2302
|
|
|
2289
2303
|
[[package]]
|
|
@@ -4369,7 +4383,7 @@ wheels = [
|
|
|
4369
4383
|
|
|
4370
4384
|
[[package]]
|
|
4371
4385
|
name = "universal-mcp-applications"
|
|
4372
|
-
version = "0.1.
|
|
4386
|
+
version = "0.1.12"
|
|
4373
4387
|
source = { editable = "." }
|
|
4374
4388
|
dependencies = [
|
|
4375
4389
|
{ name = "boto3" },
|
|
@@ -4382,7 +4396,7 @@ dependencies = [
|
|
|
4382
4396
|
{ name = "google-search-results" },
|
|
4383
4397
|
{ name = "gql", extra = ["all"] },
|
|
4384
4398
|
{ name = "httpx-aiohttp" },
|
|
4385
|
-
{ name = "markitdown", extra = ["
|
|
4399
|
+
{ name = "markitdown", extra = ["audio-transcription", "az-doc-intel", "docx", "outlook", "pdf", "pptx", "xls", "xlsx"] },
|
|
4386
4400
|
{ name = "office365-rest-python-client" },
|
|
4387
4401
|
{ name = "openai" },
|
|
4388
4402
|
{ name = "pyairtable" },
|
|
@@ -4394,6 +4408,7 @@ dependencies = [
|
|
|
4394
4408
|
{ name = "resend" },
|
|
4395
4409
|
{ name = "twilio" },
|
|
4396
4410
|
{ name = "universal-mcp" },
|
|
4411
|
+
{ name = "youtube-transcript-api" },
|
|
4397
4412
|
]
|
|
4398
4413
|
|
|
4399
4414
|
[package.optional-dependencies]
|
|
@@ -4418,7 +4433,7 @@ requires-dist = [
|
|
|
4418
4433
|
{ name = "google-search-results", specifier = ">=2.4.2" },
|
|
4419
4434
|
{ name = "gql", extras = ["all"], specifier = ">=3.5.2" },
|
|
4420
4435
|
{ name = "httpx-aiohttp", specifier = ">=0.1.8" },
|
|
4421
|
-
{ name = "markitdown", extras = ["
|
|
4436
|
+
{ name = "markitdown", extras = ["audio-transcription", "az-doc-intel", "docx", "outlook", "pdf", "pptx", "xls", "xlsx"], specifier = ">=0.1.3" },
|
|
4422
4437
|
{ name = "office365-rest-python-client", specifier = ">=2.6.2" },
|
|
4423
4438
|
{ name = "openai", specifier = ">=1.75.0" },
|
|
4424
4439
|
{ name = "pre-commit", marker = "extra == 'dev'" },
|
|
@@ -4435,6 +4450,7 @@ requires-dist = [
|
|
|
4435
4450
|
{ name = "ruff", marker = "extra == 'dev'" },
|
|
4436
4451
|
{ name = "twilio", specifier = ">=9.8.0" },
|
|
4437
4452
|
{ name = "universal-mcp", specifier = ">=0.1.24rc19" },
|
|
4453
|
+
{ name = "youtube-transcript-api", specifier = "==1.2.2" },
|
|
4438
4454
|
]
|
|
4439
4455
|
provides-extras = ["test", "dev"]
|
|
4440
4456
|
|
|
@@ -4791,15 +4807,15 @@ wheels = [
|
|
|
4791
4807
|
|
|
4792
4808
|
[[package]]
|
|
4793
4809
|
name = "youtube-transcript-api"
|
|
4794
|
-
version = "1.
|
|
4810
|
+
version = "1.2.2"
|
|
4795
4811
|
source = { registry = "https://pypi.org/simple" }
|
|
4796
4812
|
dependencies = [
|
|
4797
4813
|
{ name = "defusedxml" },
|
|
4798
4814
|
{ name = "requests" },
|
|
4799
4815
|
]
|
|
4800
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
4816
|
+
sdist = { url = "https://files.pythonhosted.org/packages/8f/f8/5e12d3d0c7001c3b3078697b9918241022bdb1ae12715e9debb00a83e16e/youtube_transcript_api-1.2.2.tar.gz", hash = "sha256:5f67cfaff3621d969778817a3d7b2172c16784855f45fcaed4f0529632e2fef4", size = 469634, upload-time = "2025-08-04T12:22:52.158Z" }
|
|
4801
4817
|
wheels = [
|
|
4802
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
4818
|
+
{ url = "https://files.pythonhosted.org/packages/41/92/3d1a580f0efcad926f45876cf6cb92b2c260e84ae75dae5463bbf38f92e7/youtube_transcript_api-1.2.2-py3-none-any.whl", hash = "sha256:feca8c7f7c9d65188ef6377fc0e01cf466e6b68f1b3e648019646ab342f994d2", size = 485047, upload-time = "2025-08-04T12:22:50.836Z" },
|
|
4803
4819
|
]
|
|
4804
4820
|
|
|
4805
4821
|
[[package]]
|
|
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
|