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.
- universal_mcp/applications/__init__.py +51 -7
- universal_mcp/cli.py +109 -17
- universal_mcp/integrations/__init__.py +1 -1
- universal_mcp/integrations/integration.py +79 -0
- universal_mcp/servers/README.md +79 -0
- universal_mcp/servers/server.py +17 -29
- universal_mcp/stores/README.md +74 -0
- universal_mcp/stores/store.py +0 -2
- universal_mcp/templates/README.md.j2 +93 -0
- universal_mcp/templates/api_client.py.j2 +27 -0
- universal_mcp/tools/README.md +86 -0
- universal_mcp/tools/tools.py +1 -1
- universal_mcp/utils/agentr.py +90 -0
- universal_mcp/utils/api_generator.py +166 -208
- universal_mcp/utils/openapi.py +221 -321
- universal_mcp/utils/singleton.py +23 -0
- {universal_mcp-0.1.12.dist-info → universal_mcp-0.1.13rc2.dist-info}/METADATA +16 -41
- universal_mcp-0.1.13rc2.dist-info/RECORD +38 -0
- universal_mcp/applications/ahrefs/README.md +0 -76
- universal_mcp/applications/ahrefs/__init__.py +0 -0
- universal_mcp/applications/ahrefs/app.py +0 -2291
- universal_mcp/applications/cal_com_v2/README.md +0 -175
- universal_mcp/applications/cal_com_v2/__init__.py +0 -0
- universal_mcp/applications/cal_com_v2/app.py +0 -5390
- universal_mcp/applications/calendly/README.md +0 -78
- universal_mcp/applications/calendly/__init__.py +0 -0
- universal_mcp/applications/calendly/app.py +0 -1195
- universal_mcp/applications/clickup/README.md +0 -160
- universal_mcp/applications/clickup/__init__.py +0 -0
- universal_mcp/applications/clickup/app.py +0 -5009
- universal_mcp/applications/coda/README.md +0 -133
- universal_mcp/applications/coda/__init__.py +0 -0
- universal_mcp/applications/coda/app.py +0 -3671
- universal_mcp/applications/e2b/README.md +0 -37
- universal_mcp/applications/e2b/app.py +0 -65
- universal_mcp/applications/elevenlabs/README.md +0 -84
- universal_mcp/applications/elevenlabs/__init__.py +0 -0
- universal_mcp/applications/elevenlabs/app.py +0 -1402
- universal_mcp/applications/falai/README.md +0 -42
- universal_mcp/applications/falai/__init__.py +0 -0
- universal_mcp/applications/falai/app.py +0 -332
- universal_mcp/applications/figma/README.md +0 -74
- universal_mcp/applications/figma/__init__.py +0 -0
- universal_mcp/applications/figma/app.py +0 -1261
- universal_mcp/applications/firecrawl/README.md +0 -45
- universal_mcp/applications/firecrawl/app.py +0 -268
- universal_mcp/applications/github/README.md +0 -47
- universal_mcp/applications/github/app.py +0 -429
- universal_mcp/applications/gong/README.md +0 -88
- universal_mcp/applications/gong/__init__.py +0 -0
- universal_mcp/applications/gong/app.py +0 -2297
- universal_mcp/applications/google_calendar/app.py +0 -442
- universal_mcp/applications/google_docs/README.md +0 -40
- universal_mcp/applications/google_docs/app.py +0 -88
- universal_mcp/applications/google_drive/README.md +0 -44
- universal_mcp/applications/google_drive/app.py +0 -286
- universal_mcp/applications/google_mail/README.md +0 -47
- universal_mcp/applications/google_mail/app.py +0 -664
- universal_mcp/applications/google_sheet/README.md +0 -42
- universal_mcp/applications/google_sheet/app.py +0 -150
- universal_mcp/applications/hashnode/app.py +0 -81
- universal_mcp/applications/hashnode/prompt.md +0 -23
- universal_mcp/applications/heygen/README.md +0 -69
- universal_mcp/applications/heygen/__init__.py +0 -0
- universal_mcp/applications/heygen/app.py +0 -956
- universal_mcp/applications/mailchimp/README.md +0 -306
- universal_mcp/applications/mailchimp/__init__.py +0 -0
- universal_mcp/applications/mailchimp/app.py +0 -10937
- universal_mcp/applications/markitdown/app.py +0 -44
- universal_mcp/applications/notion/README.md +0 -55
- universal_mcp/applications/notion/__init__.py +0 -0
- universal_mcp/applications/notion/app.py +0 -527
- universal_mcp/applications/perplexity/README.md +0 -37
- universal_mcp/applications/perplexity/app.py +0 -65
- universal_mcp/applications/reddit/README.md +0 -45
- universal_mcp/applications/reddit/app.py +0 -379
- universal_mcp/applications/replicate/README.md +0 -65
- universal_mcp/applications/replicate/__init__.py +0 -0
- universal_mcp/applications/replicate/app.py +0 -980
- universal_mcp/applications/resend/README.md +0 -38
- universal_mcp/applications/resend/app.py +0 -37
- universal_mcp/applications/retell_ai/README.md +0 -46
- universal_mcp/applications/retell_ai/__init__.py +0 -0
- universal_mcp/applications/retell_ai/app.py +0 -333
- universal_mcp/applications/rocketlane/README.md +0 -42
- universal_mcp/applications/rocketlane/__init__.py +0 -0
- universal_mcp/applications/rocketlane/app.py +0 -194
- universal_mcp/applications/serpapi/README.md +0 -37
- universal_mcp/applications/serpapi/app.py +0 -73
- universal_mcp/applications/spotify/README.md +0 -116
- universal_mcp/applications/spotify/__init__.py +0 -0
- universal_mcp/applications/spotify/app.py +0 -2526
- universal_mcp/applications/supabase/README.md +0 -112
- universal_mcp/applications/supabase/__init__.py +0 -0
- universal_mcp/applications/supabase/app.py +0 -2970
- universal_mcp/applications/tavily/README.md +0 -38
- universal_mcp/applications/tavily/app.py +0 -51
- universal_mcp/applications/wrike/README.md +0 -71
- universal_mcp/applications/wrike/__init__.py +0 -0
- universal_mcp/applications/wrike/app.py +0 -1372
- universal_mcp/applications/youtube/README.md +0 -82
- universal_mcp/applications/youtube/__init__.py +0 -0
- universal_mcp/applications/youtube/app.py +0 -1428
- universal_mcp/applications/zenquotes/README.md +0 -37
- universal_mcp/applications/zenquotes/app.py +0 -31
- universal_mcp/integrations/agentr.py +0 -112
- universal_mcp-0.1.12.dist-info/RECORD +0 -119
- {universal_mcp-0.1.12.dist-info → universal_mcp-0.1.13rc2.dist-info}/WHEEL +0 -0
- {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
|
-
# Zenquotes MCP Server
|
3
|
-
|
4
|
-
An MCP Server for the Zenquotes 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 Zenquotes 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_quote | Get an inspirational quote from the Zen Quotes API |
|
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 Zenquotes app
|
33
|
-
- Restart the MCP Server
|
34
|
-
|
35
|
-
### Local Development
|
36
|
-
|
37
|
-
- Follow the README to test with the local MCP Server
|
@@ -1,31 +0,0 @@
|
|
1
|
-
from universal_mcp.applications.application import APIApplication
|
2
|
-
|
3
|
-
|
4
|
-
class ZenquotesApp(APIApplication):
|
5
|
-
def __init__(self, **kwargs) -> None:
|
6
|
-
super().__init__(name="zenquote", **kwargs)
|
7
|
-
|
8
|
-
def get_quote(self) -> str:
|
9
|
-
"""
|
10
|
-
Fetches a random inspirational quote from the Zen Quotes API.
|
11
|
-
|
12
|
-
Returns:
|
13
|
-
A formatted string containing the quote and its author in the format 'quote - author'
|
14
|
-
|
15
|
-
Raises:
|
16
|
-
RequestException: If the HTTP request to the Zen Quotes API fails
|
17
|
-
JSONDecodeError: If the API response contains invalid JSON
|
18
|
-
IndexError: If the API response doesn't contain any quotes
|
19
|
-
KeyError: If the quote data doesn't contain the expected 'q' or 'a' fields
|
20
|
-
|
21
|
-
Tags:
|
22
|
-
fetch, quotes, api, http, important
|
23
|
-
"""
|
24
|
-
url = "https://zenquotes.io/api/random"
|
25
|
-
response = self._get(url)
|
26
|
-
data = response.json()
|
27
|
-
quote_data = data[0]
|
28
|
-
return f"{quote_data['q']} - {quote_data['a']}"
|
29
|
-
|
30
|
-
def list_tools(self):
|
31
|
-
return [self.get_quote]
|
@@ -1,112 +0,0 @@
|
|
1
|
-
import os
|
2
|
-
|
3
|
-
import httpx
|
4
|
-
from loguru import logger
|
5
|
-
|
6
|
-
from universal_mcp.exceptions import NotAuthorizedError
|
7
|
-
from universal_mcp.integrations.integration import Integration
|
8
|
-
|
9
|
-
|
10
|
-
class AgentRIntegration(Integration):
|
11
|
-
"""Integration class for AgentR API authentication and authorization.
|
12
|
-
|
13
|
-
This class handles API key authentication and OAuth authorization flow for AgentR services.
|
14
|
-
|
15
|
-
Args:
|
16
|
-
name (str): Name of the integration
|
17
|
-
api_key (str, optional): AgentR API key. If not provided, will look for AGENTR_API_KEY env var
|
18
|
-
**kwargs: Additional keyword arguments passed to parent Integration class
|
19
|
-
|
20
|
-
Raises:
|
21
|
-
ValueError: If no API key is provided or found in environment variables
|
22
|
-
"""
|
23
|
-
|
24
|
-
def __init__(self, name: str, api_key: str = None, **kwargs):
|
25
|
-
super().__init__(name, **kwargs)
|
26
|
-
self.api_key = api_key or os.getenv("AGENTR_API_KEY")
|
27
|
-
if not self.api_key:
|
28
|
-
logger.error(
|
29
|
-
"API key for AgentR is missing. Please visit https://agentr.dev to create an API key, then set it as AGENTR_API_KEY environment variable."
|
30
|
-
)
|
31
|
-
raise ValueError("AgentR API key required - get one at https://agentr.dev")
|
32
|
-
self.base_url = os.getenv("AGENTR_BASE_URL", "https://api.agentr.dev").rstrip(
|
33
|
-
"/"
|
34
|
-
)
|
35
|
-
self._credentials = None
|
36
|
-
|
37
|
-
def set_credentials(self, credentials: dict | None = None):
|
38
|
-
"""Set credentials for the integration.
|
39
|
-
|
40
|
-
This method is not implemented for AgentR integration. Instead it redirects to the authorize flow.
|
41
|
-
|
42
|
-
Args:
|
43
|
-
credentials (dict | None, optional): Credentials dict (not used). Defaults to None.
|
44
|
-
|
45
|
-
Returns:
|
46
|
-
str: Authorization URL from authorize() method
|
47
|
-
"""
|
48
|
-
return self.authorize()
|
49
|
-
|
50
|
-
@property
|
51
|
-
def credentials(self):
|
52
|
-
"""Get credentials for the integration from the AgentR API.
|
53
|
-
|
54
|
-
Makes API request to retrieve stored credentials for this integration.
|
55
|
-
|
56
|
-
Returns:
|
57
|
-
dict: Credentials data from API response
|
58
|
-
|
59
|
-
Raises:
|
60
|
-
NotAuthorizedError: If credentials are not found (404 response)
|
61
|
-
HTTPError: For other API errors
|
62
|
-
"""
|
63
|
-
if self._credentials is not None:
|
64
|
-
return self._credentials
|
65
|
-
response = httpx.get(
|
66
|
-
f"{self.base_url}/api/{self.name}/credentials/",
|
67
|
-
headers={"accept": "application/json", "X-API-KEY": self.api_key},
|
68
|
-
)
|
69
|
-
if response.status_code == 404:
|
70
|
-
logger.warning(
|
71
|
-
f"No credentials found for {self.name}. Requesting authorization..."
|
72
|
-
)
|
73
|
-
action = self.authorize()
|
74
|
-
raise NotAuthorizedError(action)
|
75
|
-
response.raise_for_status()
|
76
|
-
data = response.json()
|
77
|
-
self._credentials = data
|
78
|
-
return self._credentials
|
79
|
-
|
80
|
-
def get_credentials(self):
|
81
|
-
"""Get credentials for the integration from the AgentR API.
|
82
|
-
|
83
|
-
Makes API request to retrieve stored credentials for this integration.
|
84
|
-
|
85
|
-
Returns:
|
86
|
-
dict: Credentials data from API response
|
87
|
-
|
88
|
-
Raises:
|
89
|
-
NotAuthorizedError: If credentials are not found (404 response)
|
90
|
-
HTTPError: For other API errors
|
91
|
-
"""
|
92
|
-
return self.credentials
|
93
|
-
|
94
|
-
def authorize(self):
|
95
|
-
"""Get authorization URL for the integration.
|
96
|
-
|
97
|
-
Makes API request to get OAuth authorization URL.
|
98
|
-
|
99
|
-
Returns:
|
100
|
-
str: Message containing authorization URL
|
101
|
-
|
102
|
-
Raises:
|
103
|
-
HTTPError: If API request fails
|
104
|
-
"""
|
105
|
-
response = httpx.get(
|
106
|
-
f"{self.base_url}/api/{self.name}/authorize/",
|
107
|
-
headers={"X-API-KEY": self.api_key},
|
108
|
-
)
|
109
|
-
response.raise_for_status()
|
110
|
-
url = response.json()
|
111
|
-
|
112
|
-
return f"Please ask the user to visit the following url to authorize the application: {url}. Render the url in proper markdown format with a clickable link."
|
@@ -1,119 +0,0 @@
|
|
1
|
-
universal_mcp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2
|
-
universal_mcp/analytics.py,sha256=aGCg0Okpcy06W70qCA9I8_ySOiCgAtzJAIWAdhBsOeA,2212
|
3
|
-
universal_mcp/cli.py,sha256=DG-Qxc5vQIdbhAIQuU7bKKJuRGzwyOigjfCKSWBRhBI,5258
|
4
|
-
universal_mcp/config.py,sha256=sJaPI4q51CDPPG0z32rMJiE7a64eaa9nxbjJgYnaFA4,838
|
5
|
-
universal_mcp/exceptions.py,sha256=WApedvzArNujD0gZfUofYBxjQo97ZDJLqDibtLWZoRk,373
|
6
|
-
universal_mcp/logger.py,sha256=D947u1roUf6WqlcEsPpvmWDqGc8L41qF3MO1suK5O1Q,308
|
7
|
-
universal_mcp/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
8
|
-
universal_mcp/applications/__init__.py,sha256=7s5c2j3Cbgdmqp7J1QKdehUQmlzSE0NLfkDE1U8Dl1A,825
|
9
|
-
universal_mcp/applications/application.py,sha256=0eC9D4HHRwIGpuFusaCxTZ0u64U68VbBpRSxjxGB5y8,8152
|
10
|
-
universal_mcp/applications/ahrefs/README.md,sha256=bQQ5AmPFxM52gL-tllIFWC_64f7KYkBiD1tYfdTwDu4,5370
|
11
|
-
universal_mcp/applications/ahrefs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
12
|
-
universal_mcp/applications/ahrefs/app.py,sha256=8iYYmQ5bD6nd_JmHOk4bcEPqG162FtQ14WrnJPeTrBQ,91468
|
13
|
-
universal_mcp/applications/cal_com_v2/README.md,sha256=iSgL5yZygDTV19Kh6me7mqaDyjO88Ka9TjE5rDrT8x4,20773
|
14
|
-
universal_mcp/applications/cal_com_v2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
15
|
-
universal_mcp/applications/cal_com_v2/app.py,sha256=5yLDB0jJSSXud8gkwwEt73qMkgZ53hi9H5LuiNHo8x0,235353
|
16
|
-
universal_mcp/applications/calendly/README.md,sha256=85m3XXLPhQ99oghl8SeazCZ2fjBR81-f1y_mjjhx2B0,5911
|
17
|
-
universal_mcp/applications/calendly/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
18
|
-
universal_mcp/applications/calendly/app.py,sha256=ANuUfiXBwDZjQC-xfB06JoVu5ebQPEy12COBO5LY3DI,49874
|
19
|
-
universal_mcp/applications/clickup/README.md,sha256=A7q0j9IXm2jKBxGtWa4SUuTYF5_nJYEht4xeIbKhLHI,15482
|
20
|
-
universal_mcp/applications/clickup/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
21
|
-
universal_mcp/applications/clickup/app.py,sha256=byJFbwbzt0Pg7CQ2Eyqnrdqi_iFfF2aINBKQ46tbE1I,209269
|
22
|
-
universal_mcp/applications/coda/README.md,sha256=4i6o_R-qtTuxfS1A7VoIb8_85FHAj-WVb8YG5fNvwL4,11411
|
23
|
-
universal_mcp/applications/coda/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
24
|
-
universal_mcp/applications/coda/app.py,sha256=47ZmtYF5A2Cn0rh3Dpc3VtkIHR1Xu2PCYe1JDH8kJbY,155862
|
25
|
-
universal_mcp/applications/e2b/README.md,sha256=S4lTp-vEZ8VTCKPXqjUXu5nYlUMAF8lw8CQyBGPgxjs,700
|
26
|
-
universal_mcp/applications/e2b/app.py,sha256=4cMuGHm_QY4uh0JMh3HYzhaqtnfnXajRKFhoAGmRnBE,2252
|
27
|
-
universal_mcp/applications/elevenlabs/README.md,sha256=KSNBY0efc3XK_6kTM1YZQo8uVv34qhJ3IGGChIAhEQU,8196
|
28
|
-
universal_mcp/applications/elevenlabs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
29
|
-
universal_mcp/applications/elevenlabs/app.py,sha256=A43xAyQNIbdH8Y1MHw_fmnjmH9MR14TTzeFjg4h8Pek,66722
|
30
|
-
universal_mcp/applications/falai/README.md,sha256=fc31zlKe09FsOw6W5KY7VipxvKhon4KQoWjTdoMlPfc,1449
|
31
|
-
universal_mcp/applications/falai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
32
|
-
universal_mcp/applications/falai/app.py,sha256=XLHmuRkOCHhVsF3h0TKql4SmQ4h5LbkWKudcvs6Ydhc,12244
|
33
|
-
universal_mcp/applications/figma/README.md,sha256=qA9UMf5PsPhfJrnteGVQOudhLuevwZ4-D_1xM6gAjgQ,4393
|
34
|
-
universal_mcp/applications/figma/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
35
|
-
universal_mcp/applications/figma/app.py,sha256=sr-ednZinHdIcXmDWuWAA_Ri21iBbAYPRZ0-uLeiEkM,50392
|
36
|
-
universal_mcp/applications/firecrawl/README.md,sha256=KAWe_TQbrc9eA6bSyde5dapMP1CNvarVItV_YJH3d_0,1430
|
37
|
-
universal_mcp/applications/firecrawl/app.py,sha256=qO3XNH9nT2G-9yC1eN4ADZJCE_bxF0qQ3S_qtYoOa2o,8902
|
38
|
-
universal_mcp/applications/github/README.md,sha256=6ID-__gUJ5ZxzAS_OjzmoUAag1LamSvEB75DHcj3m-g,1294
|
39
|
-
universal_mcp/applications/github/app.py,sha256=73Y5ceM2BGRcLUO__xO0RO1NNf6Gf3ROtqTlFI5k0Fg,18162
|
40
|
-
universal_mcp/applications/gong/README.md,sha256=R-jcQOi7rRodvcwkxN8YpFRIDhR15G20AeNDQ0PzjAw,6700
|
41
|
-
universal_mcp/applications/gong/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
42
|
-
universal_mcp/applications/gong/app.py,sha256=C-DQffWMxZuskfsyIuyVVXZZ0u2dSAuCjAY8wIjnDnI,101011
|
43
|
-
universal_mcp/applications/google_calendar/app.py,sha256=o2Mtto4zOIDtCUdXdEgXWhWsKRfzbHC7DAUuvyjUei4,19342
|
44
|
-
universal_mcp/applications/google_docs/README.md,sha256=SyOgJG-XU0FXhrVukvg9mxwin73mpqaCOT6rDJ64Klk,909
|
45
|
-
universal_mcp/applications/google_docs/app.py,sha256=f31nJ3tr9XF-1AbRI3DNVXgMXT4Y33gWMRlBoA-t630,3436
|
46
|
-
universal_mcp/applications/google_drive/README.md,sha256=YlN8IT12oO8zVMib1MlTYRBGNP7rzW_KyVAZyyxKvME,1192
|
47
|
-
universal_mcp/applications/google_drive/app.py,sha256=4cJYvT_RSlqL2Vfm4cbrxJYl58gHWdNytVAQVu1amY8,11253
|
48
|
-
universal_mcp/applications/google_mail/README.md,sha256=LL6TjjmwEqyuRVvIfCh-I_PlWp9ciCZOdJC0LafGZYc,1185
|
49
|
-
universal_mcp/applications/google_mail/app.py,sha256=1XI1hve2FXOqkzgJNYu2ki5J1yGKfeMx3cO_Qyflp_o,27286
|
50
|
-
universal_mcp/applications/google_sheet/README.md,sha256=yW1b_qlb_pbIJzCxZc58581kKzC5vyP8Mj4iwXgidtQ,1108
|
51
|
-
universal_mcp/applications/google_sheet/app.py,sha256=O6g8P697ve93CsljLK9ejWbIyzGbZ-_ThK_A_3cTpIk,6310
|
52
|
-
universal_mcp/applications/hashnode/app.py,sha256=v0OR00kkMqyL-NcclCuriCdGErE7PRvHoWScfvAeEXQ,2538
|
53
|
-
universal_mcp/applications/hashnode/prompt.md,sha256=K-LPmn2wchYEX2ytANDS4-fsKrhPphKPV62oYZ_n-M4,1742
|
54
|
-
universal_mcp/applications/heygen/README.md,sha256=8YW_JYxPMXIFqNlhp-IYtRN8CrPAR0Uh1q3FFzlPni0,4304
|
55
|
-
universal_mcp/applications/heygen/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
56
|
-
universal_mcp/applications/heygen/app.py,sha256=2H0RI_zs-L2uT8TiCzCFtuLmuH6O2mDtmVIvNUu4qNA,35256
|
57
|
-
universal_mcp/applications/mailchimp/README.md,sha256=9p7rVwf0aX2lClVeMliUz8rFWtXNhi55AAKj3hbHSng,33688
|
58
|
-
universal_mcp/applications/mailchimp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
59
|
-
universal_mcp/applications/mailchimp/app.py,sha256=_ceKe-ZM6KTgi17WABs9I45dum1cTj0ZlnccJ9BQwuE,466711
|
60
|
-
universal_mcp/applications/markitdown/app.py,sha256=FeJONdT-Jwe5mJBelOfgpM1A3T-hIDfFGf1PCR5x1gA,1832
|
61
|
-
universal_mcp/applications/notion/README.md,sha256=45NmPOmSQv99qBvWdwmnV5vbaYc9_8vq8I-FA7veVAA,2600
|
62
|
-
universal_mcp/applications/notion/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
63
|
-
universal_mcp/applications/notion/app.py,sha256=nc-p531L-L6gMFqOOkYu5Irn9SReWAYRmJ8ZOIv5LrQ,20834
|
64
|
-
universal_mcp/applications/perplexity/README.md,sha256=QGV1iReH5p-Np7vvkZsVHxxDKQ0YaitHEwomNmGEyQs,732
|
65
|
-
universal_mcp/applications/perplexity/app.py,sha256=WAFDLH6jkH5eo9LLQfD_MRhpJdgZgHXchqs_ARJe3oI,2633
|
66
|
-
universal_mcp/applications/reddit/README.md,sha256=YVbJ1RN6NWlB-P6w2LxCk_DuUWl7mwaKZScY-mIMnNc,1271
|
67
|
-
universal_mcp/applications/reddit/app.py,sha256=Jd-Pr-IMhROun82kuLf0mNJ3P-LDfGfvj1bn_8qNIAI,15748
|
68
|
-
universal_mcp/applications/replicate/README.md,sha256=8_PT_Mft6ZvkamU50lVbF7XBQ_jBb-X78ALMCAokna8,3718
|
69
|
-
universal_mcp/applications/replicate/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
70
|
-
universal_mcp/applications/replicate/app.py,sha256=--agxFi0OunJkdzjsah10V660Xz9sDHet8t-PT6OMeI,38818
|
71
|
-
universal_mcp/applications/resend/README.md,sha256=k-sb2UwbFvDPEz6qQPLWd2cJj8hDx5f3NW7dz2jAfjI,719
|
72
|
-
universal_mcp/applications/resend/app.py,sha256=dWhijrx73hw2OLMAC01keVj7hVgu4CUZsURyRjxD7ew,1370
|
73
|
-
universal_mcp/applications/retell_ai/README.md,sha256=XKBvMeA-wQAZYGMXogWMyvcqclhLGVnK72G4q2ZdfVM,1882
|
74
|
-
universal_mcp/applications/retell_ai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
75
|
-
universal_mcp/applications/retell_ai/app.py,sha256=qhXAdXQhOYMNirJ08xU_R5TnJa_d97lc1Hue9xWrX3U,13406
|
76
|
-
universal_mcp/applications/rocketlane/README.md,sha256=WtWkCt5nRN-SESaQXpYxgZwGEcxOXIcn9aQB7dDY8vM,1245
|
77
|
-
universal_mcp/applications/rocketlane/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
78
|
-
universal_mcp/applications/rocketlane/app.py,sha256=EvHFiIi_hAuU_UqLCxkdXE3Cb9uNHZmunsUaNjiyfwU,6795
|
79
|
-
universal_mcp/applications/serpapi/README.md,sha256=hX4VeT2iL_67ZsMhKd60DAujQCh9K3IdHroHIq808RY,691
|
80
|
-
universal_mcp/applications/serpapi/app.py,sha256=krx9STkJI0vLarXo34emySv3fs9o9lmQ2qfjWbzxtg4,2918
|
81
|
-
universal_mcp/applications/spotify/README.md,sha256=iT8nx2_1jcpNqf6Xn3E0-oxmimg1Z1CYFAJg9qNR_4g,9626
|
82
|
-
universal_mcp/applications/spotify/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
83
|
-
universal_mcp/applications/spotify/app.py,sha256=x8QxvW9gjKtxjM58ECta1MN-_0lwPUGpnmW443a2OM0,105444
|
84
|
-
universal_mcp/applications/supabase/README.md,sha256=CqCTwOGJWwOgwPQSblgUxYMWHBn5jZn6gOxB568sVrs,9743
|
85
|
-
universal_mcp/applications/supabase/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
86
|
-
universal_mcp/applications/supabase/app.py,sha256=WRacy6_gqPsoTjtjHu-N2vhned2X-rW77IBj0IyGHh4,135842
|
87
|
-
universal_mcp/applications/tavily/README.md,sha256=cNg4EwX5wBbkDpPtNBNC3A_GxglfSVhdAJuweSrXN20,721
|
88
|
-
universal_mcp/applications/tavily/app.py,sha256=rU9IRyhzYkchjs8rqQMU89hkBQy13W8yeQqpQhPCCFA,1924
|
89
|
-
universal_mcp/applications/wrike/README.md,sha256=4EHVPlA8B_dzTA1-HQQqp89z6QL37RTyD2l6DD7vG9E,5156
|
90
|
-
universal_mcp/applications/wrike/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
91
|
-
universal_mcp/applications/wrike/app.py,sha256=j0sfbVaRSBoWN0dnpscifg_mwwSsKulX6dy-2ac3R68,60259
|
92
|
-
universal_mcp/applications/youtube/README.md,sha256=NHqIm6QvXQK7I2oZ8hUwfjLDS4_eSK9NPeFbuGIbmhg,5405
|
93
|
-
universal_mcp/applications/youtube/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
94
|
-
universal_mcp/applications/youtube/app.py,sha256=EQgeLNJS8Spm8xB82hSIBANJ4HR2-ktcurgW9Cn_ebU,56885
|
95
|
-
universal_mcp/applications/zenquotes/README.md,sha256=wA3hjqjrkrczQaffpwyolSKq6gXmkLgeHx6_EQrYEOY,709
|
96
|
-
universal_mcp/applications/zenquotes/app.py,sha256=xp_nlW4LFi0Mw1GRWIde4k8eexXUJx1wNqNExJ0oeKA,1085
|
97
|
-
universal_mcp/integrations/README.md,sha256=lTAPXO2nivcBe1q7JT6PRa6v9Ns_ZersQMIdw-nmwEA,996
|
98
|
-
universal_mcp/integrations/__init__.py,sha256=YY8Uw0XGNUpAQ1j-qgCOrwHTcuSew4W92cEtYXMxry4,963
|
99
|
-
universal_mcp/integrations/agentr.py,sha256=Bap4PA2-K4BkBhscgAVsBdvXNN19dkuCLO82sQFRvUM,3952
|
100
|
-
universal_mcp/integrations/integration.py,sha256=imzxq1jZJAjq9odF6ttCUS2-yQW7qqG8NNUj1LudT9U,9986
|
101
|
-
universal_mcp/servers/__init__.py,sha256=dDtvvMzbWskABlobTZHztrWMb3hbzgidza3BmEmIAD8,474
|
102
|
-
universal_mcp/servers/server.py,sha256=bm1gprc_6TPB8iShI6H7Kzp8CWsW5A51vb8DHW8AiUA,9916
|
103
|
-
universal_mcp/stores/__init__.py,sha256=quvuwhZnpiSLuojf0NfmBx2xpaCulv3fbKtKaSCEmuM,603
|
104
|
-
universal_mcp/stores/store.py,sha256=lYaFd-9YKC404BPeqzNw_Xm3ziQjksZyvQtaW1yd9FM,6900
|
105
|
-
universal_mcp/tools/__init__.py,sha256=hVL-elJLwD_K87Gpw_s2_o43sQRPyRNOnxlzt0_Pfn8,72
|
106
|
-
universal_mcp/tools/adapters.py,sha256=2HvpyFiI0zg9dp0XshnG7t6KrVqFHM7hgtmgY1bsHN0,927
|
107
|
-
universal_mcp/tools/func_metadata.py,sha256=f_5LdDNsOu1DpXvDUeZYiJswVmwGZz6IMPtpJJ5B2-Y,7975
|
108
|
-
universal_mcp/tools/tools.py,sha256=PbvTi8A1hT7F8UXiiP291aP_oZmIPBfhfcgqR8XeSqo,12978
|
109
|
-
universal_mcp/utils/__init__.py,sha256=8wi4PGWu-SrFjNJ8U7fr2iFJ1ktqlDmSKj1xYd7KSDc,41
|
110
|
-
universal_mcp/utils/api_generator.py,sha256=-wRBpLVfJQXy1R-8FpDNs6b8_eeekVDuPc_uwjSGgiY,8883
|
111
|
-
universal_mcp/utils/docgen.py,sha256=yGBcBIr7dz3mNMGrCb_-JFsDf-ShmCKWWiPpuEj2SIU,21878
|
112
|
-
universal_mcp/utils/docstring_parser.py,sha256=j7aE-LLnBOPTJI0qXayf0NlYappzxICv5E_hUPNmAlc,11459
|
113
|
-
universal_mcp/utils/dump_app_tools.py,sha256=9bQePJ4ZKzGtcIYrBgLxbKDOZmL7ajIAHhXljT_AlyA,2041
|
114
|
-
universal_mcp/utils/installation.py,sha256=KPBojDlt2YfFY2DfJ9pUr5evFJ9QQGp99KQUsRkz9GQ,10235
|
115
|
-
universal_mcp/utils/openapi.py,sha256=AgmcyntPyovic2mRqr-a7P4kEc7hU-yk9gRVIsO4078,20673
|
116
|
-
universal_mcp-0.1.12.dist-info/METADATA,sha256=W25m860U86z4x6Wux7UsD21xfL65bjHWThA8THw0b0k,12432
|
117
|
-
universal_mcp-0.1.12.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
118
|
-
universal_mcp-0.1.12.dist-info/entry_points.txt,sha256=QlBrVKmA2jIM0q-C-3TQMNJTTWOsOFQvgedBq2rZTS8,56
|
119
|
-
universal_mcp-0.1.12.dist-info/RECORD,,
|
File without changes
|
File without changes
|