universal-mcp 0.1.8rc3__py3-none-any.whl → 0.1.9rc1__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 (61) hide show
  1. universal_mcp/applications/__init__.py +7 -2
  2. universal_mcp/applications/ahrefs/README.md +76 -0
  3. universal_mcp/applications/ahrefs/__init__.py +0 -0
  4. universal_mcp/applications/ahrefs/app.py +2291 -0
  5. universal_mcp/applications/application.py +202 -87
  6. universal_mcp/applications/cal_com_v2/README.md +175 -0
  7. universal_mcp/applications/cal_com_v2/__init__.py +0 -0
  8. universal_mcp/applications/cal_com_v2/app.py +4735 -0
  9. universal_mcp/applications/calendly/app.py +0 -12
  10. universal_mcp/applications/clickup/README.md +160 -0
  11. universal_mcp/applications/clickup/__init__.py +0 -0
  12. universal_mcp/applications/clickup/app.py +4359 -0
  13. universal_mcp/applications/coda/app.py +0 -33
  14. universal_mcp/applications/e2b/app.py +2 -28
  15. universal_mcp/applications/figma/README.md +74 -0
  16. universal_mcp/applications/figma/__init__.py +0 -0
  17. universal_mcp/applications/figma/app.py +1261 -0
  18. universal_mcp/applications/firecrawl/app.py +2 -32
  19. universal_mcp/applications/google_calendar/app.py +0 -11
  20. universal_mcp/applications/google_docs/app.py +0 -18
  21. universal_mcp/applications/google_drive/app.py +0 -17
  22. universal_mcp/applications/google_mail/app.py +0 -16
  23. universal_mcp/applications/google_sheet/app.py +0 -18
  24. universal_mcp/applications/hashnode/app.py +77 -0
  25. universal_mcp/applications/hashnode/prompt.md +21 -0
  26. universal_mcp/applications/mailchimp/README.md +306 -0
  27. universal_mcp/applications/mailchimp/__init__.py +0 -0
  28. universal_mcp/applications/mailchimp/app.py +8883 -0
  29. universal_mcp/applications/markitdown/app.py +2 -2
  30. universal_mcp/applications/perplexity/app.py +0 -35
  31. universal_mcp/applications/replicate/README.md +53 -0
  32. universal_mcp/applications/replicate/app.py +969 -0
  33. universal_mcp/applications/resend/app.py +0 -18
  34. universal_mcp/applications/retell_ai/README.md +46 -0
  35. universal_mcp/applications/retell_ai/__init__.py +0 -0
  36. universal_mcp/applications/retell_ai/app.py +316 -0
  37. universal_mcp/applications/rocketlane/README.md +42 -0
  38. universal_mcp/applications/rocketlane/__init__.py +0 -0
  39. universal_mcp/applications/rocketlane/app.py +180 -0
  40. universal_mcp/applications/serpapi/app.py +2 -28
  41. universal_mcp/applications/spotify/README.md +116 -0
  42. universal_mcp/applications/spotify/__init__.py +0 -0
  43. universal_mcp/applications/spotify/app.py +2231 -0
  44. universal_mcp/applications/supabase/README.md +112 -0
  45. universal_mcp/applications/supabase/__init__.py +0 -0
  46. universal_mcp/applications/supabase/app.py +2644 -0
  47. universal_mcp/applications/tavily/app.py +0 -20
  48. universal_mcp/applications/wrike/app.py +0 -12
  49. universal_mcp/applications/youtube/app.py +0 -18
  50. universal_mcp/integrations/agentr.py +27 -4
  51. universal_mcp/integrations/integration.py +14 -6
  52. universal_mcp/servers/server.py +3 -6
  53. universal_mcp/stores/store.py +7 -0
  54. universal_mcp/tools/tools.py +2 -2
  55. universal_mcp/utils/docstring_parser.py +171 -104
  56. universal_mcp/utils/installation.py +199 -8
  57. {universal_mcp-0.1.8rc3.dist-info → universal_mcp-0.1.9rc1.dist-info}/METADATA +2 -1
  58. universal_mcp-0.1.9rc1.dist-info/RECORD +106 -0
  59. universal_mcp-0.1.8rc3.dist-info/RECORD +0 -75
  60. {universal_mcp-0.1.8rc3.dist-info → universal_mcp-0.1.9rc1.dist-info}/WHEEL +0 -0
  61. {universal_mcp-0.1.8rc3.dist-info → universal_mcp-0.1.9rc1.dist-info}/entry_points.txt +0 -0
@@ -29,7 +29,7 @@ def create_file_if_not_exists(path: Path) -> None:
29
29
 
30
30
  def get_supported_apps() -> list[str]:
31
31
  """Get list of supported apps"""
32
- return ["claude", "cursor", "windsurf"]
32
+ return ["claude", "cursor", "cline", "continue", "goose", "windsurf", "zed"]
33
33
 
34
34
 
35
35
  def install_claude(api_key: str) -> None:
@@ -99,21 +99,212 @@ def install_cursor(api_key: str) -> None:
99
99
  print("[green]✓[/green] Cursor configuration installed successfully")
100
100
 
101
101
 
102
- def install_windsurf() -> None:
102
+ def install_cline(api_key: str) -> None:
103
+ """Install Cline"""
104
+ print("[bold blue]Installing Cline configuration...[/bold blue]")
105
+ # Set up Cline config path
106
+ config_path = Path.home() / ".config/cline/mcp.json"
107
+
108
+ # Create config directory if it doesn't exist
109
+ create_file_if_not_exists(config_path)
110
+
111
+ try:
112
+ config = json.loads(config_path.read_text())
113
+ except json.JSONDecodeError:
114
+ print(
115
+ "[yellow]Config file was empty or invalid, creating new configuration[/yellow]"
116
+ )
117
+ config = {}
118
+
119
+ if "mcpServers" not in config:
120
+ config["mcpServers"] = {}
121
+ config["mcpServers"]["universal_mcp"] = {
122
+ "command": get_uvx_path(),
123
+ "args": ["universal_mcp[all]@latest", "run"],
124
+ "env": {"AGENTR_API_KEY": api_key},
125
+ }
126
+
127
+ with open(config_path, "w") as f:
128
+ json.dump(config, f, indent=4)
129
+ print("[green]✓[/green] Cline configuration installed successfully")
130
+
131
+
132
+ def install_continue(api_key: str) -> None:
133
+ """Install Continue"""
134
+ print("[bold blue]Installing Continue configuration...[/bold blue]")
135
+
136
+ # Determine platform-specific config path
137
+ if sys.platform == "darwin": # macOS
138
+ config_path = Path.home() / "Library/Application Support/Continue/mcp.json"
139
+ elif sys.platform == "win32": # Windows
140
+ config_path = Path.home() / "AppData/Roaming/Continue/mcp.json"
141
+ else: # Linux and others
142
+ config_path = Path.home() / ".config/continue/mcp.json"
143
+
144
+ # Create config directory if it doesn't exist
145
+ create_file_if_not_exists(config_path)
146
+
147
+ try:
148
+ config = json.loads(config_path.read_text())
149
+ except json.JSONDecodeError:
150
+ print(
151
+ "[yellow]Config file was empty or invalid, creating new configuration[/yellow]"
152
+ )
153
+ config = {}
154
+
155
+ if "mcpServers" not in config:
156
+ config["mcpServers"] = {}
157
+ config["mcpServers"]["universal_mcp"] = {
158
+ "command": get_uvx_path(),
159
+ "args": ["universal_mcp[all]@latest", "run"],
160
+ "env": {"AGENTR_API_KEY": api_key},
161
+ }
162
+
163
+ with open(config_path, "w") as f:
164
+ json.dump(config, f, indent=4)
165
+ print("[green]✓[/green] Continue configuration installed successfully")
166
+
167
+
168
+ def install_goose(api_key: str) -> None:
169
+ """Install Goose"""
170
+ print("[bold blue]Installing Goose configuration...[/bold blue]")
171
+
172
+ # Determine platform-specific config path
173
+ if sys.platform == "darwin": # macOS
174
+ config_path = Path.home() / "Library/Application Support/Goose/mcp-config.json"
175
+ elif sys.platform == "win32": # Windows
176
+ config_path = Path.home() / "AppData/Roaming/Goose/mcp-config.json"
177
+ else: # Linux and others
178
+ config_path = Path.home() / ".config/goose/mcp-config.json"
179
+
180
+ # Create config directory if it doesn't exist
181
+ create_file_if_not_exists(config_path)
182
+
183
+ try:
184
+ config = json.loads(config_path.read_text())
185
+ except json.JSONDecodeError:
186
+ print(
187
+ "[yellow]Config file was empty or invalid, creating new configuration[/yellow]"
188
+ )
189
+ config = {}
190
+
191
+ if "mcpServers" not in config:
192
+ config["mcpServers"] = {}
193
+ config["mcpServers"]["universal_mcp"] = {
194
+ "command": get_uvx_path(),
195
+ "args": ["universal_mcp[all]@latest", "run"],
196
+ "env": {"AGENTR_API_KEY": api_key},
197
+ }
198
+
199
+ with open(config_path, "w") as f:
200
+ json.dump(config, f, indent=4)
201
+ print("[green]✓[/green] Goose configuration installed successfully")
202
+
203
+
204
+ def install_windsurf(api_key: str) -> None:
103
205
  """Install Windsurf"""
104
- print("[yellow]Windsurf installation not yet implemented[/yellow]")
105
- pass
206
+ print("[bold blue]Installing Windsurf configuration...[/bold blue]")
207
+
208
+ # Determine platform-specific config path
209
+ if sys.platform == "darwin": # macOS
210
+ config_path = Path.home() / "Library/Application Support/Windsurf/mcp.json"
211
+ elif sys.platform == "win32": # Windows
212
+ config_path = Path.home() / "AppData/Roaming/Windsurf/mcp.json"
213
+ else: # Linux and others
214
+ config_path = Path.home() / ".config/windsurf/mcp.json"
215
+
216
+ # Create config directory if it doesn't exist
217
+ create_file_if_not_exists(config_path)
218
+
219
+ try:
220
+ config = json.loads(config_path.read_text())
221
+ except json.JSONDecodeError:
222
+ print(
223
+ "[yellow]Config file was empty or invalid, creating new configuration[/yellow]"
224
+ )
225
+ config = {}
226
+
227
+ if "mcpServers" not in config:
228
+ config["mcpServers"] = {}
229
+ config["mcpServers"]["universal_mcp"] = {
230
+ "command": get_uvx_path(),
231
+ "args": ["universal_mcp[all]@latest", "run"],
232
+ "env": {"AGENTR_API_KEY": api_key},
233
+ }
234
+
235
+ with open(config_path, "w") as f:
236
+ json.dump(config, f, indent=4)
237
+ print("[green]✓[/green] Windsurf configuration installed successfully")
238
+
239
+
240
+ def install_zed(api_key: str) -> None:
241
+ """Install Zed"""
242
+ print("[bold blue]Installing Zed configuration...[/bold blue]")
243
+
244
+ # Set up Zed config path
245
+ config_dir = Path.home() / ".config/zed"
246
+ config_path = config_dir / "mcp_servers.json"
247
+
248
+ # Create config directory if it doesn't exist
249
+ create_file_if_not_exists(config_path)
250
+
251
+ try:
252
+ config = json.loads(config_path.read_text())
253
+ except json.JSONDecodeError:
254
+ print(
255
+ "[yellow]Config file was empty or invalid, creating new configuration[/yellow]"
256
+ )
257
+ config = {}
258
+
259
+ if not isinstance(config, list):
260
+ config = []
261
+
262
+ # Check if universal_mcp is already in the config
263
+ existing_config = False
264
+ for server in config:
265
+ if server.get("name") == "universal_mcp":
266
+ existing_config = True
267
+ server.update(
268
+ {
269
+ "command": get_uvx_path(),
270
+ "args": ["universal_mcp[all]@latest", "run"],
271
+ "env": {"AGENTR_API_KEY": api_key},
272
+ }
273
+ )
274
+ break
275
+
276
+ if not existing_config:
277
+ config.append(
278
+ {
279
+ "name": "universal_mcp",
280
+ "command": get_uvx_path(),
281
+ "args": ["universal_mcp[all]@latest", "run"],
282
+ "env": {"AGENTR_API_KEY": api_key},
283
+ }
284
+ )
285
+
286
+ with open(config_path, "w") as f:
287
+ json.dump(config, f, indent=4)
288
+ print("[green]✓[/green] Zed configuration installed successfully")
106
289
 
107
290
 
108
- def install_app(app_name: str) -> None:
291
+ def install_app(app_name: str, api_key: str) -> None:
109
292
  """Install an app"""
110
293
  print(f"[bold]Installing {app_name}...[/bold]")
111
294
  if app_name == "claude":
112
- install_claude()
295
+ install_claude(api_key)
113
296
  elif app_name == "cursor":
114
- install_cursor()
297
+ install_cursor(api_key)
298
+ elif app_name == "cline":
299
+ install_cline(api_key)
300
+ elif app_name == "continue":
301
+ install_continue(api_key)
302
+ elif app_name == "goose":
303
+ install_goose(api_key)
115
304
  elif app_name == "windsurf":
116
- install_windsurf()
305
+ install_windsurf(api_key)
306
+ elif app_name == "zed":
307
+ install_zed(api_key)
117
308
  else:
118
309
  print(f"[red]Error: App '{app_name}' not supported[/red]")
119
310
  raise ValueError(f"App '{app_name}' not supported")
@@ -1,9 +1,10 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: universal-mcp
3
- Version: 0.1.8rc3
3
+ Version: 0.1.9rc1
4
4
  Summary: Universal MCP acts as a middle ware for your API applications. It can store your credentials, authorize, enable disable apps on the fly and much more.
5
5
  Author-email: Manoj Bajaj <manojbajaj95@gmail.com>
6
6
  Requires-Python: >=3.11
7
+ Requires-Dist: gql[all]>=3.5.2
7
8
  Requires-Dist: keyring>=25.6.0
8
9
  Requires-Dist: litellm>=1.30.7
9
10
  Requires-Dist: loguru>=0.7.3
@@ -0,0 +1,106 @@
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=Q_DSnvYCgoZH6gS8M1FtrrOetOTXI6bIaKPjgUgQJVA,8240
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=68o-10yoMCwb1iwzBPTm3kYyHYXktzeGaTnK3j7MKLw,234189
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=_K5ZyMY3R8Ha88xvhh6xxbCsWRGr12j_of6FRrG9WVE,206947
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/figma/README.md,sha256=qA9UMf5PsPhfJrnteGVQOudhLuevwZ4-D_1xM6gAjgQ,4393
28
+ universal_mcp/applications/figma/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
+ universal_mcp/applications/figma/app.py,sha256=sr-ednZinHdIcXmDWuWAA_Ri21iBbAYPRZ0-uLeiEkM,50392
30
+ universal_mcp/applications/firecrawl/README.md,sha256=KAWe_TQbrc9eA6bSyde5dapMP1CNvarVItV_YJH3d_0,1430
31
+ universal_mcp/applications/firecrawl/app.py,sha256=qO3XNH9nT2G-9yC1eN4ADZJCE_bxF0qQ3S_qtYoOa2o,8902
32
+ universal_mcp/applications/github/README.md,sha256=6ID-__gUJ5ZxzAS_OjzmoUAag1LamSvEB75DHcj3m-g,1294
33
+ universal_mcp/applications/github/app.py,sha256=73Y5ceM2BGRcLUO__xO0RO1NNf6Gf3ROtqTlFI5k0Fg,18162
34
+ universal_mcp/applications/google_calendar/app.py,sha256=o2Mtto4zOIDtCUdXdEgXWhWsKRfzbHC7DAUuvyjUei4,19342
35
+ universal_mcp/applications/google_docs/README.md,sha256=SyOgJG-XU0FXhrVukvg9mxwin73mpqaCOT6rDJ64Klk,909
36
+ universal_mcp/applications/google_docs/app.py,sha256=f31nJ3tr9XF-1AbRI3DNVXgMXT4Y33gWMRlBoA-t630,3436
37
+ universal_mcp/applications/google_drive/README.md,sha256=YlN8IT12oO8zVMib1MlTYRBGNP7rzW_KyVAZyyxKvME,1192
38
+ universal_mcp/applications/google_drive/app.py,sha256=4cJYvT_RSlqL2Vfm4cbrxJYl58gHWdNytVAQVu1amY8,11253
39
+ universal_mcp/applications/google_mail/README.md,sha256=LL6TjjmwEqyuRVvIfCh-I_PlWp9ciCZOdJC0LafGZYc,1185
40
+ universal_mcp/applications/google_mail/app.py,sha256=1XI1hve2FXOqkzgJNYu2ki5J1yGKfeMx3cO_Qyflp_o,27286
41
+ universal_mcp/applications/google_sheet/README.md,sha256=yW1b_qlb_pbIJzCxZc58581kKzC5vyP8Mj4iwXgidtQ,1108
42
+ universal_mcp/applications/google_sheet/app.py,sha256=O6g8P697ve93CsljLK9ejWbIyzGbZ-_ThK_A_3cTpIk,6310
43
+ universal_mcp/applications/hashnode/app.py,sha256=TGfJmumJGOkS_M0QONWHR0dcBmrHcsWslJYsUvxjj7A,2286
44
+ universal_mcp/applications/hashnode/prompt.md,sha256=RTXicHP_JrI9pMoMf6oay0OxkJUI1yBWyMGCYP6X7xE,1651
45
+ universal_mcp/applications/mailchimp/README.md,sha256=9p7rVwf0aX2lClVeMliUz8rFWtXNhi55AAKj3hbHSng,33688
46
+ universal_mcp/applications/mailchimp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
47
+ universal_mcp/applications/mailchimp/app.py,sha256=Qg8GupbjKMueThLVtUi-_6Xh0qzIKvv531XDLPj6zKI,453966
48
+ universal_mcp/applications/markitdown/app.py,sha256=FeJONdT-Jwe5mJBelOfgpM1A3T-hIDfFGf1PCR5x1gA,1832
49
+ universal_mcp/applications/notion/README.md,sha256=45NmPOmSQv99qBvWdwmnV5vbaYc9_8vq8I-FA7veVAA,2600
50
+ universal_mcp/applications/notion/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
51
+ universal_mcp/applications/notion/app.py,sha256=nc-p531L-L6gMFqOOkYu5Irn9SReWAYRmJ8ZOIv5LrQ,20834
52
+ universal_mcp/applications/perplexity/README.md,sha256=QGV1iReH5p-Np7vvkZsVHxxDKQ0YaitHEwomNmGEyQs,732
53
+ universal_mcp/applications/perplexity/app.py,sha256=WAFDLH6jkH5eo9LLQfD_MRhpJdgZgHXchqs_ARJe3oI,2633
54
+ universal_mcp/applications/reddit/README.md,sha256=YVbJ1RN6NWlB-P6w2LxCk_DuUWl7mwaKZScY-mIMnNc,1271
55
+ universal_mcp/applications/reddit/app.py,sha256=Jd-Pr-IMhROun82kuLf0mNJ3P-LDfGfvj1bn_8qNIAI,15748
56
+ universal_mcp/applications/replicate/README.md,sha256=9ZT3LPpsSG_SSyAJhw0Y60NhynmWoxSttmDkJyCsT9I,4415
57
+ universal_mcp/applications/replicate/app.py,sha256=CkvUjWAWxp06WE_H8CEQkUfj6bwUDUMuWYdu0XXNR5c,39674
58
+ universal_mcp/applications/resend/README.md,sha256=k-sb2UwbFvDPEz6qQPLWd2cJj8hDx5f3NW7dz2jAfjI,719
59
+ universal_mcp/applications/resend/app.py,sha256=dWhijrx73hw2OLMAC01keVj7hVgu4CUZsURyRjxD7ew,1370
60
+ universal_mcp/applications/retell_ai/README.md,sha256=XKBvMeA-wQAZYGMXogWMyvcqclhLGVnK72G4q2ZdfVM,1882
61
+ universal_mcp/applications/retell_ai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
62
+ universal_mcp/applications/retell_ai/app.py,sha256=Ux0XuH65Y51CPgInfLZxGMLRdfATd31yMptcusUk-BA,13601
63
+ universal_mcp/applications/rocketlane/README.md,sha256=WtWkCt5nRN-SESaQXpYxgZwGEcxOXIcn9aQB7dDY8vM,1245
64
+ universal_mcp/applications/rocketlane/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
65
+ universal_mcp/applications/rocketlane/app.py,sha256=ZjqpgyT059Z8wlXCcz5WOiU37VjXImSOplyx-bhDhgk,6875
66
+ universal_mcp/applications/serpapi/README.md,sha256=hX4VeT2iL_67ZsMhKd60DAujQCh9K3IdHroHIq808RY,691
67
+ universal_mcp/applications/serpapi/app.py,sha256=krx9STkJI0vLarXo34emySv3fs9o9lmQ2qfjWbzxtg4,2918
68
+ universal_mcp/applications/spotify/README.md,sha256=iT8nx2_1jcpNqf6Xn3E0-oxmimg1Z1CYFAJg9qNR_4g,9626
69
+ universal_mcp/applications/spotify/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
+ universal_mcp/applications/spotify/app.py,sha256=Lk-zLUAleiTNhEIBSdePGbNoBwxPnEz7pyBafwk6Zyo,104644
71
+ universal_mcp/applications/supabase/README.md,sha256=CqCTwOGJWwOgwPQSblgUxYMWHBn5jZn6gOxB568sVrs,9743
72
+ universal_mcp/applications/supabase/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
73
+ universal_mcp/applications/supabase/app.py,sha256=Dp1pMdKgJyFIx8iIxhUFUMmCET1knNiWrawsnRe-01g,135495
74
+ universal_mcp/applications/tavily/README.md,sha256=cNg4EwX5wBbkDpPtNBNC3A_GxglfSVhdAJuweSrXN20,721
75
+ universal_mcp/applications/tavily/app.py,sha256=rU9IRyhzYkchjs8rqQMU89hkBQy13W8yeQqpQhPCCFA,1924
76
+ universal_mcp/applications/wrike/README.md,sha256=4EHVPlA8B_dzTA1-HQQqp89z6QL37RTyD2l6DD7vG9E,5156
77
+ universal_mcp/applications/wrike/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
78
+ universal_mcp/applications/wrike/app.py,sha256=j0sfbVaRSBoWN0dnpscifg_mwwSsKulX6dy-2ac3R68,60259
79
+ universal_mcp/applications/youtube/README.md,sha256=NHqIm6QvXQK7I2oZ8hUwfjLDS4_eSK9NPeFbuGIbmhg,5405
80
+ universal_mcp/applications/youtube/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
81
+ universal_mcp/applications/youtube/app.py,sha256=EQgeLNJS8Spm8xB82hSIBANJ4HR2-ktcurgW9Cn_ebU,56885
82
+ universal_mcp/applications/zenquotes/README.md,sha256=wA3hjqjrkrczQaffpwyolSKq6gXmkLgeHx6_EQrYEOY,709
83
+ universal_mcp/applications/zenquotes/app.py,sha256=xp_nlW4LFi0Mw1GRWIde4k8eexXUJx1wNqNExJ0oeKA,1085
84
+ universal_mcp/integrations/README.md,sha256=lTAPXO2nivcBe1q7JT6PRa6v9Ns_ZersQMIdw-nmwEA,996
85
+ universal_mcp/integrations/__init__.py,sha256=YY8Uw0XGNUpAQ1j-qgCOrwHTcuSew4W92cEtYXMxry4,963
86
+ universal_mcp/integrations/agentr.py,sha256=Bap4PA2-K4BkBhscgAVsBdvXNN19dkuCLO82sQFRvUM,3952
87
+ universal_mcp/integrations/integration.py,sha256=imzxq1jZJAjq9odF6ttCUS2-yQW7qqG8NNUj1LudT9U,9986
88
+ universal_mcp/servers/__init__.py,sha256=dDtvvMzbWskABlobTZHztrWMb3hbzgidza3BmEmIAD8,474
89
+ universal_mcp/servers/server.py,sha256=g2BJklnkPiO1yX9G1CQdRjb-bs_mg9NGYgPKgiKHEyg,7953
90
+ universal_mcp/stores/__init__.py,sha256=quvuwhZnpiSLuojf0NfmBx2xpaCulv3fbKtKaSCEmuM,603
91
+ universal_mcp/stores/store.py,sha256=-yCedzDQafYvQh17RjTPzUwXdjyOOO_0UP_QmAqeClE,6913
92
+ universal_mcp/tools/__init__.py,sha256=hVL-elJLwD_K87Gpw_s2_o43sQRPyRNOnxlzt0_Pfn8,72
93
+ universal_mcp/tools/adapters.py,sha256=2HvpyFiI0zg9dp0XshnG7t6KrVqFHM7hgtmgY1bsHN0,927
94
+ universal_mcp/tools/func_metadata.py,sha256=f_5LdDNsOu1DpXvDUeZYiJswVmwGZz6IMPtpJJ5B2-Y,7975
95
+ universal_mcp/tools/tools.py,sha256=PbvTi8A1hT7F8UXiiP291aP_oZmIPBfhfcgqR8XeSqo,12978
96
+ universal_mcp/utils/__init__.py,sha256=8wi4PGWu-SrFjNJ8U7fr2iFJ1ktqlDmSKj1xYd7KSDc,41
97
+ universal_mcp/utils/api_generator.py,sha256=-wRBpLVfJQXy1R-8FpDNs6b8_eeekVDuPc_uwjSGgiY,8883
98
+ universal_mcp/utils/docgen.py,sha256=yGBcBIr7dz3mNMGrCb_-JFsDf-ShmCKWWiPpuEj2SIU,21878
99
+ universal_mcp/utils/docstring_parser.py,sha256=UU_PzE4nYTPNWNJhVS4t-uvFiA3IL-zK-_H6rSerCOI,10976
100
+ universal_mcp/utils/dump_app_tools.py,sha256=9bQePJ4ZKzGtcIYrBgLxbKDOZmL7ajIAHhXljT_AlyA,2041
101
+ universal_mcp/utils/installation.py,sha256=KPBojDlt2YfFY2DfJ9pUr5evFJ9QQGp99KQUsRkz9GQ,10235
102
+ universal_mcp/utils/openapi.py,sha256=AgmcyntPyovic2mRqr-a7P4kEc7hU-yk9gRVIsO4078,20673
103
+ universal_mcp-0.1.9rc1.dist-info/METADATA,sha256=478HydebTfGc-zWDh_7tfhUqPQKDqP_Gfd6BcWnra-s,11302
104
+ universal_mcp-0.1.9rc1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
105
+ universal_mcp-0.1.9rc1.dist-info/entry_points.txt,sha256=QlBrVKmA2jIM0q-C-3TQMNJTTWOsOFQvgedBq2rZTS8,56
106
+ universal_mcp-0.1.9rc1.dist-info/RECORD,,
@@ -1,75 +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=qeWnbdIudyMR7ST4XTc0gpEM9o6TsM1ZnZ92dMAPSBA,754
9
- universal_mcp/applications/application.py,sha256=lH5aIb0pip2Pa3vXm8_IbEPNfgehKxkV0OJ0O6f4NWE,3928
10
- universal_mcp/applications/calendly/README.md,sha256=85m3XXLPhQ99oghl8SeazCZ2fjBR81-f1y_mjjhx2B0,5911
11
- universal_mcp/applications/calendly/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
- universal_mcp/applications/calendly/app.py,sha256=5IoPc-1kkPsAoWk2jwy-oM5iw9dEtkL4wfpupUZ0pf4,50293
13
- universal_mcp/applications/coda/README.md,sha256=4i6o_R-qtTuxfS1A7VoIb8_85FHAj-WVb8YG5fNvwL4,11411
14
- universal_mcp/applications/coda/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
- universal_mcp/applications/coda/app.py,sha256=NJpIqKH_eTsMkS73dJX9azdtSiX8UTlUjRU-k_Kf2AE,156924
16
- universal_mcp/applications/e2b/README.md,sha256=S4lTp-vEZ8VTCKPXqjUXu5nYlUMAF8lw8CQyBGPgxjs,700
17
- universal_mcp/applications/e2b/app.py,sha256=wjmPa2FKYXORmGiKCE1hSjO0D9T6ZiizFeNq8Y4vgrk,3156
18
- universal_mcp/applications/firecrawl/README.md,sha256=KAWe_TQbrc9eA6bSyde5dapMP1CNvarVItV_YJH3d_0,1430
19
- universal_mcp/applications/firecrawl/app.py,sha256=3-dguTgYkfpR7DpyXqeHYB5f-Pm-y5NRT2SXPVsmdAw,10063
20
- universal_mcp/applications/github/README.md,sha256=6ID-__gUJ5ZxzAS_OjzmoUAag1LamSvEB75DHcj3m-g,1294
21
- universal_mcp/applications/github/app.py,sha256=73Y5ceM2BGRcLUO__xO0RO1NNf6Gf3ROtqTlFI5k0Fg,18162
22
- universal_mcp/applications/google_calendar/app.py,sha256=mKzbCdijwvuHJDJxmRF6f_BGocK0cwrzIJok93aSknc,19760
23
- universal_mcp/applications/google_docs/README.md,sha256=SyOgJG-XU0FXhrVukvg9mxwin73mpqaCOT6rDJ64Klk,909
24
- universal_mcp/applications/google_docs/app.py,sha256=tQVHBtb9PSPepsmXn0ISB1fSy75B3H9iUhDrOU4cRKo,4137
25
- universal_mcp/applications/google_drive/README.md,sha256=YlN8IT12oO8zVMib1MlTYRBGNP7rzW_KyVAZyyxKvME,1192
26
- universal_mcp/applications/google_drive/app.py,sha256=Gf_beIWZUiJ_HcRP_g992GnfxVdfhq2P5r1jVgEfQoU,11935
27
- universal_mcp/applications/google_mail/README.md,sha256=LL6TjjmwEqyuRVvIfCh-I_PlWp9ciCZOdJC0LafGZYc,1185
28
- universal_mcp/applications/google_mail/app.py,sha256=3KwvyOwoAIhebFFsDPybKmSF9-mUhqPNGf5Gk9s28LM,27899
29
- universal_mcp/applications/google_sheet/README.md,sha256=yW1b_qlb_pbIJzCxZc58581kKzC5vyP8Mj4iwXgidtQ,1108
30
- universal_mcp/applications/google_sheet/app.py,sha256=jfTjDtN9hLwHcCmfYc2XMVbF05E_syvoYmiiFjDHGTA,7013
31
- universal_mcp/applications/markitdown/app.py,sha256=j1AidXGmDwEV4sBw0A-mEe8O4V4Yln4Atrqnk29AHiI,1836
32
- universal_mcp/applications/notion/README.md,sha256=45NmPOmSQv99qBvWdwmnV5vbaYc9_8vq8I-FA7veVAA,2600
33
- universal_mcp/applications/notion/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
- universal_mcp/applications/notion/app.py,sha256=nc-p531L-L6gMFqOOkYu5Irn9SReWAYRmJ8ZOIv5LrQ,20834
35
- universal_mcp/applications/perplexity/README.md,sha256=QGV1iReH5p-Np7vvkZsVHxxDKQ0YaitHEwomNmGEyQs,732
36
- universal_mcp/applications/perplexity/app.py,sha256=g-BgGCU42yA6j-t3GCJZKQXfISdgHUV4KJMcJZBbdak,3808
37
- universal_mcp/applications/reddit/README.md,sha256=YVbJ1RN6NWlB-P6w2LxCk_DuUWl7mwaKZScY-mIMnNc,1271
38
- universal_mcp/applications/reddit/app.py,sha256=Jd-Pr-IMhROun82kuLf0mNJ3P-LDfGfvj1bn_8qNIAI,15748
39
- universal_mcp/applications/resend/README.md,sha256=k-sb2UwbFvDPEz6qQPLWd2cJj8hDx5f3NW7dz2jAfjI,719
40
- universal_mcp/applications/resend/app.py,sha256=wF4Jje4vD4cPxnPLMYkDxGkl9IctaS2AzUxVAifpJ94,1976
41
- universal_mcp/applications/serpapi/README.md,sha256=hX4VeT2iL_67ZsMhKd60DAujQCh9K3IdHroHIq808RY,691
42
- universal_mcp/applications/serpapi/app.py,sha256=STDsePi7wKyA-8bs6CtgmCFqyF3_pGC-qa1epiBLT64,3920
43
- universal_mcp/applications/tavily/README.md,sha256=cNg4EwX5wBbkDpPtNBNC3A_GxglfSVhdAJuweSrXN20,721
44
- universal_mcp/applications/tavily/app.py,sha256=O9TUoqPn8-b_mMMCfiB5ypZZXAb4Xo8d3GLdN5PF4MQ,2602
45
- universal_mcp/applications/wrike/README.md,sha256=4EHVPlA8B_dzTA1-HQQqp89z6QL37RTyD2l6DD7vG9E,5156
46
- universal_mcp/applications/wrike/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
47
- universal_mcp/applications/wrike/app.py,sha256=Rjv2rYqEtfDOuW635QbPc1ajNDEOgtqGIQpU-atSe9M,60675
48
- universal_mcp/applications/youtube/README.md,sha256=NHqIm6QvXQK7I2oZ8hUwfjLDS4_eSK9NPeFbuGIbmhg,5405
49
- universal_mcp/applications/youtube/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
50
- universal_mcp/applications/youtube/app.py,sha256=TP56LE3RGcbgeX0XglRa6ajUkLvzuZU52OshPntPde0,57583
51
- universal_mcp/applications/zenquotes/README.md,sha256=wA3hjqjrkrczQaffpwyolSKq6gXmkLgeHx6_EQrYEOY,709
52
- universal_mcp/applications/zenquotes/app.py,sha256=xp_nlW4LFi0Mw1GRWIde4k8eexXUJx1wNqNExJ0oeKA,1085
53
- universal_mcp/integrations/README.md,sha256=lTAPXO2nivcBe1q7JT6PRa6v9Ns_ZersQMIdw-nmwEA,996
54
- universal_mcp/integrations/__init__.py,sha256=YY8Uw0XGNUpAQ1j-qgCOrwHTcuSew4W92cEtYXMxry4,963
55
- universal_mcp/integrations/agentr.py,sha256=l0mo79oeDML19udFfoCo9lyhbDAf0X94_lnpOgbTrb0,3331
56
- universal_mcp/integrations/integration.py,sha256=KgiQ6I1uWx-8701tgjXwgei7EANYCr8riY-Uhb2AAOE,9739
57
- universal_mcp/servers/__init__.py,sha256=dDtvvMzbWskABlobTZHztrWMb3hbzgidza3BmEmIAD8,474
58
- universal_mcp/servers/server.py,sha256=ARlDS4nmlYI22t2YVdSOcjWDwzvR-azeimYhAKX2g2A,8141
59
- universal_mcp/stores/__init__.py,sha256=quvuwhZnpiSLuojf0NfmBx2xpaCulv3fbKtKaSCEmuM,603
60
- universal_mcp/stores/store.py,sha256=8Hobd55WCXGXTJeADn7d_Qe-U8VkC6X3QDTgaKr3Saw,6774
61
- universal_mcp/tools/__init__.py,sha256=hVL-elJLwD_K87Gpw_s2_o43sQRPyRNOnxlzt0_Pfn8,72
62
- universal_mcp/tools/adapters.py,sha256=2HvpyFiI0zg9dp0XshnG7t6KrVqFHM7hgtmgY1bsHN0,927
63
- universal_mcp/tools/func_metadata.py,sha256=f_5LdDNsOu1DpXvDUeZYiJswVmwGZz6IMPtpJJ5B2-Y,7975
64
- universal_mcp/tools/tools.py,sha256=27PkcxoxdADoUqQHUyvKX1GJCOYb1lrOtqcR24tR7fs,12982
65
- universal_mcp/utils/__init__.py,sha256=8wi4PGWu-SrFjNJ8U7fr2iFJ1ktqlDmSKj1xYd7KSDc,41
66
- universal_mcp/utils/api_generator.py,sha256=-wRBpLVfJQXy1R-8FpDNs6b8_eeekVDuPc_uwjSGgiY,8883
67
- universal_mcp/utils/docgen.py,sha256=yGBcBIr7dz3mNMGrCb_-JFsDf-ShmCKWWiPpuEj2SIU,21878
68
- universal_mcp/utils/docstring_parser.py,sha256=-QVW9u9i1_FlAMwSkFil6ZNaKIkXKI6gqOYtURdp5ak,6745
69
- universal_mcp/utils/dump_app_tools.py,sha256=9bQePJ4ZKzGtcIYrBgLxbKDOZmL7ajIAHhXljT_AlyA,2041
70
- universal_mcp/utils/installation.py,sha256=3vy9ZLjQj1xpSAOyWpOanBr7o5DtffzWB5JAjN0Jjtk,3757
71
- universal_mcp/utils/openapi.py,sha256=AgmcyntPyovic2mRqr-a7P4kEc7hU-yk9gRVIsO4078,20673
72
- universal_mcp-0.1.8rc3.dist-info/METADATA,sha256=mTty3iqc9lUsEUtM1CAfsWHdR1CGWwDuLyeMDK09IwU,11271
73
- universal_mcp-0.1.8rc3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
74
- universal_mcp-0.1.8rc3.dist-info/entry_points.txt,sha256=QlBrVKmA2jIM0q-C-3TQMNJTTWOsOFQvgedBq2rZTS8,56
75
- universal_mcp-0.1.8rc3.dist-info/RECORD,,