universal-mcp-applications 0.1.17__py3-none-any.whl → 0.1.33__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.
- universal_mcp/applications/BEST_PRACTICES.md +166 -0
- universal_mcp/applications/ahrefs/README.md +3 -3
- universal_mcp/applications/airtable/README.md +3 -3
- universal_mcp/applications/airtable/app.py +0 -1
- universal_mcp/applications/apollo/app.py +0 -1
- universal_mcp/applications/asana/README.md +3 -3
- universal_mcp/applications/aws_s3/README.md +29 -0
- universal_mcp/applications/aws_s3/app.py +40 -39
- universal_mcp/applications/bill/README.md +249 -0
- universal_mcp/applications/browser_use/README.md +1 -0
- universal_mcp/applications/browser_use/__init__.py +0 -0
- universal_mcp/applications/browser_use/app.py +71 -0
- universal_mcp/applications/calendly/README.md +45 -45
- universal_mcp/applications/calendly/app.py +125 -125
- universal_mcp/applications/canva/README.md +35 -35
- universal_mcp/applications/canva/app.py +95 -99
- universal_mcp/applications/clickup/README.md +4 -4
- universal_mcp/applications/confluence/app.py +0 -1
- universal_mcp/applications/contentful/README.md +1 -2
- universal_mcp/applications/contentful/app.py +4 -5
- universal_mcp/applications/crustdata/README.md +3 -3
- universal_mcp/applications/domain_checker/README.md +2 -2
- universal_mcp/applications/domain_checker/app.py +11 -15
- universal_mcp/applications/e2b/README.md +4 -4
- universal_mcp/applications/e2b/app.py +4 -4
- universal_mcp/applications/elevenlabs/README.md +3 -77
- universal_mcp/applications/elevenlabs/app.py +18 -15
- universal_mcp/applications/exa/README.md +7 -7
- universal_mcp/applications/exa/app.py +17 -17
- universal_mcp/applications/falai/README.md +13 -12
- universal_mcp/applications/falai/app.py +34 -35
- universal_mcp/applications/figma/README.md +3 -3
- universal_mcp/applications/file_system/README.md +13 -0
- universal_mcp/applications/file_system/app.py +9 -9
- universal_mcp/applications/firecrawl/README.md +9 -9
- universal_mcp/applications/firecrawl/app.py +46 -46
- universal_mcp/applications/fireflies/README.md +14 -14
- universal_mcp/applications/fireflies/app.py +164 -57
- universal_mcp/applications/fpl/README.md +12 -12
- universal_mcp/applications/fpl/app.py +54 -55
- universal_mcp/applications/ghost_content/app.py +0 -1
- universal_mcp/applications/github/README.md +10 -10
- universal_mcp/applications/github/app.py +50 -52
- universal_mcp/applications/google_calendar/README.md +10 -10
- universal_mcp/applications/google_calendar/app.py +50 -49
- universal_mcp/applications/google_docs/README.md +14 -14
- universal_mcp/applications/google_docs/app.py +307 -233
- universal_mcp/applications/google_drive/README.md +54 -57
- universal_mcp/applications/google_drive/app.py +270 -261
- universal_mcp/applications/google_gemini/README.md +3 -14
- universal_mcp/applications/google_gemini/app.py +15 -18
- universal_mcp/applications/google_mail/README.md +20 -20
- universal_mcp/applications/google_mail/app.py +110 -109
- universal_mcp/applications/google_searchconsole/README.md +10 -10
- universal_mcp/applications/google_searchconsole/app.py +37 -37
- universal_mcp/applications/google_sheet/README.md +25 -25
- universal_mcp/applications/google_sheet/app.py +270 -266
- universal_mcp/applications/hashnode/README.md +6 -3
- universal_mcp/applications/hashnode/app.py +174 -25
- universal_mcp/applications/http_tools/README.md +5 -5
- universal_mcp/applications/http_tools/app.py +10 -11
- universal_mcp/applications/hubspot/api_segments/__init__.py +0 -0
- universal_mcp/applications/hubspot/api_segments/api_segment_base.py +54 -0
- universal_mcp/applications/hubspot/api_segments/crm_api.py +7337 -0
- universal_mcp/applications/hubspot/api_segments/marketing_api.py +1467 -0
- universal_mcp/applications/hubspot/app.py +2 -15
- universal_mcp/applications/jira/app.py +0 -1
- universal_mcp/applications/klaviyo/README.md +0 -36
- universal_mcp/applications/linkedin/README.md +18 -4
- universal_mcp/applications/linkedin/app.py +763 -162
- universal_mcp/applications/mailchimp/README.md +3 -3
- universal_mcp/applications/markitdown/app.py +10 -5
- universal_mcp/applications/ms_teams/README.md +31 -31
- universal_mcp/applications/ms_teams/app.py +151 -151
- universal_mcp/applications/neon/README.md +3 -3
- universal_mcp/applications/onedrive/README.md +24 -0
- universal_mcp/applications/onedrive/__init__.py +1 -0
- universal_mcp/applications/onedrive/app.py +338 -0
- universal_mcp/applications/openai/README.md +18 -17
- universal_mcp/applications/openai/app.py +40 -39
- universal_mcp/applications/outlook/README.md +9 -9
- universal_mcp/applications/outlook/app.py +307 -225
- universal_mcp/applications/perplexity/README.md +4 -4
- universal_mcp/applications/perplexity/app.py +4 -4
- universal_mcp/applications/posthog/README.md +128 -127
- universal_mcp/applications/reddit/README.md +21 -124
- universal_mcp/applications/reddit/app.py +51 -68
- universal_mcp/applications/resend/README.md +29 -29
- universal_mcp/applications/resend/app.py +116 -117
- universal_mcp/applications/rocketlane/app.py +0 -1
- universal_mcp/applications/scraper/README.md +7 -4
- universal_mcp/applications/scraper/__init__.py +1 -1
- universal_mcp/applications/scraper/app.py +341 -103
- universal_mcp/applications/semrush/README.md +3 -0
- universal_mcp/applications/serpapi/README.md +3 -3
- universal_mcp/applications/serpapi/app.py +14 -14
- universal_mcp/applications/sharepoint/README.md +19 -0
- universal_mcp/applications/sharepoint/app.py +285 -173
- universal_mcp/applications/shopify/app.py +0 -1
- universal_mcp/applications/shortcut/README.md +3 -3
- universal_mcp/applications/slack/README.md +23 -0
- universal_mcp/applications/slack/app.py +79 -48
- universal_mcp/applications/spotify/README.md +3 -3
- universal_mcp/applications/supabase/README.md +3 -3
- universal_mcp/applications/tavily/README.md +4 -4
- universal_mcp/applications/tavily/app.py +4 -4
- universal_mcp/applications/twilio/README.md +15 -0
- universal_mcp/applications/twitter/README.md +92 -89
- universal_mcp/applications/twitter/api_segments/compliance_api.py +13 -15
- universal_mcp/applications/twitter/api_segments/dm_conversations_api.py +20 -20
- universal_mcp/applications/twitter/api_segments/dm_events_api.py +12 -12
- universal_mcp/applications/twitter/api_segments/likes_api.py +12 -12
- universal_mcp/applications/twitter/api_segments/lists_api.py +37 -39
- universal_mcp/applications/twitter/api_segments/spaces_api.py +24 -24
- universal_mcp/applications/twitter/api_segments/trends_api.py +4 -4
- universal_mcp/applications/twitter/api_segments/tweets_api.py +105 -105
- universal_mcp/applications/twitter/api_segments/usage_api.py +4 -4
- universal_mcp/applications/twitter/api_segments/users_api.py +136 -136
- universal_mcp/applications/twitter/app.py +15 -11
- universal_mcp/applications/whatsapp/README.md +12 -12
- universal_mcp/applications/whatsapp/app.py +66 -67
- universal_mcp/applications/whatsapp/audio.py +39 -35
- universal_mcp/applications/whatsapp/whatsapp.py +176 -154
- universal_mcp/applications/whatsapp_business/README.md +23 -23
- universal_mcp/applications/whatsapp_business/app.py +92 -92
- universal_mcp/applications/yahoo_finance/README.md +17 -0
- universal_mcp/applications/yahoo_finance/__init__.py +1 -0
- universal_mcp/applications/yahoo_finance/app.py +300 -0
- universal_mcp/applications/youtube/README.md +46 -46
- universal_mcp/applications/youtube/app.py +208 -195
- universal_mcp/applications/zenquotes/README.md +1 -1
- universal_mcp/applications/zenquotes/__init__.py +2 -0
- universal_mcp/applications/zenquotes/app.py +5 -5
- {universal_mcp_applications-0.1.17.dist-info → universal_mcp_applications-0.1.33.dist-info}/METADATA +5 -90
- {universal_mcp_applications-0.1.17.dist-info → universal_mcp_applications-0.1.33.dist-info}/RECORD +137 -128
- universal_mcp/applications/replicate/README.md +0 -18
- universal_mcp/applications/replicate/__init__.py +0 -1
- universal_mcp/applications/replicate/app.py +0 -493
- universal_mcp/applications/unipile/README.md +0 -28
- universal_mcp/applications/unipile/__init__.py +0 -1
- universal_mcp/applications/unipile/app.py +0 -827
- {universal_mcp_applications-0.1.17.dist-info → universal_mcp_applications-0.1.33.dist-info}/WHEEL +0 -0
- {universal_mcp_applications-0.1.17.dist-info → universal_mcp_applications-0.1.33.dist-info}/licenses/LICENSE +0 -0
|
@@ -2,7 +2,6 @@ from collections.abc import Callable
|
|
|
2
2
|
from typing import Any
|
|
3
3
|
|
|
4
4
|
from gql import gql
|
|
5
|
-
|
|
6
5
|
from universal_mcp.applications.application import (
|
|
7
6
|
GraphQLApplication,
|
|
8
7
|
)
|
|
@@ -25,18 +24,18 @@ class FirefliesApp(GraphQLApplication):
|
|
|
25
24
|
) -> dict[str, Any]:
|
|
26
25
|
"""
|
|
27
26
|
Queries the Fireflies.ai API for team conversation analytics, specifically the average number of filler words. The data retrieval can optionally be filtered by a start and end time. Returns a dictionary containing the fetched analytics.
|
|
28
|
-
|
|
27
|
+
|
|
29
28
|
Args:
|
|
30
29
|
start_time: Optional start time for analytics (ISO 8601 format, e.g., "2024-01-01T00:00:00Z").
|
|
31
30
|
end_time: Optional end time for analytics (ISO 8601 format, e.g., "2024-01-31T23:59:59Z").
|
|
32
|
-
|
|
31
|
+
|
|
33
32
|
Returns:
|
|
34
33
|
A dictionary containing team analytics data.
|
|
35
34
|
Example: {"team": {"conversation": {"average_filler_words": 0.5}}}
|
|
36
|
-
|
|
35
|
+
|
|
37
36
|
Raises:
|
|
38
37
|
Exception: If the API request fails.
|
|
39
|
-
|
|
38
|
+
|
|
40
39
|
Tags:
|
|
41
40
|
analytics, team, fireflies, query
|
|
42
41
|
"""
|
|
@@ -63,17 +62,17 @@ class FirefliesApp(GraphQLApplication):
|
|
|
63
62
|
def get_transcript_ai_outputs(self, transcript_id: str) -> list[dict[str, Any]]:
|
|
64
63
|
"""
|
|
65
64
|
Retrieves all AI-generated application outputs, such as summaries or analyses, associated with a specific transcript ID. It fetches the detailed prompt and response data for each AI app that has processed the transcript, providing a complete record of AI-generated content.
|
|
66
|
-
|
|
65
|
+
|
|
67
66
|
Args:
|
|
68
67
|
transcript_id: The ID of the transcript.
|
|
69
|
-
|
|
68
|
+
|
|
70
69
|
Returns:
|
|
71
70
|
A list of dictionaries, each representing an AI app output.
|
|
72
71
|
Example: [{"transcript_id": "...", "user_id": "...", ...}]
|
|
73
|
-
|
|
72
|
+
|
|
74
73
|
Raises:
|
|
75
74
|
Exception: If the API request fails.
|
|
76
|
-
|
|
75
|
+
|
|
77
76
|
Tags:
|
|
78
77
|
ai, apps, transcript, fireflies, query
|
|
79
78
|
"""
|
|
@@ -99,17 +98,17 @@ class FirefliesApp(GraphQLApplication):
|
|
|
99
98
|
def get_user_details(self, user_id: str) -> dict[str, Any]:
|
|
100
99
|
"""
|
|
101
100
|
Fetches details, such as name and integrations, for a single user identified by their unique ID. This function queries for a specific user, differentiating it from `list_users` which retrieves a list of all users in the workspace.
|
|
102
|
-
|
|
101
|
+
|
|
103
102
|
Args:
|
|
104
103
|
user_id: The ID of the user.
|
|
105
|
-
|
|
104
|
+
|
|
106
105
|
Returns:
|
|
107
106
|
A dictionary containing user details (e.g., name, integrations).
|
|
108
107
|
Example: {"name": "John Doe", "integrations": [...]}
|
|
109
|
-
|
|
108
|
+
|
|
110
109
|
Raises:
|
|
111
110
|
Exception: If the API request fails.
|
|
112
|
-
|
|
111
|
+
|
|
113
112
|
Tags:
|
|
114
113
|
user, details, fireflies, query, important
|
|
115
114
|
"""
|
|
@@ -128,14 +127,14 @@ class FirefliesApp(GraphQLApplication):
|
|
|
128
127
|
def list_users(self) -> list[dict[str, Any]]:
|
|
129
128
|
"""
|
|
130
129
|
Retrieves a list of all users in the workspace, returning each user's name and configured integrations. It provides a complete team roster, differing from `get_user_details`, which fetches information for a single user by their ID.
|
|
131
|
-
|
|
130
|
+
|
|
132
131
|
Returns:
|
|
133
132
|
A list of dictionaries, each representing a user with their name and integrations.
|
|
134
133
|
Example: [{"name": "Justin Fly", "integrations": ["zoom", "slack"]}, ...]
|
|
135
|
-
|
|
134
|
+
|
|
136
135
|
Raises:
|
|
137
136
|
Exception: If the API request fails.
|
|
138
|
-
|
|
137
|
+
|
|
139
138
|
Tags:
|
|
140
139
|
user, list, users, fireflies, query
|
|
141
140
|
"""
|
|
@@ -158,25 +157,133 @@ class FirefliesApp(GraphQLApplication):
|
|
|
158
157
|
def get_transcript_details(self, transcript_id: str) -> dict[str, Any]:
|
|
159
158
|
"""
|
|
160
159
|
Queries the Fireflies API for a single transcript's details, such as title and ID, using its unique identifier. It fetches one specific entry, distinguishing it from `list_transcripts`, which retrieves a collection, and from `get_ai_apps_outputs` which gets AI data from a transcript.
|
|
161
|
-
|
|
160
|
+
|
|
162
161
|
Args:
|
|
163
162
|
transcript_id: The ID of the transcript.
|
|
164
|
-
|
|
163
|
+
|
|
165
164
|
Returns:
|
|
166
165
|
A dictionary containing transcript details (e.g., title, id).
|
|
167
166
|
Example: {"title": "Meeting Notes", "id": "..."}
|
|
168
|
-
|
|
167
|
+
|
|
169
168
|
Raises:
|
|
170
169
|
Exception: If the API request fails.
|
|
171
|
-
|
|
170
|
+
|
|
172
171
|
Tags:
|
|
173
172
|
transcript, details, fireflies, query, important
|
|
174
173
|
"""
|
|
175
174
|
query_gql = gql("""
|
|
176
175
|
query Transcript($transcriptId: String!) {
|
|
177
176
|
transcript(id: $transcriptId) {
|
|
178
|
-
title
|
|
179
177
|
id
|
|
178
|
+
title
|
|
179
|
+
host_email
|
|
180
|
+
organizer_email
|
|
181
|
+
user {
|
|
182
|
+
user_id
|
|
183
|
+
email
|
|
184
|
+
name
|
|
185
|
+
num_transcripts
|
|
186
|
+
recent_meeting
|
|
187
|
+
minutes_consumed
|
|
188
|
+
is_admin
|
|
189
|
+
integrations
|
|
190
|
+
}
|
|
191
|
+
speakers {
|
|
192
|
+
id
|
|
193
|
+
name
|
|
194
|
+
}
|
|
195
|
+
transcript_url
|
|
196
|
+
participants
|
|
197
|
+
meeting_attendees {
|
|
198
|
+
displayName
|
|
199
|
+
email
|
|
200
|
+
phoneNumber
|
|
201
|
+
name
|
|
202
|
+
location
|
|
203
|
+
}
|
|
204
|
+
fireflies_users
|
|
205
|
+
duration
|
|
206
|
+
dateString
|
|
207
|
+
date
|
|
208
|
+
audio_url
|
|
209
|
+
video_url
|
|
210
|
+
sentences {
|
|
211
|
+
index
|
|
212
|
+
speaker_name
|
|
213
|
+
speaker_id
|
|
214
|
+
text
|
|
215
|
+
raw_text
|
|
216
|
+
start_time
|
|
217
|
+
end_time
|
|
218
|
+
ai_filters {
|
|
219
|
+
task
|
|
220
|
+
pricing
|
|
221
|
+
metric
|
|
222
|
+
question
|
|
223
|
+
date_and_time
|
|
224
|
+
text_cleanup
|
|
225
|
+
sentiment
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
calendar_id
|
|
229
|
+
summary {
|
|
230
|
+
action_items
|
|
231
|
+
keywords
|
|
232
|
+
outline
|
|
233
|
+
overview
|
|
234
|
+
shorthand_bullet
|
|
235
|
+
gist
|
|
236
|
+
bullet_gist
|
|
237
|
+
short_summary
|
|
238
|
+
short_overview
|
|
239
|
+
meeting_type
|
|
240
|
+
topics_discussed
|
|
241
|
+
transcript_chapters
|
|
242
|
+
}
|
|
243
|
+
meeting_info {
|
|
244
|
+
fred_joined
|
|
245
|
+
silent_meeting
|
|
246
|
+
summary_status
|
|
247
|
+
}
|
|
248
|
+
cal_id
|
|
249
|
+
calendar_type
|
|
250
|
+
apps_preview {
|
|
251
|
+
outputs {
|
|
252
|
+
transcript_id
|
|
253
|
+
user_id
|
|
254
|
+
app_id
|
|
255
|
+
created_at
|
|
256
|
+
title
|
|
257
|
+
prompt
|
|
258
|
+
response
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
meeting_link
|
|
262
|
+
analytics {
|
|
263
|
+
sentiments {
|
|
264
|
+
negative_pct
|
|
265
|
+
neutral_pct
|
|
266
|
+
positive_pct
|
|
267
|
+
}
|
|
268
|
+
categories {
|
|
269
|
+
questions
|
|
270
|
+
date_times
|
|
271
|
+
metrics
|
|
272
|
+
tasks
|
|
273
|
+
}
|
|
274
|
+
speakers {
|
|
275
|
+
speaker_id
|
|
276
|
+
name
|
|
277
|
+
duration
|
|
278
|
+
word_count
|
|
279
|
+
longest_monologue
|
|
280
|
+
monologues_count
|
|
281
|
+
filler_words
|
|
282
|
+
questions
|
|
283
|
+
duration_pct
|
|
284
|
+
words_per_minute
|
|
285
|
+
}
|
|
286
|
+
}
|
|
180
287
|
}
|
|
181
288
|
}
|
|
182
289
|
""")
|
|
@@ -187,17 +294,17 @@ class FirefliesApp(GraphQLApplication):
|
|
|
187
294
|
def list_transcripts(self, user_id: str | None = None) -> list[dict[str, Any]]:
|
|
188
295
|
"""
|
|
189
296
|
Fetches a list of meeting transcripts, returning the title and ID for each. The list can be filtered to return only transcripts for a specific user. This function complements `get_transcript_details`, which retrieves a single transcript by its unique ID.
|
|
190
|
-
|
|
297
|
+
|
|
191
298
|
Args:
|
|
192
299
|
user_id: Optional ID of the user to filter transcripts for.
|
|
193
|
-
|
|
300
|
+
|
|
194
301
|
Returns:
|
|
195
302
|
A list of dictionaries, each representing a transcript (e.g., title, id).
|
|
196
303
|
Example: [{"title": "Meeting 1", "id": "..."}, {"title": "Meeting 2", "id": "..."}]
|
|
197
|
-
|
|
304
|
+
|
|
198
305
|
Raises:
|
|
199
306
|
Exception: If the API request fails.
|
|
200
|
-
|
|
307
|
+
|
|
201
308
|
Tags:
|
|
202
309
|
transcript, list, fireflies, query
|
|
203
310
|
"""
|
|
@@ -218,17 +325,17 @@ class FirefliesApp(GraphQLApplication):
|
|
|
218
325
|
def get_bite_details(self, bite_id: str) -> dict[str, Any]:
|
|
219
326
|
"""
|
|
220
327
|
Retrieves detailed information for a specific bite (soundbite/clip) using its unique ID. It fetches data including the user ID, name, processing status, and summary. This provides a focused view of a single bite, distinguishing it from `list_bites` which fetches a collection of bites.
|
|
221
|
-
|
|
328
|
+
|
|
222
329
|
Args:
|
|
223
330
|
bite_id: The ID of the bite.
|
|
224
|
-
|
|
331
|
+
|
|
225
332
|
Returns:
|
|
226
333
|
A dictionary containing bite details (e.g., user_id, name, status, summary).
|
|
227
334
|
Example: {"user_id": "...", "name": "Key Moment", "status": "processed", "summary": "..."}
|
|
228
|
-
|
|
335
|
+
|
|
229
336
|
Raises:
|
|
230
337
|
Exception: If the API request fails.
|
|
231
|
-
|
|
338
|
+
|
|
232
339
|
Tags:
|
|
233
340
|
bite, details, fireflies, query
|
|
234
341
|
"""
|
|
@@ -249,17 +356,17 @@ class FirefliesApp(GraphQLApplication):
|
|
|
249
356
|
def list_bites(self, mine: bool | None = None) -> list[dict[str, Any]]:
|
|
250
357
|
"""
|
|
251
358
|
Retrieves a list of soundbites (clips) from the Fireflies API. An optional 'mine' parameter filters for soundbites belonging only to the authenticated user. Differentiates from 'get_bite_details' by fetching multiple items rather than a single one by ID.
|
|
252
|
-
|
|
359
|
+
|
|
253
360
|
Args:
|
|
254
361
|
mine: Optional boolean to filter for the authenticated user's bites (default true if not specified by API).
|
|
255
|
-
|
|
362
|
+
|
|
256
363
|
Returns:
|
|
257
364
|
A list of dictionaries, each representing a bite (e.g., user_id, name, end_time).
|
|
258
365
|
Example: [{"user_id": "...", "name": "Clip 1", "end_time": "..."}]
|
|
259
|
-
|
|
366
|
+
|
|
260
367
|
Raises:
|
|
261
368
|
Exception: If the API request fails.
|
|
262
|
-
|
|
369
|
+
|
|
263
370
|
Tags:
|
|
264
371
|
bite, list, fireflies, query
|
|
265
372
|
"""
|
|
@@ -283,17 +390,17 @@ class FirefliesApp(GraphQLApplication):
|
|
|
283
390
|
def add_to_live_meeting(self, meeting_link: str) -> dict[str, Any]:
|
|
284
391
|
"""
|
|
285
392
|
Executes a GraphQL mutation to make the Fireflies.ai notetaker join a live meeting specified by its URL. This action initiates the bot's recording and transcription process for the ongoing session and returns a success confirmation.
|
|
286
|
-
|
|
393
|
+
|
|
287
394
|
Args:
|
|
288
395
|
meeting_link: The URL of the live meeting (e.g., Google Meet link).
|
|
289
|
-
|
|
396
|
+
|
|
290
397
|
Returns:
|
|
291
398
|
A dictionary indicating the success of the operation.
|
|
292
399
|
Example: {"success": true}
|
|
293
|
-
|
|
400
|
+
|
|
294
401
|
Raises:
|
|
295
402
|
Exception: If the API request fails.
|
|
296
|
-
|
|
403
|
+
|
|
297
404
|
Tags:
|
|
298
405
|
meeting, live, fireflies, mutation, important
|
|
299
406
|
"""
|
|
@@ -313,19 +420,19 @@ class FirefliesApp(GraphQLApplication):
|
|
|
313
420
|
) -> dict[str, Any]:
|
|
314
421
|
"""
|
|
315
422
|
Creates a soundbite/clip from a specified segment of a transcript using its ID, start, and end times. This function executes a GraphQL mutation, returning details of the newly created bite, such as its ID and processing status.
|
|
316
|
-
|
|
423
|
+
|
|
317
424
|
Args:
|
|
318
425
|
transcript_id: The ID of the transcript.
|
|
319
426
|
start_time: The start time of the bite in seconds (or relevant float unit).
|
|
320
427
|
end_time: The end time of the bite in seconds (or relevant float unit).
|
|
321
|
-
|
|
428
|
+
|
|
322
429
|
Returns:
|
|
323
430
|
A dictionary containing details of the created bite (e.g., summary, status, id).
|
|
324
431
|
Example: {"summary": "...", "status": "processing", "id": "..."}
|
|
325
|
-
|
|
432
|
+
|
|
326
433
|
Raises:
|
|
327
434
|
Exception: If the API request fails.
|
|
328
|
-
|
|
435
|
+
|
|
329
436
|
Tags:
|
|
330
437
|
bite, create, transcript, fireflies, mutation
|
|
331
438
|
"""
|
|
@@ -349,17 +456,17 @@ class FirefliesApp(GraphQLApplication):
|
|
|
349
456
|
def delete_transcript(self, transcript_id: str) -> dict[str, Any]:
|
|
350
457
|
"""
|
|
351
458
|
Permanently deletes a specific transcript from Fireflies.ai using its ID. This destructive operation executes a GraphQL mutation and returns a dictionary containing the details of the transcript (e.g., title, date) as it existed just before being removed, confirming the action.
|
|
352
|
-
|
|
459
|
+
|
|
353
460
|
Args:
|
|
354
461
|
transcript_id: The ID of the transcript to delete.
|
|
355
|
-
|
|
462
|
+
|
|
356
463
|
Returns:
|
|
357
464
|
A dictionary containing details of the deleted transcript.
|
|
358
465
|
Example: {"title": "Old Meeting", "date": "...", "duration": ..., "organizer_email": "..."}
|
|
359
|
-
|
|
466
|
+
|
|
360
467
|
Raises:
|
|
361
468
|
Exception: If the API request fails.
|
|
362
|
-
|
|
469
|
+
|
|
363
470
|
Tags:
|
|
364
471
|
transcript, delete, fireflies, mutation, destructive
|
|
365
472
|
"""
|
|
@@ -380,18 +487,18 @@ class FirefliesApp(GraphQLApplication):
|
|
|
380
487
|
def set_user_role(self, user_id: str, role: str) -> dict[str, Any]:
|
|
381
488
|
"""
|
|
382
489
|
Assigns a new role (e.g., 'admin', 'member') to a user specified by their ID. This function executes a GraphQL mutation to modify user data and returns a dictionary with the user's updated name and admin status to confirm the change.
|
|
383
|
-
|
|
490
|
+
|
|
384
491
|
Args:
|
|
385
492
|
user_id: The ID of the user.
|
|
386
493
|
role: The role to assign (e.g., "admin", "member").
|
|
387
|
-
|
|
494
|
+
|
|
388
495
|
Returns:
|
|
389
496
|
A dictionary containing the updated user details (e.g., name, is_admin).
|
|
390
497
|
Example: {"name": "Jane Doe", "is_admin": true}
|
|
391
|
-
|
|
498
|
+
|
|
392
499
|
Raises:
|
|
393
500
|
Exception: If the API request fails.
|
|
394
|
-
|
|
501
|
+
|
|
395
502
|
Tags:
|
|
396
503
|
user, role, admin, fireflies, mutation
|
|
397
504
|
"""
|
|
@@ -415,20 +522,20 @@ class FirefliesApp(GraphQLApplication):
|
|
|
415
522
|
) -> dict[str, Any]:
|
|
416
523
|
"""
|
|
417
524
|
Submits an audio file from a URL to the Fireflies.ai API for transcription. It can optionally associate a title and a list of attendees with the audio, returning the upload status and details upon completion.
|
|
418
|
-
|
|
525
|
+
|
|
419
526
|
Args:
|
|
420
527
|
url: The URL of the audio file.
|
|
421
528
|
title: Optional title for the uploaded audio.
|
|
422
529
|
attendees: Optional list of attendees. Each attendee is a dict
|
|
423
530
|
with "displayName", "email", "phoneNumber".
|
|
424
|
-
|
|
531
|
+
|
|
425
532
|
Returns:
|
|
426
533
|
A dictionary indicating the success and details of the upload.
|
|
427
534
|
Example: {"success": true, "title": "Uploaded Audio", "message": "..."}
|
|
428
|
-
|
|
535
|
+
|
|
429
536
|
Raises:
|
|
430
537
|
Exception: If the API request fails.
|
|
431
|
-
|
|
538
|
+
|
|
432
539
|
Tags:
|
|
433
540
|
audio, upload, transcript, fireflies, mutation
|
|
434
541
|
"""
|
|
@@ -456,18 +563,18 @@ class FirefliesApp(GraphQLApplication):
|
|
|
456
563
|
) -> dict[str, Any]:
|
|
457
564
|
"""
|
|
458
565
|
Updates the title of a specific transcript, identified by its ID, to a new value. This function executes a GraphQL mutation and returns a dictionary containing the newly assigned title upon successful completion of the request.
|
|
459
|
-
|
|
566
|
+
|
|
460
567
|
Args:
|
|
461
568
|
transcript_id: The ID of the transcript to update.
|
|
462
569
|
new_title: The new title for the meeting.
|
|
463
|
-
|
|
570
|
+
|
|
464
571
|
Returns:
|
|
465
572
|
A dictionary containing the updated title.
|
|
466
573
|
Example: {"title": "New Meeting Title"}
|
|
467
|
-
|
|
574
|
+
|
|
468
575
|
Raises:
|
|
469
576
|
Exception: If the API request fails.
|
|
470
|
-
|
|
577
|
+
|
|
471
578
|
Tags:
|
|
472
579
|
transcript, meeting, title, update, fireflies, mutation
|
|
473
580
|
"""
|
|
@@ -9,15 +9,15 @@ This is automatically generated from OpenAPI schema for the FplApp API.
|
|
|
9
9
|
|
|
10
10
|
| Tool | Description |
|
|
11
11
|
|------|-------------|
|
|
12
|
-
| `get_player_information` |
|
|
13
|
-
| `
|
|
14
|
-
| `
|
|
15
|
-
| `
|
|
16
|
-
| `compare_players` |
|
|
17
|
-
| `analyze_player_fixtures` |
|
|
18
|
-
| `
|
|
19
|
-
| `get_blank_gameweeks` |
|
|
20
|
-
| `get_double_gameweeks` |
|
|
21
|
-
| `get_league_standings` |
|
|
22
|
-
| `
|
|
23
|
-
| `
|
|
12
|
+
| `get_player_information` | Fetches a detailed profile for a specific FPL player, identified by ID or name. It can include gameweek performance history, filterable by range, and future fixtures. This provides an in-depth look at one player, differing from broader search or analysis functions like `search_fpl_players`. |
|
|
13
|
+
| `find_players` | Searches for FPL players by full or partial name with optional filtering by team and position. This is a discovery tool, differentiating it from `get_player_information` which fetches a specific known player. It serves as a public interface to the internal `search_players` utility. |
|
|
14
|
+
| `get_gameweek_snapshot` | Provides a detailed snapshot of the FPL schedule by identifying the current, previous, and next gameweeks. It calculates the precise real-time status of the current gameweek (e.g., 'Imminent', 'In Progress') and returns key deadline times and overall season progress. |
|
|
15
|
+
| `screen_players` | Filters the FPL player database using multiple criteria like position, price, points, and form. Returns a sorted list of matching players, summary statistics for the filtered group, and optional recent gameweek performance data to aid in player discovery and analysis. |
|
|
16
|
+
| `compare_players` | Performs a detailed comparison of multiple players based on specified metrics, recent gameweek history, and upcoming fixture analysis. It provides a side-by-side breakdown, identifies the best performer per metric, and determines an overall winner, considering fixture difficulty, blanks, and doubles for a comprehensive overview. |
|
|
17
|
+
| `analyze_player_fixtures` | Analyzes a player's upcoming fixture difficulty. Given a player's name, it retrieves their schedule for a set number of matches, returning a detailed list and a calculated difficulty rating. This method is a focused alternative to the more comprehensive `analyze_fixtures` function. |
|
|
18
|
+
| `analyze_entity_fixtures` | Provides a detailed fixture difficulty analysis for a specific player, team, or an entire position over a set number of gameweeks. It calculates a difficulty score and can include blank/double gameweek data, offering broader analysis than the player-only `analyze_player_fixtures`. |
|
|
19
|
+
| `get_blank_gameweeks` | Identifies upcoming 'blank' gameweeks where teams lack a scheduled fixture. The function returns a list detailing each blank gameweek and the affected teams within a specified number of weeks, which is essential for strategic planning. It is distinct from `get_double_gameweeks`. |
|
|
20
|
+
| `get_double_gameweeks` | Identifies upcoming double gameweeks where teams have multiple fixtures within a specified number of weeks. It returns a list detailing each double gameweek and the teams involved. This function specifically finds gameweeks with extra matches, unlike `get_blank_gameweeks` which finds those with none. |
|
|
21
|
+
| `get_league_standings` | Retrieves current standings for a specified FPL classic mini-league by its ID. It fetches and parses raw API data to provide a direct snapshot of the league table, distinguishing it from `get_league_analytics` which performs deeper, historical analysis. |
|
|
22
|
+
| `analyze_league` | Performs advanced analysis on an FPL league for a given gameweek range. It routes requests based on the analysis type ('overview', 'historical', 'team_composition') to provide deeper insights beyond the basic rankings from `get_league_standings`, such as historical performance or team composition. |
|
|
23
|
+
| `get_manager_team_info` | Retrieves detailed information for a specific FPL manager's team (an "entry") using its unique ID. This is distinct from functions analyzing Premier League clubs, as it targets an individual user's fantasy squad and its performance details within the game. |
|