universal-mcp 0.1.12__py3-none-any.whl → 0.1.13rc2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. universal_mcp/applications/__init__.py +51 -7
  2. universal_mcp/cli.py +109 -17
  3. universal_mcp/integrations/__init__.py +1 -1
  4. universal_mcp/integrations/integration.py +79 -0
  5. universal_mcp/servers/README.md +79 -0
  6. universal_mcp/servers/server.py +17 -29
  7. universal_mcp/stores/README.md +74 -0
  8. universal_mcp/stores/store.py +0 -2
  9. universal_mcp/templates/README.md.j2 +93 -0
  10. universal_mcp/templates/api_client.py.j2 +27 -0
  11. universal_mcp/tools/README.md +86 -0
  12. universal_mcp/tools/tools.py +1 -1
  13. universal_mcp/utils/agentr.py +90 -0
  14. universal_mcp/utils/api_generator.py +166 -208
  15. universal_mcp/utils/openapi.py +221 -321
  16. universal_mcp/utils/singleton.py +23 -0
  17. {universal_mcp-0.1.12.dist-info → universal_mcp-0.1.13rc2.dist-info}/METADATA +16 -41
  18. universal_mcp-0.1.13rc2.dist-info/RECORD +38 -0
  19. universal_mcp/applications/ahrefs/README.md +0 -76
  20. universal_mcp/applications/ahrefs/__init__.py +0 -0
  21. universal_mcp/applications/ahrefs/app.py +0 -2291
  22. universal_mcp/applications/cal_com_v2/README.md +0 -175
  23. universal_mcp/applications/cal_com_v2/__init__.py +0 -0
  24. universal_mcp/applications/cal_com_v2/app.py +0 -5390
  25. universal_mcp/applications/calendly/README.md +0 -78
  26. universal_mcp/applications/calendly/__init__.py +0 -0
  27. universal_mcp/applications/calendly/app.py +0 -1195
  28. universal_mcp/applications/clickup/README.md +0 -160
  29. universal_mcp/applications/clickup/__init__.py +0 -0
  30. universal_mcp/applications/clickup/app.py +0 -5009
  31. universal_mcp/applications/coda/README.md +0 -133
  32. universal_mcp/applications/coda/__init__.py +0 -0
  33. universal_mcp/applications/coda/app.py +0 -3671
  34. universal_mcp/applications/e2b/README.md +0 -37
  35. universal_mcp/applications/e2b/app.py +0 -65
  36. universal_mcp/applications/elevenlabs/README.md +0 -84
  37. universal_mcp/applications/elevenlabs/__init__.py +0 -0
  38. universal_mcp/applications/elevenlabs/app.py +0 -1402
  39. universal_mcp/applications/falai/README.md +0 -42
  40. universal_mcp/applications/falai/__init__.py +0 -0
  41. universal_mcp/applications/falai/app.py +0 -332
  42. universal_mcp/applications/figma/README.md +0 -74
  43. universal_mcp/applications/figma/__init__.py +0 -0
  44. universal_mcp/applications/figma/app.py +0 -1261
  45. universal_mcp/applications/firecrawl/README.md +0 -45
  46. universal_mcp/applications/firecrawl/app.py +0 -268
  47. universal_mcp/applications/github/README.md +0 -47
  48. universal_mcp/applications/github/app.py +0 -429
  49. universal_mcp/applications/gong/README.md +0 -88
  50. universal_mcp/applications/gong/__init__.py +0 -0
  51. universal_mcp/applications/gong/app.py +0 -2297
  52. universal_mcp/applications/google_calendar/app.py +0 -442
  53. universal_mcp/applications/google_docs/README.md +0 -40
  54. universal_mcp/applications/google_docs/app.py +0 -88
  55. universal_mcp/applications/google_drive/README.md +0 -44
  56. universal_mcp/applications/google_drive/app.py +0 -286
  57. universal_mcp/applications/google_mail/README.md +0 -47
  58. universal_mcp/applications/google_mail/app.py +0 -664
  59. universal_mcp/applications/google_sheet/README.md +0 -42
  60. universal_mcp/applications/google_sheet/app.py +0 -150
  61. universal_mcp/applications/hashnode/app.py +0 -81
  62. universal_mcp/applications/hashnode/prompt.md +0 -23
  63. universal_mcp/applications/heygen/README.md +0 -69
  64. universal_mcp/applications/heygen/__init__.py +0 -0
  65. universal_mcp/applications/heygen/app.py +0 -956
  66. universal_mcp/applications/mailchimp/README.md +0 -306
  67. universal_mcp/applications/mailchimp/__init__.py +0 -0
  68. universal_mcp/applications/mailchimp/app.py +0 -10937
  69. universal_mcp/applications/markitdown/app.py +0 -44
  70. universal_mcp/applications/notion/README.md +0 -55
  71. universal_mcp/applications/notion/__init__.py +0 -0
  72. universal_mcp/applications/notion/app.py +0 -527
  73. universal_mcp/applications/perplexity/README.md +0 -37
  74. universal_mcp/applications/perplexity/app.py +0 -65
  75. universal_mcp/applications/reddit/README.md +0 -45
  76. universal_mcp/applications/reddit/app.py +0 -379
  77. universal_mcp/applications/replicate/README.md +0 -65
  78. universal_mcp/applications/replicate/__init__.py +0 -0
  79. universal_mcp/applications/replicate/app.py +0 -980
  80. universal_mcp/applications/resend/README.md +0 -38
  81. universal_mcp/applications/resend/app.py +0 -37
  82. universal_mcp/applications/retell_ai/README.md +0 -46
  83. universal_mcp/applications/retell_ai/__init__.py +0 -0
  84. universal_mcp/applications/retell_ai/app.py +0 -333
  85. universal_mcp/applications/rocketlane/README.md +0 -42
  86. universal_mcp/applications/rocketlane/__init__.py +0 -0
  87. universal_mcp/applications/rocketlane/app.py +0 -194
  88. universal_mcp/applications/serpapi/README.md +0 -37
  89. universal_mcp/applications/serpapi/app.py +0 -73
  90. universal_mcp/applications/spotify/README.md +0 -116
  91. universal_mcp/applications/spotify/__init__.py +0 -0
  92. universal_mcp/applications/spotify/app.py +0 -2526
  93. universal_mcp/applications/supabase/README.md +0 -112
  94. universal_mcp/applications/supabase/__init__.py +0 -0
  95. universal_mcp/applications/supabase/app.py +0 -2970
  96. universal_mcp/applications/tavily/README.md +0 -38
  97. universal_mcp/applications/tavily/app.py +0 -51
  98. universal_mcp/applications/wrike/README.md +0 -71
  99. universal_mcp/applications/wrike/__init__.py +0 -0
  100. universal_mcp/applications/wrike/app.py +0 -1372
  101. universal_mcp/applications/youtube/README.md +0 -82
  102. universal_mcp/applications/youtube/__init__.py +0 -0
  103. universal_mcp/applications/youtube/app.py +0 -1428
  104. universal_mcp/applications/zenquotes/README.md +0 -37
  105. universal_mcp/applications/zenquotes/app.py +0 -31
  106. universal_mcp/integrations/agentr.py +0 -112
  107. universal_mcp-0.1.12.dist-info/RECORD +0 -119
  108. {universal_mcp-0.1.12.dist-info → universal_mcp-0.1.13rc2.dist-info}/WHEEL +0 -0
  109. {universal_mcp-0.1.12.dist-info → universal_mcp-0.1.13rc2.dist-info}/entry_points.txt +0 -0
@@ -1,37 +0,0 @@
1
-
2
- # E2B MCP Server
3
-
4
- An MCP Server for the E2B API.
5
-
6
- ## Supported Integrations
7
-
8
- - AgentR
9
- - API Key (Coming Soon)
10
- - OAuth (Coming Soon)
11
-
12
- ## Tools
13
-
14
- This is automatically generated from OpenAPI schema for the E2B API.
15
-
16
- ## Supported Integrations
17
-
18
- This tool can be integrated with any service that supports HTTP requests.
19
-
20
- ## Tool List
21
-
22
- | Tool | Description |
23
- |------|-------------|
24
- | execute_python_code | Executes Python code within a secure E2B cloud sandbox. |
25
-
26
-
27
-
28
- ## Usage
29
-
30
- - Login to AgentR
31
- - Follow the quickstart guide to setup MCP Server for your client
32
- - Visit Apps Store and enable the E2B app
33
- - Restart the MCP Server
34
-
35
- ### Local Development
36
-
37
- - Follow the README to test with the local MCP Server
@@ -1,65 +0,0 @@
1
- from typing import Annotated
2
-
3
- from e2b_code_interpreter import Sandbox
4
-
5
- from universal_mcp.applications.application import APIApplication
6
- from universal_mcp.integrations import Integration
7
-
8
-
9
- class E2BApp(APIApplication):
10
- """
11
- Application for interacting with the E2B secure cloud sandboxes
12
- to execute Python code.
13
- """
14
-
15
- def __init__(self, integration: Integration | None = None) -> None:
16
- super().__init__(name="e2b", integration=integration)
17
-
18
- def _format_execution_output(self, logs) -> str:
19
- """Helper function to format the E2B execution logs nicely."""
20
- output_parts = []
21
-
22
- if logs.stdout:
23
- stdout_content = "".join(logs.stdout).strip()
24
- if stdout_content:
25
- output_parts.append(f"\n{stdout_content}")
26
-
27
- if logs.stderr:
28
- stderr_content = "".join(logs.stderr).strip()
29
- if stderr_content:
30
- output_parts.append(f"--- ERROR ---\n{stderr_content}")
31
-
32
- if not output_parts:
33
- return "Execution finished with no output (stdout/stderr)."
34
- return "\n\n".join(output_parts)
35
-
36
- def execute_python_code(
37
- self, code: Annotated[str, "The Python code to execute."]
38
- ) -> str:
39
- """
40
- Executes Python code in a sandbox environment and returns the formatted output
41
-
42
- Args:
43
- code: String containing the Python code to be executed in the sandbox
44
-
45
- Returns:
46
- A string containing the formatted execution output/logs from running the code
47
-
48
- Raises:
49
- SandboxError: When there are issues with sandbox initialization or code execution
50
- AuthenticationError: When API key authentication fails during sandbox setup
51
- ValueError: When provided code string is empty or invalid
52
-
53
- Tags:
54
- execute, sandbox, code-execution, security, important
55
- """
56
- api_key = self.integration.get_credentials().get("api_key")
57
- with Sandbox(api_key=api_key) as sandbox:
58
- execution = sandbox.run_code(code=code)
59
- result = self._format_execution_output(execution.logs)
60
- return result
61
-
62
- def list_tools(self):
63
- return [
64
- self.execute_python_code,
65
- ]
@@ -1,84 +0,0 @@
1
-
2
- # Elevenlabs MCP Server
3
-
4
- An MCP Server for the Elevenlabs API.
5
-
6
- ## Supported Integrations
7
-
8
- - AgentR
9
- - API Key (Coming Soon)
10
- - OAuth (Coming Soon)
11
-
12
- ## Tools
13
-
14
- This is automatically generated from OpenAPI schema for the Elevenlabs API.
15
-
16
- ## Supported Integrations
17
-
18
- This tool can be integrated with any service that supports HTTP requests.
19
-
20
- ## Tool List
21
-
22
- | Tool | Description |
23
- |------|-------------|
24
- | get_generated_items_v1_history_get | Retrieves a paginated history of generated items from the API, optionally filtered by page size, starting history item, or voice ID. |
25
- | get_history_item_by_id_v1_history__history_item_id__get | Retrieves a specific history item by its unique identifier. |
26
- | delete_history_item_v1_history__history_item_id__delete | Deletes a specific history item by its unique identifier. |
27
- | get_audio_from_history_item_v1_history__history_item_id__audio_get | Retrieves the audio data associated with a specific history item by its unique identifier. |
28
- | download_history_items_v1_history_download_post | Downloads specified history items in the given output format via a POST request. |
29
- | delete_sample_v1_voices__voice_id__samples__sample_id__delete | Deletes a specific voice sample identified by voice_id and sample_id from the API. |
30
- | get_audio_from_sample_v1_voices__voice_id__samples__sample_id__audio_get | Retrieves audio data for a specific sample from a given voice using provided identifiers. |
31
- | text_to_speech_v1_text_to_speech__voice_id__post | Converts input text to speech using the specified voice configuration via a POST request to the text-to-speech API endpoint. |
32
- | text_to_speech_v1_text_to_speech__voice_id__stream_post | Streams synthesized speech audio for given text using a specified voice ID and customizable options. |
33
- | voice_generation_parameters_v1_voice_generation_generate_voice_parameters_get | Retrieves available parameter options for voice generation from the API. |
34
- | generate_a_random_voice_v1_voice_generation_generate_voice_post | Generates a synthetic voice audio based on specified demographics and text input by sending a POST request to the voice generation API. |
35
- | create_a_previously_generated_voice_v1_voice_generation_create_voice_post | Creates a new voice entry using data from a previously generated voice. |
36
- | get_user_subscription_info_v1_user_subscription_get | Retrieves the current user's subscription information from the API. |
37
- | get_user_info_v1_user_get | Retrieves information about the current authenticated user from the API. |
38
- | get_voices_v1_voices_get | Retrieves a list of available voices from the v1 API endpoint. |
39
- | get_default_voice_settings__v1_voices_settings_default_get | Retrieves the default voice settings from the API endpoint. |
40
- | get_voice_settings_v1_voices__voice_id__settings_get | Retrieves the settings for a specific voice using the provided voice ID. |
41
- | get_voice_v1_voices__voice_id__get | Retrieves details for a specific voice, optionally including voice settings, by making a GET request to the API. |
42
- | delete_voice_v1_voices__voice_id__delete | Deletes a voice resource identified by the given voice ID using the v1 API endpoint. |
43
- | add_sharing_voice_v1_voices_add__public_user_id___voice_id__post | Adds a shared voice for a public user by sending a POST request with a new name for the specified voice. |
44
- | get_projects_v1_projects_get | Retrieves a list of projects from the API using a GET request to the '/v1/projects' endpoint. |
45
- | get_project_by_id_v1_projects__project_id__get | Retrieve project details by project ID using the v1 projects API. |
46
- | delete_project_v1_projects__project_id__delete | Deletes a project by its ID using a DELETE HTTP request to the v1/projects endpoint. |
47
- | convert_project_v1_projects__project_id__convert_post | Converts the specified project by sending a POST request to the appropriate API endpoint. |
48
- | get_project_snapshots_v1_projects__project_id__snapshots_get | Retrieves a list of snapshots for the specified project using the v1 projects API. |
49
- | stream_project_audio_v1_projects__project_id__snapshots__project_snapshot_id__stream_post | Streams audio data for a specific project snapshot, with optional conversion to MPEG format. |
50
- | streams_archive_with_project_audio_v1_projects__project_id__snapshots__project_snapshot_id__archive_post | Creates an audio archive for the specified project snapshot by making a POST request to the project's archive endpoint. |
51
- | get_chapters_v1_projects__project_id__chapters_get | Retrieves the list of chapters for a specific project by project ID. |
52
- | get_chapter_by_id_v1_projects__project_id__chapters__chapter_id__get | Retrieves a specific chapter resource by its ID from a given project using the API. |
53
- | delete_chapter_v1_projects__project_id__chapters__chapter_id__delete | Deletes a specific chapter from a project by its project and chapter IDs. |
54
- | convert_chapter_v1_projects__project_id__chapters__chapter_id__convert_post | Initiates a conversion operation for a specified chapter within a project and returns the result as JSON. |
55
- | get_chapter_snapshots_v1_projects__project_id__chapters__chapter_id__snapshots_get | Retrieves the list of chapter snapshots for a specific chapter within a project. |
56
- | stream_chapter_audio_v1_projects__project_id__chapters__chapter_id__snapshots__chapter_snapshot_id__stream_post | Streams the audio for a specific chapter snapshot in a project, with optional conversion to MPEG format. |
57
- | update_pronunciation_dictionaries_v1_projects__project_id__update_pronunciation_dictionaries_post | Updates the pronunciation dictionaries for a specific project by sending the provided dictionary locators to the server. |
58
- | get_dubbing_project_metadata_v1_dubbing__dubbing_id__get | Retrieves metadata for a dubbing project by its unique identifier. |
59
- | delete_dubbing_project_v1_dubbing__dubbing_id__delete | Deletes a dubbing project identified by its ID via the v1 API endpoint. |
60
- | get_dubbed_file_v1_dubbing__dubbing_id__audio__language_code__get | Retrieves the dubbed audio file for a given dubbing ID and language code from the API. |
61
- | get_transcript_for_dub_v1_dubbing__dubbing_id__transcript__language_code__get | Retrieves the transcript for a specific dubbing in the requested language. |
62
- | get_sso_provider_admin_admin__admin_url_prefix__sso_provider_get | Retrieves SSO provider information for a specific admin URL prefix and workspace. |
63
- | get_models_v1_models_get | Retrieves a list of available models from the v1 API endpoint. |
64
- | get_voices_v1_shared_voices_get | Retrieves a list of shared voice resources, filtered and paginated according to the specified criteria. |
65
- | add_rules_to_the_pronunciation_dictionary_v1_pronunciation_dictionaries__pronunciation_dictionary_id__add_rules_post | Adds new pronunciation rules to a specified pronunciation dictionary by making a POST request to the backend service. |
66
- | remove_rules_from_the_pronunciation_dictionary_v1_pronunciation_dictionaries__pronunciation_dictionary_id__remove_rules_post | Removes specified pronunciation rules from a pronunciation dictionary via a POST request to the API. |
67
- | get_pls_file_with_a_pronunciation_dictionary_version_rules_v1_pronunciation_dictionaries__dictionary_id___version_id__download_get | Downloads a pronunciation lexicon (PLS) file for a specific pronunciation dictionary version. |
68
- | get_metadata_for_a_pronunciation_dictionary_v1_pronunciation_dictionaries__pronunciation_dictionary_id___get | Retrieves metadata for a specific pronunciation dictionary by its ID. |
69
- | get_pronunciation_dictionaries_v1_pronunciation_dictionaries__get | Retrieve a paginated list of pronunciation dictionaries from the v1 API endpoint. |
70
- | get_a_profile_page_profile__handle__get | Retrieves a user's profile data as a dictionary using their unique handle. |
71
- | redirect_to_mintlify_docs_get | Fetches the Mintlify documentation by sending a GET request and returns the parsed JSON response. |
72
-
73
-
74
-
75
- ## Usage
76
-
77
- - Login to AgentR
78
- - Follow the quickstart guide to setup MCP Server for your client
79
- - Visit Apps Store and enable the Elevenlabs app
80
- - Restart the MCP Server
81
-
82
- ### Local Development
83
-
84
- - Follow the README to test with the local MCP Server
File without changes