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.
- universal_mcp/applications/__init__.py +7 -2
- universal_mcp/applications/ahrefs/README.md +76 -0
- universal_mcp/applications/ahrefs/__init__.py +0 -0
- universal_mcp/applications/ahrefs/app.py +2291 -0
- universal_mcp/applications/application.py +202 -87
- universal_mcp/applications/cal_com_v2/README.md +175 -0
- universal_mcp/applications/cal_com_v2/__init__.py +0 -0
- universal_mcp/applications/cal_com_v2/app.py +4735 -0
- universal_mcp/applications/calendly/app.py +0 -12
- universal_mcp/applications/clickup/README.md +160 -0
- universal_mcp/applications/clickup/__init__.py +0 -0
- universal_mcp/applications/clickup/app.py +4359 -0
- universal_mcp/applications/coda/app.py +0 -33
- universal_mcp/applications/e2b/app.py +2 -28
- universal_mcp/applications/figma/README.md +74 -0
- universal_mcp/applications/figma/__init__.py +0 -0
- universal_mcp/applications/figma/app.py +1261 -0
- universal_mcp/applications/firecrawl/app.py +2 -32
- universal_mcp/applications/google_calendar/app.py +0 -11
- universal_mcp/applications/google_docs/app.py +0 -18
- universal_mcp/applications/google_drive/app.py +0 -17
- universal_mcp/applications/google_mail/app.py +0 -16
- universal_mcp/applications/google_sheet/app.py +0 -18
- universal_mcp/applications/hashnode/app.py +77 -0
- universal_mcp/applications/hashnode/prompt.md +21 -0
- universal_mcp/applications/mailchimp/README.md +306 -0
- universal_mcp/applications/mailchimp/__init__.py +0 -0
- universal_mcp/applications/mailchimp/app.py +8883 -0
- universal_mcp/applications/markitdown/app.py +2 -2
- universal_mcp/applications/perplexity/app.py +0 -35
- universal_mcp/applications/replicate/README.md +53 -0
- universal_mcp/applications/replicate/app.py +969 -0
- universal_mcp/applications/resend/app.py +0 -18
- universal_mcp/applications/retell_ai/README.md +46 -0
- universal_mcp/applications/retell_ai/__init__.py +0 -0
- universal_mcp/applications/retell_ai/app.py +316 -0
- universal_mcp/applications/rocketlane/README.md +42 -0
- universal_mcp/applications/rocketlane/__init__.py +0 -0
- universal_mcp/applications/rocketlane/app.py +180 -0
- universal_mcp/applications/serpapi/app.py +2 -28
- universal_mcp/applications/spotify/README.md +116 -0
- universal_mcp/applications/spotify/__init__.py +0 -0
- universal_mcp/applications/spotify/app.py +2231 -0
- universal_mcp/applications/supabase/README.md +112 -0
- universal_mcp/applications/supabase/__init__.py +0 -0
- universal_mcp/applications/supabase/app.py +2644 -0
- universal_mcp/applications/tavily/app.py +0 -20
- universal_mcp/applications/wrike/app.py +0 -12
- universal_mcp/applications/youtube/app.py +0 -18
- universal_mcp/integrations/agentr.py +27 -4
- universal_mcp/integrations/integration.py +14 -6
- universal_mcp/servers/server.py +3 -6
- universal_mcp/stores/store.py +7 -0
- universal_mcp/tools/tools.py +2 -2
- universal_mcp/utils/docstring_parser.py +171 -104
- universal_mcp/utils/installation.py +199 -8
- {universal_mcp-0.1.8rc3.dist-info → universal_mcp-0.1.9rc1.dist-info}/METADATA +2 -1
- universal_mcp-0.1.9rc1.dist-info/RECORD +106 -0
- universal_mcp-0.1.8rc3.dist-info/RECORD +0 -75
- {universal_mcp-0.1.8rc3.dist-info → universal_mcp-0.1.9rc1.dist-info}/WHEEL +0 -0
- {universal_mcp-0.1.8rc3.dist-info → universal_mcp-0.1.9rc1.dist-info}/entry_points.txt +0 -0
@@ -1,9 +1,9 @@
|
|
1
1
|
from markitdown import MarkItDown
|
2
2
|
|
3
|
-
from universal_mcp.applications
|
3
|
+
from universal_mcp.applications import BaseApplication
|
4
4
|
|
5
5
|
|
6
|
-
class MarkitdownApp(
|
6
|
+
class MarkitdownApp(BaseApplication):
|
7
7
|
def __init__(self, **kwargs):
|
8
8
|
super().__init__(name="markitdown", **kwargs)
|
9
9
|
self.markitdown = MarkItDown()
|
@@ -1,7 +1,5 @@
|
|
1
1
|
from typing import Any, Literal
|
2
2
|
|
3
|
-
from loguru import logger
|
4
|
-
|
5
3
|
from universal_mcp.applications.application import APIApplication
|
6
4
|
from universal_mcp.integrations import Integration
|
7
5
|
|
@@ -9,41 +7,8 @@ from universal_mcp.integrations import Integration
|
|
9
7
|
class PerplexityApp(APIApplication):
|
10
8
|
def __init__(self, integration: Integration | None = None) -> None:
|
11
9
|
super().__init__(name="perplexity", integration=integration)
|
12
|
-
self.api_key: str | None = None
|
13
10
|
self.base_url = "https://api.perplexity.ai"
|
14
11
|
|
15
|
-
def _set_api_key(self):
|
16
|
-
if self.api_key:
|
17
|
-
return
|
18
|
-
|
19
|
-
if not self.integration:
|
20
|
-
raise ValueError("Integration is None. Cannot retrieve Perplexity API Key.")
|
21
|
-
|
22
|
-
credentials = self.integration.get_credentials()
|
23
|
-
if not credentials:
|
24
|
-
raise ValueError(
|
25
|
-
f"Failed to retrieve Perplexity API Key using integration '{self.integration.name}'. "
|
26
|
-
)
|
27
|
-
api_key = (
|
28
|
-
credentials.get("api_key")
|
29
|
-
or credentials.get("API_KEY")
|
30
|
-
or credentials.get("apiKey")
|
31
|
-
)
|
32
|
-
if not api_key:
|
33
|
-
raise ValueError(
|
34
|
-
f"Invalid credential format received for Perplexity API Key via integration '{self.integration.name}'. "
|
35
|
-
)
|
36
|
-
self.api_key = api_key
|
37
|
-
|
38
|
-
def _get_headers(self) -> dict[str, str]:
|
39
|
-
self._set_api_key()
|
40
|
-
logger.debug(f"Perplexity API Key: {self.api_key}")
|
41
|
-
return {
|
42
|
-
"Authorization": f"Bearer {self.api_key}",
|
43
|
-
"Content-Type": "application/json",
|
44
|
-
"Accept": "application/json",
|
45
|
-
}
|
46
|
-
|
47
12
|
def chat(
|
48
13
|
self,
|
49
14
|
query: str,
|
@@ -0,0 +1,53 @@
|
|
1
|
+
|
2
|
+
# App MCP Server
|
3
|
+
An MCP Server for the App API.
|
4
|
+
## Supported Integrations
|
5
|
+
- AgentR
|
6
|
+
- API Key (Coming Soon)
|
7
|
+
- OAuth (Coming Soon)
|
8
|
+
## Tools
|
9
|
+
This is automatically generated from the App module.
|
10
|
+
## Supported Integrations
|
11
|
+
This tool can be integrated with any service that supports HTTP requests.
|
12
|
+
## Tool List
|
13
|
+
| Tool | Description |
|
14
|
+
|------|-------------|
|
15
|
+
| account_get | Gets information about the authenticated account. Args: None: This f... |
|
16
|
+
| collections_list | Lists collections of models available on Replicate, returning a paginated list of collection obje... |
|
17
|
+
| collections_get | Retrieves detailed information about a specific model collection, with automatic truncation of la... |
|
18
|
+
| deployments_list | Lists all deployments associated with the authenticated account. Args: ... |
|
19
|
+
| deployments_create | Creates a new model deployment with specified configuration parameters. Args: ... |
|
20
|
+
| deployments_get | Retrieves detailed information about a specific deployment by its owner and name. ... |
|
21
|
+
| deployments_update | Updates configurable properties of an existing deployment, such as hardware specifications and in... |
|
22
|
+
| deployments_delete | Deletes a specified deployment associated with a given owner or organization Arg... |
|
23
|
+
| deployments_predictions_create | Creates an asynchronous prediction using a specified deployment, optionally configuring webhook n... |
|
24
|
+
| hardware_list | Retrieves a list of available hardware options for running models. Returns: ... |
|
25
|
+
| models_list | Retrieves a paginated list of publicly available models from the Replicate API. ... |
|
26
|
+
| models_create | Creates a new model in the system with specified parameters and metadata. Args: ... |
|
27
|
+
| models_search | Searches for public models based on a provided query string Args: qu... |
|
28
|
+
| models_get | Retrieves detailed information about a specific AI model by its owner and name A... |
|
29
|
+
| models_delete | Deletes a private model from the system, provided it has no existing versions. A... |
|
30
|
+
| models_examples_list | Retrieves a list of example predictions associated with a specific model. Args: ... |
|
31
|
+
| models_predictions_create | Creates an asynchronous prediction request using a specified machine learning model. ... |
|
32
|
+
| models_readme_get | Retrieves the README content for a specified model in Markdown format. Args: ... |
|
33
|
+
| models_versions_list | Lists all available versions of a specified model. Args: model_owner... |
|
34
|
+
| models_versions_get | Retrieves detailed information about a specific version of a model by querying the API. ... |
|
35
|
+
| models_versions_delete | Deletes a specific version of a model and its associated predictions/output. Arg... |
|
36
|
+
| trainings_create | Initiates a new asynchronous training job for a specific model version, with optional webhook not... |
|
37
|
+
| predictions_list | Lists all predictions created by the authenticated account within an optional time range. ... |
|
38
|
+
| predictions_create | Creates an asynchronous prediction request using a specified model version. Args... |
|
39
|
+
| predictions_get | Retrieves the current state and details of a prediction by its ID. Args: ... |
|
40
|
+
| predictions_cancel | Cancels a running prediction job identified by its ID. Args: predict... |
|
41
|
+
| trainings_list | Lists all training jobs created by the authenticated account. Returns: ... |
|
42
|
+
| trainings_get | Retrieves the current state of a training job by its ID. Args: train... |
|
43
|
+
| trainings_cancel | Cancels a specific training job in progress. Args: training_id: Stri... |
|
44
|
+
| webhooks_default_secret_get | Retrieves the signing secret for the default webhook endpoint. Returns: ... |
|
45
|
+
| list_tools | Returns a list of methods exposed as tools by this application. |
|
46
|
+
|
47
|
+
## Usage
|
48
|
+
- Login to AgentR
|
49
|
+
- Follow the quickstart guide to setup MCP Server for your client
|
50
|
+
- Visit Apps Store and enable the App app
|
51
|
+
- Restart the MCP Server
|
52
|
+
### Local Development
|
53
|
+
- Follow the README to test with the local MCP Server
|