universal-mcp-applications 0.1.3__tar.gz → 0.1.39rc12__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- universal_mcp_applications-0.1.39rc12/.gitignore +62 -0
- universal_mcp_applications-0.1.39rc12/GEMINI.md +125 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/PKG-INFO +9 -91
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/README.md +1 -88
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/bump_and_release.sh +4 -5
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/pyproject.toml +18 -9
- universal_mcp_applications-0.1.39rc12/src/scripts/check_internal_calls.py +195 -0
- universal_mcp_applications-0.1.39rc12/src/scripts/docgen.py +489 -0
- universal_mcp_applications-0.1.39rc12/src/scripts/make_async.py +99 -0
- universal_mcp_applications-0.1.39rc12/src/scripts/make_http_async.py +103 -0
- universal_mcp_applications-0.1.39rc12/src/scripts/prompts.py +26 -0
- universal_mcp_applications-0.1.39rc12/src/scripts/readme.py +112 -0
- universal_mcp_applications-0.1.39rc12/src/scripts/run_docgen.py +29 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/tests/test_applications.py +15 -14
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/BEST_PRACTICES.md +166 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/ahrefs/README.md +3 -3
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/ahrefs/app.py +92 -238
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/airtable/README.md +3 -3
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/airtable/app.py +36 -136
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/apollo/app.py +124 -478
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/asana/README.md +3 -3
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/asana/app.py +605 -1755
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/aws_s3/README.md +29 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/aws_s3/app.py +90 -145
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/bill/README.md +249 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/bill/app.py +644 -2055
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/box/app.py +1246 -4159
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/braze/app.py +410 -1476
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/browser_use/README.md +15 -0
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/browser_use/__init__.py +1 -0
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/browser_use/app.py +136 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/cal_com_v2/app.py +207 -625
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/calendly/README.md +53 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/calendly/app.py +161 -300
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/canva/README.md +43 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/canva/app.py +139 -208
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/clickup/README.md +4 -4
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/clickup/app.py +331 -798
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/coda/app.py +240 -520
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/confluence/app.py +497 -1286
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/contentful/README.md +1 -2
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/contentful/app.py +44 -160
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/crustdata/README.md +3 -3
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/crustdata/app.py +44 -123
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/dialpad/app.py +451 -924
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/digitalocean/app.py +2071 -6082
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/domain_checker/README.md +13 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/domain_checker/app.py +21 -69
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/e2b/README.md +12 -0
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/e2b/app.py +129 -0
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/elevenlabs/README.md +14 -0
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/elevenlabs/app.py +116 -0
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/exa/README.md +19 -0
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/exa/app.py +455 -0
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/falai/README.md +18 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/falai/app.py +47 -116
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/figma/README.md +3 -3
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/figma/app.py +91 -175
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/file_system/README.md +13 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/file_system/app.py +19 -22
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/firecrawl/README.md +20 -0
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/firecrawl/app.py +547 -0
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/fireflies/README.md +25 -0
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/fireflies/app.py +392 -0
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/fpl/README.md +23 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/fpl/app.py +125 -554
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/fpl/utils/fixtures.py +15 -49
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/fpl/utils/helper.py +25 -89
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/fpl/utils/league_utils.py +20 -64
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/ghost_content/app.py +70 -180
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/github/README.md +21 -0
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/github/app.py +390 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/gong/app.py +142 -302
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/google_calendar/README.md +21 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/google_calendar/app.py +44 -97
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/google_docs/README.md +25 -0
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/google_docs/app.py +730 -0
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/google_drive/README.md +65 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/google_drive/app.py +310 -1045
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/google_gemini/README.md +14 -0
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/google_gemini/app.py +233 -0
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/google_mail/README.md +32 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/google_mail/app.py +167 -241
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/google_searchconsole/README.md +21 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/google_searchconsole/app.py +36 -75
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/google_sheet/README.md +36 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/google_sheet/app.py +323 -779
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/google_sheet/helper.py +26 -53
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/hashnode/README.md +6 -3
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/hashnode/app.py +393 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/heygen/app.py +79 -157
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/http_tools/README.md +16 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/http_tools/app.py +15 -38
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/hubspot/README.md +1 -1
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/hubspot/app.py +7826 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/jira/app.py +2419 -8335
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/klaviyo/README.md +0 -36
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/klaviyo/app.py +739 -1621
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/linkedin/README.md +34 -0
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/linkedin/app.py +978 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/mailchimp/README.md +3 -3
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/mailchimp/app.py +696 -1851
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/markitdown/app.py +19 -17
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/miro/app.py +333 -815
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/ms_teams/README.md +42 -0
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/ms_teams/app.py +772 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/neon/README.md +3 -3
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/neon/app.py +144 -250
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/notion/app.py +38 -53
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/onedrive/README.md +24 -0
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/onedrive/__init__.py +1 -0
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/onedrive/app.py +316 -0
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/openai/README.md +23 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/openai/app.py +63 -186
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/outlook/README.md +33 -0
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/outlook/app.py +786 -0
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/perplexity/README.md +13 -0
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/perplexity/app.py +206 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/pipedrive/app.py +1021 -3331
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/posthog/README.md +133 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/posthog/app.py +272 -541
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/reddit/README.md +32 -0
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/reddit/app.py +720 -0
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/resend/README.md +40 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/resend/app.py +111 -176
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/retell/app.py +23 -50
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/rocketlane/app.py +252 -966
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/scraper/README.md +18 -0
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/scraper/__init__.py +1 -0
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/scraper/app.py +399 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/semanticscholar/app.py +36 -78
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/semrush/README.md +3 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/semrush/app.py +44 -78
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/sendgrid/app.py +826 -1576
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/sentry/app.py +444 -1079
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/serpapi/README.md +14 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/serpapi/app.py +49 -153
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/sharepoint/README.md +19 -0
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/sharepoint/app.py +316 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/shopify/app.py +1748 -4487
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/shortcut/README.md +3 -3
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/shortcut/app.py +275 -536
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/slack/README.md +23 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/slack/app.py +73 -124
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/spotify/README.md +3 -3
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/spotify/app.py +206 -405
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/supabase/README.md +3 -3
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/supabase/app.py +174 -283
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/tavily/README.md +12 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/tavily/app.py +4 -4
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/trello/app.py +853 -2816
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/twilio/README.md +15 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/twilio/app.py +27 -62
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/twitter/README.md +103 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/twitter/api_segments/compliance_api.py +9 -24
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/twitter/api_segments/dm_conversations_api.py +18 -35
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/twitter/api_segments/dm_events_api.py +6 -9
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/twitter/api_segments/likes_api.py +8 -13
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/twitter/api_segments/lists_api.py +26 -47
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/twitter/api_segments/spaces_api.py +12 -18
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/twitter/api_segments/trends_api.py +4 -7
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/twitter/api_segments/tweets_api.py +61 -109
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/twitter/api_segments/usage_api.py +2 -7
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/twitter/api_segments/users_api.py +104 -166
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/twitter/app.py +15 -11
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/whatsapp/README.md +23 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/whatsapp/app.py +77 -211
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/whatsapp/audio.py +35 -35
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/whatsapp/whatsapp.py +136 -148
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/whatsapp_business/README.md +34 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/whatsapp_business/app.py +125 -338
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/wrike/app.py +80 -153
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/yahoo_finance/README.md +17 -0
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/yahoo_finance/__init__.py +1 -0
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/yahoo_finance/app.py +254 -0
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/youtube/README.md +57 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/youtube/app.py +206 -379
- universal_mcp_applications-0.1.39rc12/src/universal_mcp/applications/zenquotes/README.md +12 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/zenquotes/__init__.py +2 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/zenquotes/app.py +6 -6
- universal_mcp_applications-0.1.39rc12/uv.lock +6191 -0
- universal_mcp_applications-0.1.3/.gitignore +0 -40
- universal_mcp_applications-0.1.3/examples/children_story_builder.py +0 -146
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/aws_s3/README.md +0 -0
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/bill/README.md +0 -0
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/calendly/README.md +0 -53
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/canva/README.md +0 -43
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/domain_checker/README.md +0 -13
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/e2b/README.md +0 -12
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/e2b/app.py +0 -187
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/elevenlabs/README.md +0 -88
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/elevenlabs/app.py +0 -145
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/exa/README.md +0 -15
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/exa/app.py +0 -221
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/falai/README.md +0 -17
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/firecrawl/README.md +0 -20
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/firecrawl/app.py +0 -514
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/fireflies/README.md +0 -25
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/fireflies/app.py +0 -507
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/fpl/README.md +0 -23
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/github/README.md +0 -1049
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/github/app.py +0 -50601
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_calendar/README.md +0 -21
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_docs/README.md +0 -25
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_docs/app.py +0 -760
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_drive/README.md +0 -68
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_gemini/README.md +0 -25
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_gemini/app.py +0 -183
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_mail/README.md +0 -31
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_searchconsole/README.md +0 -21
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/google_sheet/README.md +0 -36
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/hashnode/app.py +0 -456
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/http_tools/README.md +0 -16
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/hubspot/app.py +0 -430
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/linkedin/README.md +0 -15
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/linkedin/app.py +0 -243
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/ms_teams/README.md +0 -42
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/ms_teams/app.py +0 -1823
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/openai/README.md +0 -22
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/outlook/README.md +0 -20
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/outlook/app.py +0 -442
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/perplexity/README.md +0 -12
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/perplexity/app.py +0 -65
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/posthog/README.md +0 -132
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/reddit/README.md +0 -135
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/reddit/app.py +0 -4653
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/replicate/README.md +0 -18
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/replicate/__init__.py +0 -1
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/replicate/app.py +0 -495
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/resend/README.md +0 -40
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/serpapi/README.md +0 -14
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/sharepoint/README.md +0 -0
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/sharepoint/app.py +0 -216
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/slack/README.md +0 -0
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/tavily/README.md +0 -12
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/twilio/README.md +0 -0
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/twitter/README.md +0 -100
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/unipile/README.md +0 -28
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/unipile/__init__.py +0 -1
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/unipile/app.py +0 -833
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/whatsapp/README.md +0 -23
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/whatsapp_business/README.md +0 -34
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/youtube/README.md +0 -57
- universal_mcp_applications-0.1.3/src/universal_mcp/applications/zenquotes/README.md +0 -12
- universal_mcp_applications-0.1.3/uv.lock +0 -4823
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/LICENSE +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/ahrefs/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/airtable/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/apollo/README.md +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/apollo/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/asana/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/aws_s3/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/bill/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/box/README.md +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/box/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/braze/README.md +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/braze/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/cal_com_v2/README.md +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/cal_com_v2/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/calendly/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/canva/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/clickup/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/coda/README.md +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/coda/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/confluence/README.md +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/confluence/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/contentful/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/crustdata/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/dialpad/README.md +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/dialpad/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/digitalocean/README.md +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/digitalocean/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/domain_checker/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/e2b/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/elevenlabs/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/exa/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/falai/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/figma/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/file_system/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/firecrawl/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/fireflies/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/fpl/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/fpl/utils/api.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/fpl/utils/position_utils.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/ghost_content/README.md +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/ghost_content/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/github/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/gong/README.md +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/gong/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/google_calendar/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/google_docs/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/google_drive/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/google_gemini/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/google_mail/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/google_searchconsole/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/google_sheet/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/hashnode/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/heygen/README.md +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/heygen/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/http_tools/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/hubspot/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/jira/README.md +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/jira/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/klaviyo/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/linkedin/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/mailchimp/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/markitdown/README.md +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/markitdown/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/miro/README.md +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/miro/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/ms_teams/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/neon/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/notion/README.md +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/notion/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/openai/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/outlook/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/perplexity/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/pipedrive/README.md +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/pipedrive/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/posthog/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/reddit/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/resend/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/retell/README.md +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/retell/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/rocketlane/README.md +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/rocketlane/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/semanticscholar/README.md +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/semanticscholar/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/semrush/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/sendgrid/README.md +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/sendgrid/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/sentry/README.md +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/sentry/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/serpapi/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/sharepoint/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/shopify/README.md +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/shopify/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/shortcut/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/slack/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/spotify/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/supabase/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/tavily/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/trello/README.md +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/trello/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/twilio/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/twitter/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/twitter/api_segments/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/twitter/api_segments/api_segment_base.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/twitter/api_segments/openapi_json_api.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/whatsapp/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/whatsapp_business/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/wrike/README.md +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/wrike/__init__.py +0 -0
- {universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/src/universal_mcp/applications/youtube/__init__.py +0 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Python-generated files
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[oc]
|
|
4
|
+
build/
|
|
5
|
+
dist/
|
|
6
|
+
wheels/
|
|
7
|
+
*.egg-info
|
|
8
|
+
|
|
9
|
+
# Virtual environments
|
|
10
|
+
.venv
|
|
11
|
+
|
|
12
|
+
# Environment variables
|
|
13
|
+
.env
|
|
14
|
+
.env.local
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
dump/
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
# SQLite database
|
|
21
|
+
*.db
|
|
22
|
+
*.sqlite
|
|
23
|
+
*.sqlite3
|
|
24
|
+
*.db-shm
|
|
25
|
+
*.db-wal
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
# Pyright
|
|
29
|
+
.pyright
|
|
30
|
+
|
|
31
|
+
# Ruff
|
|
32
|
+
.ruff_cache
|
|
33
|
+
|
|
34
|
+
# Pytest
|
|
35
|
+
.pytest_cache
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
# Local config
|
|
39
|
+
local_config.json
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
# Test Artifacts
|
|
43
|
+
test_artifacts/
|
|
44
|
+
src/universal_mcp/applications/complex/
|
|
45
|
+
src/universal_mcp/applications/test/
|
|
46
|
+
src/universal_mcp/applications/test_with_docs/
|
|
47
|
+
src/universal_mcp/applications/test_without_docs/
|
|
48
|
+
|
|
49
|
+
# Temporary files
|
|
50
|
+
tmp/
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
# Docs
|
|
54
|
+
site/
|
|
55
|
+
.cache/
|
|
56
|
+
|
|
57
|
+
# langgraph temporary files
|
|
58
|
+
.langgraph_api/
|
|
59
|
+
langgraph.json
|
|
60
|
+
agentr-1-6c4ebd5cc914.json
|
|
61
|
+
|
|
62
|
+
.DS_Store
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# Agent.md — Python + uv
|
|
2
|
+
|
|
3
|
+
Purpose
|
|
4
|
+
- This repository uses Python managed by uv for dependency resolution, virtual environments, locking, and execution. Always prefer uv subcommands (add/remove/run/sync/export) over raw pip/venv commands.
|
|
5
|
+
|
|
6
|
+
Core rules
|
|
7
|
+
- Use `uv add` to add or upgrade dependencies so that both `pyproject.toml` and `uv.lock` stay in sync; do not use `pip install` directly.
|
|
8
|
+
- Keep runtime dependencies in `[project.dependencies]` and development-only tools in the `dev` group via `uv add --dev ...`.
|
|
9
|
+
- Use `uv run` to execute Python, test, and tooling commands without manually activating a virtual environment.
|
|
10
|
+
|
|
11
|
+
Project bootstrap
|
|
12
|
+
- New project (scaffold files): `uv init`
|
|
13
|
+
- First install or clean install: `uv sync`
|
|
14
|
+
- Run the app: `uv run python -m <your_module>` or `uv run main.py`
|
|
15
|
+
- REPL: `uv run python`
|
|
16
|
+
- Scripts in pyproject: prefer `uv run <command>` to ensure the correct environment is used
|
|
17
|
+
|
|
18
|
+
Managing dependencies
|
|
19
|
+
- Add runtime dependency: `uv add <name>` (e.g., `uv add httpx`)
|
|
20
|
+
- Add dev dependencies: `uv add --dev pytest ruff`
|
|
21
|
+
- Pin/upgrade by constraint: `uv add "httpx>=0.27"` or adjust `pyproject.toml` and then `uv sync`
|
|
22
|
+
- Remove dependency: `uv remove <name>`
|
|
23
|
+
- Export lock for external tooling: `uv export --format requirements-txt --output-file requirements.txt`
|
|
24
|
+
|
|
25
|
+
Locking and environments
|
|
26
|
+
- `uv run` and `uv sync` will ensure the environment matches `pyproject.toml` and `uv.lock`
|
|
27
|
+
- Avoid manual `pip install` or manual `venv` activation; let uv manage the environment
|
|
28
|
+
- Commit `uv.lock` to version control for reproducible installs
|
|
29
|
+
|
|
30
|
+
pyproject guidance
|
|
31
|
+
- Dependencies live under `[project]` → `dependencies = [...]`
|
|
32
|
+
- Development-only tooling should go under a dev group (e.g., `uv add --dev ruff pytest`) for clean separation
|
|
33
|
+
- Keep `requires-python` current (e.g., `>=3.12`) to match the team’s baseline
|
|
34
|
+
|
|
35
|
+
Usage in this repo
|
|
36
|
+
- When adding libraries or changing versions, propose `uv add ...` changes that update both `pyproject.toml` and `uv.lock`, then run `uv run pytest -q` to validate
|
|
37
|
+
- Prefer minimal diffs, explain the plan, apply changes, and run tests/tooling via `uv run`
|
|
38
|
+
- If build/test fails, inspect error context, adjust constraints or code, and re-run via `uv run`
|
|
39
|
+
|
|
40
|
+
Common commands (copy/paste)
|
|
41
|
+
- Initialize: `uv init` | Install deps: `uv sync`
|
|
42
|
+
- Add runtime: `uv add <pkg>` | Add dev: `uv add --dev <pkg>`
|
|
43
|
+
- Remove: `uv remove <pkg>`
|
|
44
|
+
- Run app: `uv run python -m <your_module>` or `uv run main.py`
|
|
45
|
+
- Tests: `uv run pytest -q`
|
|
46
|
+
- Lint/format: `uv run ruff check .` and/or `uv run ruff format .`
|
|
47
|
+
- Export: `uv export --format requirements-txt --output-file requirements.txt`
|
|
48
|
+
|
|
49
|
+
Of course. Based on your request and the example `app.py` you provided, here is a new section that you can append to your `gemini.md` file. This section provides clear guidance on how to write effective tool names and descriptions, using the Perplexity `chat` function as a concrete example.
|
|
50
|
+
|
|
51
|
+
The proposed changes will make the function's purpose much clearer, especially its ability to access and cite real-time web information, which is a key feature.
|
|
52
|
+
|
|
53
|
+
***
|
|
54
|
+
|
|
55
|
+
### Tool Function Naming and Descriptions
|
|
56
|
+
|
|
57
|
+
To ensure the AI agent can effectively understand and use the tools available, function names and their descriptions (docstrings) must be clear, descriptive, and accurate. A good description outlines the tool's purpose, its key capabilities, and what it returns.
|
|
58
|
+
|
|
59
|
+
**Core Principles:**
|
|
60
|
+
- **Use Action-Oriented Names:** Function names should be verbs that clearly state what the tool *does* (e.g., `search`, `create_file`, `list_users`).
|
|
61
|
+
- **Be Specific in Descriptions:** The docstring is the primary source of context for the AI. It should explicitly mention the service it interacts with (e.g., "Perplexity AI") and its unique features (e.g., "performs real-time web searches," "provides citations").
|
|
62
|
+
- **Detail Inputs and Outputs:** Clearly describe the purpose of each argument and what the function returns, as this helps the agent formulate correct calls.
|
|
63
|
+
|
|
64
|
+
**Example: Improving the Perplexity Tool**
|
|
65
|
+
|
|
66
|
+
Let's refine the tool in `app.py` to be more descriptive and unlock its full potential. The original `chat` function is too generic. We will rename it to `search` and significantly improve its docstring.
|
|
67
|
+
|
|
68
|
+
**BEFORE:** The original function name and description are too simple.
|
|
69
|
+
|
|
70
|
+
```python
|
|
71
|
+
# from app.py
|
|
72
|
+
def chat(
|
|
73
|
+
self,
|
|
74
|
+
query: str,
|
|
75
|
+
model: Literal[...] = "sonar",
|
|
76
|
+
temperature: float = 1,
|
|
77
|
+
system_prompt: str = "Be precise and concise.",
|
|
78
|
+
) -> dict[str, Any] | str:
|
|
79
|
+
"""
|
|
80
|
+
Initiates a chat completion request to generate AI responses using various models with customizable parameters.
|
|
81
|
+
...
|
|
82
|
+
Tags:
|
|
83
|
+
chat, generate, ai, completion, important
|
|
84
|
+
"""
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
**AFTER:** The updated name and description are highly specific, highlighting the core web search and citation capabilities. Do not leave any empty lines between the descriptions.
|
|
88
|
+
|
|
89
|
+
```python
|
|
90
|
+
# from app.py
|
|
91
|
+
def search(
|
|
92
|
+
self,
|
|
93
|
+
query: str,
|
|
94
|
+
model: Literal[
|
|
95
|
+
"r1-1776",
|
|
96
|
+
"sonar",
|
|
97
|
+
"sonar-pro",
|
|
98
|
+
"sonar-reasoning",
|
|
99
|
+
"sonar-reasoning-pro",
|
|
100
|
+
"sonar-deep-research",
|
|
101
|
+
] = "sonar-pro",
|
|
102
|
+
temperature: float = 1,
|
|
103
|
+
system_prompt: str = "You are a helpful AI assistant that answers questions using real-time information from the web.",
|
|
104
|
+
) -> dict[str, Any] | str:
|
|
105
|
+
"""
|
|
106
|
+
Performs a real-time web search using Perplexity AI to answer a query with up-to-date information and citations.
|
|
107
|
+
This tool is ideal for questions about current events, facts, or any topic that requires access to the latest information from the internet. It returns a natural language answer along with the sources used.
|
|
108
|
+
|
|
109
|
+
Args:
|
|
110
|
+
query: The search query or question to ask. For example: "What are the latest developments in AI regulation?"
|
|
111
|
+
model: The Perplexity model to use. 'sonar-pro' is recommended for comprehensive, up-to-date answers.
|
|
112
|
+
temperature: Controls randomness in the model's output. Higher values make the output more random, lower values make it more deterministic. Defaults to 1.
|
|
113
|
+
system_prompt: The initial system message to guide the model's behavior.
|
|
114
|
+
|
|
115
|
+
Returns:
|
|
116
|
+
A dictionary containing the generated 'content' (str) and a list of 'citations' (list) from the web search.
|
|
117
|
+
|
|
118
|
+
Raises:
|
|
119
|
+
AuthenticationError: Raised when API authentication fails due to missing or invalid credentials.
|
|
120
|
+
HTTPError: Raised when the API request fails or returns an error status.
|
|
121
|
+
|
|
122
|
+
Tags:
|
|
123
|
+
search, web, research, citations, current events, important
|
|
124
|
+
"""
|
|
125
|
+
```
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: universal-mcp-applications
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.39rc12
|
|
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
|
|
@@ -13,18 +13,21 @@ Classifier: Programming Language :: Python :: 3
|
|
|
13
13
|
Classifier: Programming Language :: Python :: 3.11
|
|
14
14
|
Requires-Python: >=3.11
|
|
15
15
|
Requires-Dist: boto3>=1.38.32
|
|
16
|
+
Requires-Dist: browser-use-sdk>=2.0.4
|
|
16
17
|
Requires-Dist: dnspython>=2.4.0
|
|
17
18
|
Requires-Dist: e2b-code-interpreter>=1.2.1
|
|
18
19
|
Requires-Dist: elevenlabs>=2.14.0
|
|
20
|
+
Requires-Dist: exa-py>=2.0.1
|
|
19
21
|
Requires-Dist: fal-client>=0.5.9
|
|
20
22
|
Requires-Dist: firecrawl-py>=3.0.3
|
|
21
23
|
Requires-Dist: google-genai>=1.33.0
|
|
22
24
|
Requires-Dist: google-search-results>=2.4.2
|
|
23
25
|
Requires-Dist: gql[all]>=3.5.2
|
|
24
26
|
Requires-Dist: httpx-aiohttp>=0.1.8
|
|
25
|
-
Requires-Dist: markitdown[
|
|
27
|
+
Requires-Dist: markitdown[audio-transcription,az-doc-intel,docx,outlook,pdf,pptx,xls,xlsx]>=0.1.3
|
|
26
28
|
Requires-Dist: office365-rest-python-client>=2.6.2
|
|
27
29
|
Requires-Dist: openai>=1.75.0
|
|
30
|
+
Requires-Dist: perplexityai>=0.22.0
|
|
28
31
|
Requires-Dist: pyairtable>=3.1.1
|
|
29
32
|
Requires-Dist: pytest-asyncio>=1.1.0
|
|
30
33
|
Requires-Dist: pytest>=8.3.5
|
|
@@ -34,7 +37,9 @@ Requires-Dist: replicate>=1.0.6
|
|
|
34
37
|
Requires-Dist: requests>=2.31.0
|
|
35
38
|
Requires-Dist: resend>=2.10.0
|
|
36
39
|
Requires-Dist: twilio>=9.8.0
|
|
37
|
-
Requires-Dist: universal-mcp>=0.1.
|
|
40
|
+
Requires-Dist: universal-mcp>=0.1.25rc2
|
|
41
|
+
Requires-Dist: yfinance>=0.2.66
|
|
42
|
+
Requires-Dist: youtube-transcript-api==1.2.2
|
|
38
43
|
Provides-Extra: dev
|
|
39
44
|
Requires-Dist: pre-commit; extra == 'dev'
|
|
40
45
|
Requires-Dist: ruff; extra == 'dev'
|
|
@@ -84,91 +89,4 @@ result = app.some_method(param1="value1")
|
|
|
84
89
|
|
|
85
90
|
# Process and print the output
|
|
86
91
|
process_output(result)
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
## Included Applications
|
|
90
|
-
|
|
91
|
-
This package includes the following 82 applications:
|
|
92
|
-
|
|
93
|
-
- `ahrefs`
|
|
94
|
-
- `airtable`
|
|
95
|
-
- `apollo`
|
|
96
|
-
- `asana`
|
|
97
|
-
- `aws-s3`
|
|
98
|
-
- `bill`
|
|
99
|
-
- `box`
|
|
100
|
-
- `braze`
|
|
101
|
-
- `cal-com-v2`
|
|
102
|
-
- `calendly`
|
|
103
|
-
- `canva`
|
|
104
|
-
- `clickup`
|
|
105
|
-
- `coda`
|
|
106
|
-
- `confluence`
|
|
107
|
-
- `contentful`
|
|
108
|
-
- `crustdata`
|
|
109
|
-
- `dialpad`
|
|
110
|
-
- `digitalocean`
|
|
111
|
-
- `domain-checker`
|
|
112
|
-
- `e2b`
|
|
113
|
-
- `elevenlabs`
|
|
114
|
-
- `exa`
|
|
115
|
-
- `falai`
|
|
116
|
-
- `figma`
|
|
117
|
-
- `firecrawl`
|
|
118
|
-
- `fireflies`
|
|
119
|
-
- `fpl`
|
|
120
|
-
- `ghost-content`
|
|
121
|
-
- `github`
|
|
122
|
-
- `gong`
|
|
123
|
-
- `google-ads`
|
|
124
|
-
- `google-calendar`
|
|
125
|
-
- `google-docs`
|
|
126
|
-
- `google-drive`
|
|
127
|
-
- `google-gemini`
|
|
128
|
-
- `google-mail`
|
|
129
|
-
- `google-searchconsole`
|
|
130
|
-
- `google-sheet`
|
|
131
|
-
- `hashnode`
|
|
132
|
-
- `heygen`
|
|
133
|
-
- `http-tools`
|
|
134
|
-
- `hubspot`
|
|
135
|
-
- `jira`
|
|
136
|
-
- `klaviyo`
|
|
137
|
-
- `linkedin`
|
|
138
|
-
- `mailchimp`
|
|
139
|
-
- `markitdown`
|
|
140
|
-
- `miro`
|
|
141
|
-
- `ms-teams`
|
|
142
|
-
- `neon`
|
|
143
|
-
- `notion`
|
|
144
|
-
- `openai`
|
|
145
|
-
- `outlook`
|
|
146
|
-
- `perplexity`
|
|
147
|
-
- `pipedrive`
|
|
148
|
-
- `posthog`
|
|
149
|
-
- `reddit`
|
|
150
|
-
- `replicate`
|
|
151
|
-
- `resend`
|
|
152
|
-
- `retell`
|
|
153
|
-
- `rocketlane`
|
|
154
|
-
- `semanticscholar`
|
|
155
|
-
- `semrush`
|
|
156
|
-
- `sendgrid`
|
|
157
|
-
- `sentry`
|
|
158
|
-
- `serpapi`
|
|
159
|
-
- `sharepoint`
|
|
160
|
-
- `shopify`
|
|
161
|
-
- `shortcut`
|
|
162
|
-
- `slack`
|
|
163
|
-
- `spotify`
|
|
164
|
-
- `supabase`
|
|
165
|
-
- `tavily`
|
|
166
|
-
- `trello`
|
|
167
|
-
- `twillo`
|
|
168
|
-
- `twitter`
|
|
169
|
-
- `unipile`
|
|
170
|
-
- `whatsapp`
|
|
171
|
-
- `whatsapp-business`
|
|
172
|
-
- `wrike`
|
|
173
|
-
- `youtube`
|
|
174
|
-
- `zenquotes`
|
|
92
|
+
```
|
|
@@ -39,91 +39,4 @@ result = app.some_method(param1="value1")
|
|
|
39
39
|
|
|
40
40
|
# Process and print the output
|
|
41
41
|
process_output(result)
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
## Included Applications
|
|
45
|
-
|
|
46
|
-
This package includes the following 82 applications:
|
|
47
|
-
|
|
48
|
-
- `ahrefs`
|
|
49
|
-
- `airtable`
|
|
50
|
-
- `apollo`
|
|
51
|
-
- `asana`
|
|
52
|
-
- `aws-s3`
|
|
53
|
-
- `bill`
|
|
54
|
-
- `box`
|
|
55
|
-
- `braze`
|
|
56
|
-
- `cal-com-v2`
|
|
57
|
-
- `calendly`
|
|
58
|
-
- `canva`
|
|
59
|
-
- `clickup`
|
|
60
|
-
- `coda`
|
|
61
|
-
- `confluence`
|
|
62
|
-
- `contentful`
|
|
63
|
-
- `crustdata`
|
|
64
|
-
- `dialpad`
|
|
65
|
-
- `digitalocean`
|
|
66
|
-
- `domain-checker`
|
|
67
|
-
- `e2b`
|
|
68
|
-
- `elevenlabs`
|
|
69
|
-
- `exa`
|
|
70
|
-
- `falai`
|
|
71
|
-
- `figma`
|
|
72
|
-
- `firecrawl`
|
|
73
|
-
- `fireflies`
|
|
74
|
-
- `fpl`
|
|
75
|
-
- `ghost-content`
|
|
76
|
-
- `github`
|
|
77
|
-
- `gong`
|
|
78
|
-
- `google-ads`
|
|
79
|
-
- `google-calendar`
|
|
80
|
-
- `google-docs`
|
|
81
|
-
- `google-drive`
|
|
82
|
-
- `google-gemini`
|
|
83
|
-
- `google-mail`
|
|
84
|
-
- `google-searchconsole`
|
|
85
|
-
- `google-sheet`
|
|
86
|
-
- `hashnode`
|
|
87
|
-
- `heygen`
|
|
88
|
-
- `http-tools`
|
|
89
|
-
- `hubspot`
|
|
90
|
-
- `jira`
|
|
91
|
-
- `klaviyo`
|
|
92
|
-
- `linkedin`
|
|
93
|
-
- `mailchimp`
|
|
94
|
-
- `markitdown`
|
|
95
|
-
- `miro`
|
|
96
|
-
- `ms-teams`
|
|
97
|
-
- `neon`
|
|
98
|
-
- `notion`
|
|
99
|
-
- `openai`
|
|
100
|
-
- `outlook`
|
|
101
|
-
- `perplexity`
|
|
102
|
-
- `pipedrive`
|
|
103
|
-
- `posthog`
|
|
104
|
-
- `reddit`
|
|
105
|
-
- `replicate`
|
|
106
|
-
- `resend`
|
|
107
|
-
- `retell`
|
|
108
|
-
- `rocketlane`
|
|
109
|
-
- `semanticscholar`
|
|
110
|
-
- `semrush`
|
|
111
|
-
- `sendgrid`
|
|
112
|
-
- `sentry`
|
|
113
|
-
- `serpapi`
|
|
114
|
-
- `sharepoint`
|
|
115
|
-
- `shopify`
|
|
116
|
-
- `shortcut`
|
|
117
|
-
- `slack`
|
|
118
|
-
- `spotify`
|
|
119
|
-
- `supabase`
|
|
120
|
-
- `tavily`
|
|
121
|
-
- `trello`
|
|
122
|
-
- `twillo`
|
|
123
|
-
- `twitter`
|
|
124
|
-
- `unipile`
|
|
125
|
-
- `whatsapp`
|
|
126
|
-
- `whatsapp-business`
|
|
127
|
-
- `wrike`
|
|
128
|
-
- `youtube`
|
|
129
|
-
- `zenquotes`
|
|
42
|
+
```
|
{universal_mcp_applications-0.1.3 → universal_mcp_applications-0.1.39rc12}/bump_and_release.sh
RENAMED
|
@@ -5,7 +5,7 @@ set -x
|
|
|
5
5
|
|
|
6
6
|
# Ensure dependencies are installed
|
|
7
7
|
echo "Syncing dependencies..."
|
|
8
|
-
uv sync
|
|
8
|
+
uv sync --all-extras
|
|
9
9
|
|
|
10
10
|
# Run tests with pytest
|
|
11
11
|
echo "Running tests with pytest..."
|
|
@@ -25,7 +25,7 @@ IFS='.' read -r MAJOR MINOR PATCH <<< "$CURRENT_VERSION"
|
|
|
25
25
|
# Remove any rc suffix from PATCH if it exists
|
|
26
26
|
PATCH_NUM=$(echo $PATCH | sed 's/-rc[0-9]*//')
|
|
27
27
|
|
|
28
|
-
if [ "$BRANCH" = "master" ]; then
|
|
28
|
+
if [ "$BRANCH" = "master" ] || [ "$BRANCH" = "main" ]; then
|
|
29
29
|
# On main branch - bump patch version
|
|
30
30
|
if [[ $PATCH == *"-rc"* ]]; then
|
|
31
31
|
NEW_VERSION="$MAJOR.$MINOR.$PATCH_NUM"
|
|
@@ -55,7 +55,7 @@ sed -i '' "s/^version = ".*"/version = \"$NEW_VERSION\"/" pyproject.toml
|
|
|
55
55
|
echo "Version bumped from $CURRENT_VERSION to $NEW_VERSION"
|
|
56
56
|
|
|
57
57
|
# Stage the changed file
|
|
58
|
-
git add pyproject.toml
|
|
58
|
+
git add pyproject.toml uv.lock
|
|
59
59
|
|
|
60
60
|
# Commit the change
|
|
61
61
|
git commit -m "bump: version $CURRENT_VERSION → $NEW_VERSION"
|
|
@@ -81,13 +81,12 @@ if [ "$1" = "release" ]; then
|
|
|
81
81
|
rm -rf .pytest_cache
|
|
82
82
|
rm -rf .ruff_cache
|
|
83
83
|
rm -rf .mypy_cache
|
|
84
|
-
rm -rf .venv
|
|
85
84
|
rm -rf .cache
|
|
86
85
|
rm -rf .DS_Store
|
|
87
86
|
rm -rf .idea
|
|
88
87
|
rm -rf .vscode
|
|
89
88
|
|
|
90
|
-
uv
|
|
89
|
+
uv build && uv publish
|
|
91
90
|
echo "Release complete!"
|
|
92
91
|
else
|
|
93
92
|
echo "Skipping release steps"
|
|
@@ -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.39-rc12"
|
|
10
10
|
description = "A Universal MCP Application: universal_mcp_applications"
|
|
11
11
|
readme = "README.md"
|
|
12
12
|
requires-python = ">=3.11"
|
|
@@ -21,18 +21,21 @@ classifiers = [
|
|
|
21
21
|
]
|
|
22
22
|
dependencies = [
|
|
23
23
|
"boto3>=1.38.32",
|
|
24
|
+
"browser-use-sdk>=2.0.4",
|
|
24
25
|
"dnspython>=2.4.0",
|
|
25
26
|
"e2b-code-interpreter>=1.2.1",
|
|
26
27
|
"elevenlabs>=2.14.0",
|
|
28
|
+
"exa-py>=2.0.1",
|
|
27
29
|
"fal-client>=0.5.9",
|
|
28
30
|
"firecrawl-py>=3.0.3",
|
|
29
31
|
"google-genai>=1.33.0",
|
|
30
32
|
"google-search-results>=2.4.2",
|
|
31
33
|
"gql[all]>=3.5.2",
|
|
32
34
|
"httpx-aiohttp>=0.1.8",
|
|
33
|
-
"markitdown[
|
|
35
|
+
"markitdown[audio-transcription,az-doc-intel,docx,outlook,pdf,pptx,xls,xlsx]>=0.1.3",
|
|
34
36
|
"office365-rest-python-client>=2.6.2",
|
|
35
37
|
"openai>=1.75.0",
|
|
38
|
+
"perplexityai>=0.22.0",
|
|
36
39
|
"pyairtable>=3.1.1",
|
|
37
40
|
"pytest-asyncio>=1.1.0",
|
|
38
41
|
"pytest>=8.3.5",
|
|
@@ -42,7 +45,9 @@ dependencies = [
|
|
|
42
45
|
"requests>=2.31.0",
|
|
43
46
|
"resend>=2.10.0",
|
|
44
47
|
"twilio>=9.8.0",
|
|
45
|
-
"universal-mcp
|
|
48
|
+
"universal-mcp>=0.1.25rc2",
|
|
49
|
+
"yfinance>=0.2.66",
|
|
50
|
+
"youtube-transcript-api==1.2.2",
|
|
46
51
|
]
|
|
47
52
|
|
|
48
53
|
[project.license]
|
|
@@ -74,7 +79,6 @@ test-cov = "pytest --cov-report term-missing --cov-config=pyproject.toml --cov=s
|
|
|
74
79
|
lint = "ruff check . && ruff format --check ."
|
|
75
80
|
format = "ruff format ."
|
|
76
81
|
|
|
77
|
-
|
|
78
82
|
[tool.hatch.build.targets.wheel]
|
|
79
83
|
packages = [
|
|
80
84
|
"src/universal_mcp",
|
|
@@ -82,7 +86,7 @@ packages = [
|
|
|
82
86
|
|
|
83
87
|
[tool.coverage.run]
|
|
84
88
|
source = [
|
|
85
|
-
"src",
|
|
89
|
+
"src",
|
|
86
90
|
]
|
|
87
91
|
branch = true
|
|
88
92
|
|
|
@@ -91,12 +95,11 @@ show_missing = true
|
|
|
91
95
|
fail_under = 70
|
|
92
96
|
|
|
93
97
|
[tool.ruff]
|
|
94
|
-
line-length =
|
|
95
|
-
select = [
|
|
98
|
+
line-length = 140
|
|
99
|
+
lint.select = [
|
|
96
100
|
"E", "W", "F", "I", "UP", "PL", "T20",
|
|
97
101
|
]
|
|
98
|
-
ignore = []
|
|
99
|
-
|
|
102
|
+
lint.ignore = []
|
|
100
103
|
|
|
101
104
|
[tool.ruff.format]
|
|
102
105
|
quote-style = "double"
|
|
@@ -105,3 +108,9 @@ quote-style = "double"
|
|
|
105
108
|
pythonpath = [
|
|
106
109
|
"src",
|
|
107
110
|
]
|
|
111
|
+
|
|
112
|
+
[dependency-groups]
|
|
113
|
+
dev = [
|
|
114
|
+
"litellm>=1.77.3",
|
|
115
|
+
"universal-mcp-agents>=0.1.13",
|
|
116
|
+
]
|