universal-mcp-applications 0.1.29__py3-none-any.whl → 0.1.30rc1__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.

Potentially problematic release.


This version of universal-mcp-applications might be problematic. Click here for more details.

@@ -8,7 +8,7 @@ from loguru import logger
8
8
  from universal_mcp.applications.application import APIApplication
9
9
  from universal_mcp.integrations import Integration
10
10
 
11
- from universal_mcp.applications.unipile import UnipileApp
11
+ from universal_mcp.applications.linkedin import LinkedinApp
12
12
 
13
13
 
14
14
  class ScraperApp(APIApplication):
@@ -22,7 +22,7 @@ class ScraperApp(APIApplication):
22
22
  if self.integration:
23
23
  credentials = self.integration.get_credentials()
24
24
  self.account_id = credentials.get("account_id")
25
- self._unipile_app = UnipileApp(integration=self.integration)
25
+ self._unipile_app = LinkedinApp(integration=self.integration)
26
26
  else:
27
27
  logger.warning("Integration not found")
28
28
  self.account_id = None
@@ -0,0 +1,17 @@
1
+ from universal_mcp.applications.scraper import ScraperApp
2
+
3
+
4
+ from universal_mcp.agentr import AgentrClient, AgentrRegistry, AgentrIntegration
5
+
6
+ client = AgentrClient(api_key="key-1f5983ba-f433-4337-b652-dc40f8712660")
7
+ registry = AgentrRegistry(client=client)
8
+
9
+ integration = AgentrIntegration(name="scraper",client=client)
10
+
11
+ scraper = ScraperApp(integration=integration)
12
+
13
+ if __name__ == "__main__":
14
+ print(scraper.linkedin_search(keywords="ai", limit=2, category="jobs"))
15
+ # print(scraper.linkedin_retrieve_profile(identifier="ACoAAAEkwwAB9KEc2TrQgOLEQ-vzRyZeCDyc6DQ"))
16
+ # print(scraper.linkedin_list_profile_posts(identifier="ACoAAAEkwwAB9KEc2TrQgOLEQ-vzRyZeCDyc6DQ", limit=2))
17
+ # print(scraper.linkedin_list_post_comments(post_id="urn:li:ugcPost:7386500271624896512"))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: universal-mcp-applications
3
- Version: 0.1.29
3
+ Version: 0.1.30rc1
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
@@ -146,7 +146,7 @@ universal_mcp/applications/klaviyo/__init__.py,sha256=YS2GhW7my_I1tfyLlxlkeTFmlz
146
146
  universal_mcp/applications/klaviyo/app.py,sha256=xHQxEZFVIWPCBmL6YoYxuVREibwPRH21izw0psmOzFc,423692
147
147
  universal_mcp/applications/linkedin/README.md,sha256=SYVyzNuADMzYz3ElsA_46qy1tGWlI32WGUfLQ-3PITE,1458
148
148
  universal_mcp/applications/linkedin/__init__.py,sha256=Yj-713vb4ZYykIlXlwOkKkIXIOB3opCW8wvp_CCqlKk,29
149
- universal_mcp/applications/linkedin/app.py,sha256=mR_JuO54xv5Cf6ahhg7IKWflDGhPo2n2Gzbfx6to7Ns,11174
149
+ universal_mcp/applications/linkedin/app.py,sha256=jiKf5A6BwTKeShU0JcSd4Q1iTi282tUqSREyhSPsIIM,27304
150
150
  universal_mcp/applications/mailchimp/README.md,sha256=xOR32HA8h-WMS9ntcBxyllM3UOBYiyvZ6tJBHlAuU7k,33802
151
151
  universal_mcp/applications/mailchimp/__init__.py,sha256=wmXVl-NJyTNkFT5db29OZmeiLWAGu9jXwdZC5o2jZBw,30
152
152
  universal_mcp/applications/mailchimp/app.py,sha256=_a6iByjDK1SuM3UoT5lTokptdEryUzrS8JsYNLCTwi4,466723
@@ -197,7 +197,8 @@ universal_mcp/applications/rocketlane/__init__.py,sha256=jl3PjnTvPdjnbFXJgLywSlE
197
197
  universal_mcp/applications/rocketlane/app.py,sha256=Ae2hQFI5PylCLtNPJkTqWMLGsLx5fDd4wRFDhxTzTXQ,240689
198
198
  universal_mcp/applications/scraper/README.md,sha256=JUNLshHABs4T1f24nvQeee62YIElSkxpU-zs2kuS0Gw,1497
199
199
  universal_mcp/applications/scraper/__init__.py,sha256=W5Buzq8QbetUQm5m9xXCHeWcvVObU2vZ4xbvYtZImJo,28
200
- universal_mcp/applications/scraper/app.py,sha256=-BE_Ghfnh4_2XeE7MvxuYcY5eodpIlVeR4_XE3Z9jIQ,6997
200
+ universal_mcp/applications/scraper/app.py,sha256=-Dgaz_7vykhtdA1BEMHZzyuQMAG-dNsKNiaon-qp2Js,7000
201
+ universal_mcp/applications/scraper/scraper_testers.py,sha256=4OXq1ga7YeM5MmR8J78XdVKWjBX6qiDhBWh04WLXcHY,778
201
202
  universal_mcp/applications/semanticscholar/README.md,sha256=JpLY_698pvstgoNfQ5Go8C8ehQ-o68uFDX5kr86upK0,2834
202
203
  universal_mcp/applications/semanticscholar/__init__.py,sha256=eR36chrc0pbBsSE1GadvmQH0OmtKnSC91xbE7HcDPf0,36
203
204
  universal_mcp/applications/semanticscholar/app.py,sha256=OHTFkR-IwRU5Rvb1bEu7XmRHikht3hEgZxszLQu6kFI,22234
@@ -256,9 +257,6 @@ universal_mcp/applications/twitter/api_segments/trends_api.py,sha256=Boc6f2kqm53
256
257
  universal_mcp/applications/twitter/api_segments/tweets_api.py,sha256=YPXpFYMJm1DmbM9OpRS9OKVwdf8YtsE6hNvrnwYCT3k,90859
257
258
  universal_mcp/applications/twitter/api_segments/usage_api.py,sha256=Wx-bR8mBsFmjzo59hTl5MVm6_BgCejAPDwax1YWy5W4,1564
258
259
  universal_mcp/applications/twitter/api_segments/users_api.py,sha256=cYyUrVmqNRLn5EWjrjcJu0yflTdxwv1m5nta18ajma4,81261
259
- universal_mcp/applications/unipile/README.md,sha256=gh_YsmeJ0pAU7XNBZD8OO-AgH7ed2kG8QPbxm2wYjlY,5205
260
- universal_mcp/applications/unipile/__init__.py,sha256=0UZVOiYo_dDXbvTmtHrZ_fgvrbpasjWV17EEm4pZq9E,28
261
- universal_mcp/applications/unipile/app.py,sha256=FUMDk0JZb8kRmMlPn6_NdIiCz0SeduDJABG7UHAsl04,30206
262
260
  universal_mcp/applications/whatsapp/README.md,sha256=ZYbpVN0EqMW21ZCMcLNdheKX8OSPCkt3wcN8p8OZk5E,3849
263
261
  universal_mcp/applications/whatsapp/__init__.py,sha256=miHfSBpu5lx226T8dMbvOw_5H6MJCWOKVK_WbqMma-8,29
264
262
  universal_mcp/applications/whatsapp/app.py,sha256=jq7lukBtITqpm_K6l8r23G4N4QnU-u6AZQFToWDQY6g,23582
@@ -279,7 +277,7 @@ universal_mcp/applications/youtube/app.py,sha256=eqgqe0b53W9Mj0FZGW3ZqY3xkGF4NbO
279
277
  universal_mcp/applications/zenquotes/README.md,sha256=FJyoTGRCaZjF_bsCBqg1CrYcvIfuUG_Qk616G1wjhF8,512
280
278
  universal_mcp/applications/zenquotes/__init__.py,sha256=C5nEHZ3Xy6nYUarq0BqQbbJnHs0UtSlqhk0DqmvWiHk,58
281
279
  universal_mcp/applications/zenquotes/app.py,sha256=7xIEnSZWAGYu5583Be2ZjSCtLUAfMWRzucSpp7hw_h4,1299
282
- universal_mcp_applications-0.1.29.dist-info/METADATA,sha256=cHdzZVGcvF6XjJbqilkT9shgIYCYXGxyk7r5SzxN3fc,2956
283
- universal_mcp_applications-0.1.29.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
284
- universal_mcp_applications-0.1.29.dist-info/licenses/LICENSE,sha256=NweDZVPslBAZFzlgByF158b85GR0f5_tLQgq1NS48To,1063
285
- universal_mcp_applications-0.1.29.dist-info/RECORD,,
280
+ universal_mcp_applications-0.1.30rc1.dist-info/METADATA,sha256=vbVhisvEA32Xl7C2a8_HlXSO_y5AhXv8u72hXXqhi7E,2959
281
+ universal_mcp_applications-0.1.30rc1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
282
+ universal_mcp_applications-0.1.30rc1.dist-info/licenses/LICENSE,sha256=NweDZVPslBAZFzlgByF158b85GR0f5_tLQgq1NS48To,1063
283
+ universal_mcp_applications-0.1.30rc1.dist-info/RECORD,,
@@ -1,28 +0,0 @@
1
- # UnipileApp MCP Server
2
-
3
- An MCP Server for the UnipileApp API.
4
-
5
- ## 🛠️ Tool List
6
-
7
- This is automatically generated from OpenAPI schema for the UnipileApp API.
8
-
9
-
10
- | Tool | Description |
11
- |------|-------------|
12
- | `list_all_chats` | Retrieves a paginated list of all chat conversations across linked accounts. Supports filtering by unread status, date range, account provider, and specific account IDs, distinguishing it from functions listing messages within a single chat. |
13
- | `list_chat_messages` | Retrieves messages from a specific chat identified by `chat_id`. Supports pagination and filtering by date or sender. Unlike `list_all_messages`, which fetches from all chats, this function targets the contents of a single conversation. |
14
- | `send_chat_message` | Sends a text message to a specific chat conversation using its `chat_id`. This function creates a new message via a POST request, distinguishing it from read-only functions like `list_chat_messages`. It returns the API's response, which typically confirms the successful creation of the message. |
15
- | `retrieve_chat` | Retrieves a single chat's details using its Unipile or provider-specific ID. Requires an `account_id` when using a provider ID for context. This function is distinct from `list_all_chats`, which returns a collection, by targeting one specific conversation. |
16
- | `list_all_messages` | Retrieves a paginated list of messages from all chats associated with the account(s). Unlike `list_chat_messages` which targets a specific conversation, this function provides a global message view, filterable by sender, account, and date range. |
17
- | `list_all_accounts` | Retrieves a paginated list of all social media accounts linked to the Unipile service. This is crucial for obtaining the `account_id` required by other methods to specify which user account should perform an action, like sending a message or retrieving user-specific posts. |
18
- | `retrieve_linked_account` | Retrieves details for a specific account linked to Unipile using its ID. It fetches metadata about the connection itself (e.g., a linked LinkedIn account), differentiating it from `retrieve_user_profile` which fetches a user's profile from the external platform. |
19
- | `list_profile_posts` | Retrieves a paginated list of posts from a specific user or company profile using their provider ID. An authorizing `account_id` is required, and the `is_company` flag must specify the entity type, distinguishing this from `retrieve_post` which fetches a single post by its own ID. |
20
- | `retrieve_own_profile` | Retrieves the profile details for the user associated with the specified Unipile account ID. This function targets the API's 'me' endpoint to fetch the authenticated user's profile, distinct from `retrieve_user_profile` which fetches profiles of other users by their public identifier. |
21
- | `retrieve_user_profile` | Retrieves a specific LinkedIn user's profile using their public or internal ID, authorized via the provided `account_id`. Unlike `retrieve_own_profile`, which fetches the authenticated user's details, this function targets and returns data for any specified third-party user profile on the platform. |
22
- | `retrieve_post` | Fetches a specific post's details by its unique ID, requiring an `account_id` for authorization. Unlike `list_profile_posts`, which retrieves a collection of posts from a user or company profile, this function targets one specific post and returns its full object. |
23
- | `list_post_comments` | Fetches comments for a specific post using an `account_id` for authorization. Providing an optional `comment_id` retrieves threaded replies instead of top-level comments. This read-only operation contrasts with `create_post_comment`, which publishes new comments, and `list_content_reactions`, which retrieves 'likes'. |
24
- | `create_post` | Publishes a new top-level post from a specified account, including text, user mentions, and an external link. This function creates original content, distinguishing it from `create_post_comment` which adds replies to existing posts. |
25
- | `list_content_reactions` | Retrieves a paginated list of reactions for a given post or, optionally, a specific comment. This read-only operation uses the provided `account_id` for the request, distinguishing it from the `create_reaction` function which adds new reactions. |
26
- | `create_post_comment` | Publishes a comment on a specified post. By providing an optional `comment_id`, it creates a threaded reply to an existing comment instead of a new top-level one. This function's dual capability distinguishes it from `list_post_comments`, which only retrieves comments and their replies. |
27
- | `create_reaction` | Adds a specified reaction (e.g., 'like', 'love') to a LinkedIn post or, optionally, to a specific comment. This function performs a POST request to create the reaction, differentiating it from `list_content_reactions` which only retrieves existing ones. |
28
- | `search` | Performs a comprehensive LinkedIn search for people, companies, posts, or jobs using granular filters like keywords and location. Alternatively, it can execute a search from a direct LinkedIn URL. Supports pagination and targets either the classic or Sales Navigator API. |
@@ -1 +0,0 @@
1
- from .app import UnipileApp