A personal AI assistant for everyone
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport http · sse counts 229 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
addCollaborator
-
addIssueComment
-
addLabelsToIssue
-
add_sheet
-
aggregate_column_data
-
append_dimension
-
append_values_to_spreadsheet
-
applyLabels
-
archiveEmail
-
archiveRepo
-
batch_clear_spreadsheet_values
-
batch_clear_values_by_data_filter
-
batch_get_spreadsheet
-
batch_get_spreadsheet_values_by_data_filter
-
batch_update
-
batch_update_values_by_data_filter
-
build_initial_memory
-
catchup
-
check_whatsapp_number
-
clear_basic_filter
-
clear_spreadsheet_values
-
clear_tasks
-
closeIssue
-
compareBranches
-
copy_document
-
copy_sheet_to_another_spreadsheet
-
createBlock
-
createBranch
-
createComment
-
createDraft
-
createIssue
-
createLabel
-
createPage
-
createRepo
-
create_card
-
create_chart
-
create_contact
-
create_document
-
create_document_markdown
-
create_event
-
create_footer
-
create_footnote
-
create_google_sheet
-
create_group
-
create_header
-
create_named_range
-
create_paragraph_bullets
-
create_spreadsheet_column
-
create_spreadsheet_row
-
create_task
-
create_task_list
-
create_workflow
-
cud_memory
-
deleteBlock
-
deleteDraft
-
deleteFile
-
delete_calendar
-
delete_card
-
delete_contact
-
delete_content_range
-
delete_dimension
-
delete_event
-
delete_footer
-
delete_header
-
delete_memory_by_source
-
delete_named_range
-
delete_paragraph_bullets
-
delete_sheet
-
delete_table
-
delete_table_column
-
delete_table_row
-
delete_task
-
delete_task_list
-
duplicate_calendar
-
execute_presentation_creation
-
find_event
-
find_free_slots
-
find_worksheet_by_title
-
forkRepo
-
format_cell
-
free_busy_query
-
gdrive_read_file
-
gdrive_search
-
generate_chart
-
generate_presentation_json
-
getBlockChildren
-
getComments
-
getContacts
-
getCurrentWeather
-
getDatabases
-
getEmailsBySender
-
getEmailsByThread
-
getForecast
-
getIssueDetails
-
getLatestEmails
-
getRepoInfo
-
getUnreadEmails
-
getWorkspace
-
get_calendar
-
get_cards_in_list
-
get_charts_from_spreadsheet
-
get_chat_history
-
get_chat_id_by_name
-
get_chats
-
get_contact_info
-
get_contacts
-
get_current_date_time
-
get_directions
-
get_document_by_id
-
get_event_instances
-
get_group_info
-
get_lists_on_board
-
get_sheet_names
-
get_spreadsheet_by_data_filter
-
get_spreadsheet_info
-
get_task
-
get_task_list
-
get_top_headlines
-
google_search
-
insert_calendar_into_list
-
insert_dimension
-
insert_inline_image
-
insert_page_break
-
insert_table_action
-
insert_table_column
-
insert_task
-
insert_text_action
-
listBranches
-
listDrafts
-
listIssues
-
listIssuesByAssignee
-
listLabels
-
listOrgIssues
-
listOrgOutsideCollaborators
-
listRepoCollaborators
-
listRepoContents
-
listRepos
-
listUsers
-
list_boards
-
list_calendars
-
list_channels
-
list_events
-
list_files
-
list_guilds
-
list_spreadsheet_charts_action
-
list_task_lists
-
list_tasks
-
lookup_spreadsheet_row
-
manage_group_participants
-
manage_message
-
markAsRead
-
markAsUnread
-
moveToTrash
-
move_card
-
move_event
-
move_task
-
patch_calendar
-
patch_event
-
patch_task
-
patch_task_list
-
post_status
-
protectBranch
-
queryDatabase
-
readEmail
-
read_file
-
read_page_content
-
removeCollaborator
-
removeLabels
-
remove_attendee_from_event
-
replace_all_text
-
replace_image
-
replyToEmail
-
searchEmails
-
searchWithAttachments
-
search_contacts
-
search_developer_metadata
-
search_documents
-
search_everything
-
search_memory
-
search_memory_by_source
-
search_pages
-
search_places
-
search_repositories
-
search_spreadsheets
-
search_tasks
-
semantic_search
-
sendDraft
-
sendEmail
-
send_channel_message
-
send_message_to_self
-
send_text_message
-
setRepoVisibility
-
set_basic_filter
-
set_typing_presence
-
sheet_from_json
-
slack_add_reaction
-
slack_get_channel_history
-
slack_get_thread_replies
-
slack_get_user_profile
-
slack_get_users
-
slack_list_channels
-
slack_post_message
-
slack_reply_to_thread
-
time_based_search
-
transferRepo
-
unmerge_table_cells
-
unprotectBranch
-
updateBlock
-
updateIssue
-
updatePage
-
updateRepoSettings
-
update_calendar
-
update_calendar_list_entry
-
update_card_desc
-
update_card_name
-
update_contact_field
-
update_document_markdown
-
update_document_style
-
update_event
-
update_existing_document
-
update_group_info
-
update_profile
-
update_progress
-
update_sheet_properties
-
update_spreadsheet_properties
-
update_table_row_style
-
update_task
-
update_task_list
-
write_file
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 9aa5a93 · analyzer v33 · 4d ago
danger signals3
- over-broad OAuth scope https://www.googleapis.com/auth/spreadsheets
expected for this server's purpose
existence-master-Sentient-9aa5a93/src/server/main/settings/google_sheets_utils.py :14
SCOPES = ['https://www.googleapis.com/auth/spreadsheets'] - over-broad OAuth scope https://www.googleapis.com/auth/drive
expected for this server's purpose
existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdrive/generate_google_token.py :15
SCOPES = ["https://www.googleapis.com/auth/drive"] - over-broad OAuth scope https://mail.google.com/
expected for this server's purpose
existence-master-Sentient-9aa5a93/src/server/mcp_hub/gmail/generate_google_token.py :14
SCOPES = ["https://mail.google.com/"]
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 398
filesystem 8
- fs existence-master-Sentient-9aa5a93/src/server/main/files/routes.py :60
with open(file_path, "wb") as buffer: - fs existence-master-Sentient-9aa5a93/src/server/main/files/utils.py :4
import shutil - fs existence-master-Sentient-9aa5a93/src/server/main/voice/stt/elevenlabs.py :14
with wave.open(wav_io, 'wb') as wav_file: - fs existence-master-Sentient-9aa5a93/src/server/mcp_hub/accuweather/utils.py :5
from pathlib import Path - fs existence-master-Sentient-9aa5a93/src/server/mcp_hub/file_management/main.py :9
from pathlib import Path - fs existence-master-Sentient-9aa5a93/src/server/mcp_hub/file_management/utils.py :6
from pathlib import Path - fs existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdrive/main.py :5
from pathlib import Path - fs existence-master-Sentient-9aa5a93/src/server/mcp_hub/quickchart/utils.py :80
with open(final_path, "wb") as f:
network 23
- net existence-master-Sentient-9aa5a93/src/server/main/app.py :10
import socket - net existence-master-Sentient-9aa5a93/src/server/main/auth/utils.py :11
import requests - net existence-master-Sentient-9aa5a93/src/server/main/chat/utils.py :13
import httpx - net existence-master-Sentient-9aa5a93/src/server/main/files/utils.py :1
import httpx - net existence-master-Sentient-9aa5a93/src/server/main/integrations/routes.py :8
import httpx - net existence-master-Sentient-9aa5a93/src/server/main/integrations/utils.py :1
import httpx - net existence-master-Sentient-9aa5a93/src/server/main/llm.py :4
import httpx - net existence-master-Sentient-9aa5a93/src/server/main/notifications/whatsapp_client.py :1
import httpx - net existence-master-Sentient-9aa5a93/src/server/main/voice/testAPI.py :3
import httpx - net existence-master-Sentient-9aa5a93/src/server/mcp_hub/accuweather/utils.py :7
import httpx - net existence-master-Sentient-9aa5a93/src/server/mcp_hub/discord/utils.py :2
import httpx - net existence-master-Sentient-9aa5a93/src/server/mcp_hub/gmaps/utils.py :1
import httpx - net existence-master-Sentient-9aa5a93/src/server/mcp_hub/google_search/utils.py :4
import httpx - net existence-master-Sentient-9aa5a93/src/server/mcp_hub/gslides/utils.py :5
import httpx - net existence-master-Sentient-9aa5a93/src/server/mcp_hub/news/utils.py :2
import httpx - net existence-master-Sentient-9aa5a93/src/server/mcp_hub/quickchart/utils.py :4
from urllib.parse import quote - net existence-master-Sentient-9aa5a93/src/server/mcp_hub/slack/utils.py :4
import httpx - net existence-master-Sentient-9aa5a93/src/server/mcp_hub/trello/utils.py :2
import httpx - net existence-master-Sentient-9aa5a93/src/server/mcp_hub/whatsapp/utils.py :1
import httpx - net (weak) existence-master-Sentient-9aa5a93/src/server/tests/mcps/test_accuweather.py :28
mocker.patch('httpx.AsyncClient', return_value=mock_async_client) - net existence-master-Sentient-9aa5a93/src/server/workers/long_form_tasks.py :7
import httpx - net existence-master-Sentient-9aa5a93/src/server/workers/tasks.py :7
import httpx - net existence-master-Sentient-9aa5a93/src/server/workers/utils/api_client.py :1
import httpx
secrets 32
- secrets existence-master-Sentient-9aa5a93/src/server/delete_pg_memories.py :20
POSTGRES_PASSWORD = os.getenv("POSTGRES_PASSWORD") - secrets existence-master-Sentient-9aa5a93/src/server/main/analytics.py :6
POSTHOG_KEY = os.getenv("POSTHOG_KEY") - secrets existence-master-Sentient-9aa5a93/src/server/main/config.py :31
SELF_HOST_AUTH_SECRET = os.getenv("SELF_HOST_AUTH_SECRET") - secrets existence-master-Sentient-9aa5a93/src/server/main/memories/db.py :28
POSTGRES_PASSWORD = os.getenv("POSTGRES_PASSWORD") - secrets existence-master-Sentient-9aa5a93/src/server/main/settings/google_sheets_utils.py :12
GOOGLE_PRIVATE_KEY = os.getenv("GOOGLE_PRIVATE_KEY", "").replace('\\n', '\n') - secrets existence-master-Sentient-9aa5a93/src/server/main/vector_db.py :27
GEMINI_API_KEY = os.getenv("GEMINI_API_KEY") - secrets existence-master-Sentient-9aa5a93/src/server/mcp_hub/accuweather/auth.py :20
api_key = os.getenv("ACCUWEATHER_API_KEY") - secrets existence-master-Sentient-9aa5a93/src/server/mcp_hub/discord/auth.py :22
AES_SECRET_KEY_HEX = os.getenv("AES_SECRET_KEY") - secrets existence-master-Sentient-9aa5a93/src/server/mcp_hub/gcal/auth.py :26
AES_SECRET_KEY_HEX = os.getenv("AES_SECRET_KEY") - secrets existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdocs/auth.py :23
AES_SECRET_KEY_HEX = os.getenv("AES_SECRET_KEY") - secrets existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdrive/auth.py :23
AES_SECRET_KEY_HEX = os.getenv("AES_SECRET_KEY") - secrets existence-master-Sentient-9aa5a93/src/server/mcp_hub/github/auth.py :26
AES_SECRET_KEY_HEX = os.getenv("AES_SECRET_KEY") - secrets existence-master-Sentient-9aa5a93/src/server/mcp_hub/gmail/auth.py :26
AES_SECRET_KEY_HEX = os.getenv("AES_SECRET_KEY") - secrets existence-master-Sentient-9aa5a93/src/server/mcp_hub/gmail/utils.py :13
GEMINI_API_KEY = os.getenv("GEMINI_API_KEY") - secrets existence-master-Sentient-9aa5a93/src/server/mcp_hub/gmaps/auth.py :18
DEFAULT_GOOGLE_API_KEY = os.getenv("GOOGLE_API_KEY") - secrets existence-master-Sentient-9aa5a93/src/server/mcp_hub/google_search/auth.py :22
DEFAULT_GOOGLE_API_KEY = os.getenv("GOOGLE_API_KEY") - secrets existence-master-Sentient-9aa5a93/src/server/mcp_hub/gpeople/auth.py :27
AES_SECRET_KEY_HEX = os.getenv("AES_SECRET_KEY") - secrets existence-master-Sentient-9aa5a93/src/server/mcp_hub/gsheets/auth.py :22
AES_SECRET_KEY_HEX = os.getenv("AES_SECRET_KEY") - secrets existence-master-Sentient-9aa5a93/src/server/mcp_hub/gslides/auth.py :26
AES_SECRET_KEY_HEX = os.getenv("AES_SECRET_KEY") - secrets existence-master-Sentient-9aa5a93/src/server/mcp_hub/gslides/main.py :28
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY", "ollama") - secrets existence-master-Sentient-9aa5a93/src/server/mcp_hub/gslides/utils.py :11
UNSPLASH_ACCESS_KEY = os.getenv("UNSPLASH_ACCESS_KEY") - secrets existence-master-Sentient-9aa5a93/src/server/mcp_hub/gtasks/auth.py :27
AES_SECRET_KEY_HEX = os.getenv("AES_SECRET_KEY") - secrets existence-master-Sentient-9aa5a93/src/server/mcp_hub/memory/db.py :21
POSTGRES_PASSWORD = os.getenv("POSTGRES_PASSWORD") - secrets existence-master-Sentient-9aa5a93/src/server/mcp_hub/memory/llm.py :15
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY", "ollama") - secrets existence-master-Sentient-9aa5a93/src/server/mcp_hub/news/auth.py :32
api_key = os.getenv("NEWS_API_KEY") - secrets existence-master-Sentient-9aa5a93/src/server/mcp_hub/notion/auth.py :25
AES_SECRET_KEY_HEX = os.getenv("AES_SECRET_KEY") - secrets existence-master-Sentient-9aa5a93/src/server/mcp_hub/slack/auth.py :25
AES_SECRET_KEY_HEX = os.getenv("AES_SECRET_KEY") - secrets existence-master-Sentient-9aa5a93/src/server/mcp_hub/slack/generate_slack_token.py :25
from getpass import getpass - secrets existence-master-Sentient-9aa5a93/src/server/mcp_hub/trello/auth.py :25
AES_SECRET_KEY_HEX = os.getenv("AES_SECRET_KEY") - secrets existence-master-Sentient-9aa5a93/src/server/mcp_hub/whatsapp/utils.py :17
WAHA_API_KEY = os.getenv("WAHA_API_KEY") - secrets existence-master-Sentient-9aa5a93/src/server/workers/executor/config.py :21
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY", "ollama") - secrets existence-master-Sentient-9aa5a93/src/server/workers/utils/crypto.py :27
AES_SECRET_KEY_HEX = os.getenv("AES_SECRET_KEY")
database 4
- db existence-master-Sentient-9aa5a93/src/server/delete_pg_memories.py :3
import asyncpg - db existence-master-Sentient-9aa5a93/src/server/main/db.py :8
from pymongo import ASCENDING, DESCENDING, IndexModel, ReturnDocument - db existence-master-Sentient-9aa5a93/src/server/main/memories/db.py :3
import asyncpg - db existence-master-Sentient-9aa5a93/src/server/mcp_hub/memory/db.py :2
import asyncpg
tool registrations 200
- getCurrentWeather existence-master-Sentient-9aa5a93/src/server/mcp_hub/accuweather/main.py :35
- getForecast existence-master-Sentient-9aa5a93/src/server/mcp_hub/accuweather/main.py :63
- list_guilds existence-master-Sentient-9aa5a93/src/server/mcp_hub/discord/main.py :45
- list_channels existence-master-Sentient-9aa5a93/src/server/mcp_hub/discord/main.py :53
- send_channel_message existence-master-Sentient-9aa5a93/src/server/mcp_hub/discord/main.py :61
- read_file existence-master-Sentient-9aa5a93/src/server/mcp_hub/file_management/main.py :56
- write_file existence-master-Sentient-9aa5a93/src/server/mcp_hub/file_management/main.py :94
- list_files existence-master-Sentient-9aa5a93/src/server/mcp_hub/file_management/main.py :116
- delete_calendar existence-master-Sentient-9aa5a93/src/server/mcp_hub/gcal/main.py :112
- update_calendar existence-master-Sentient-9aa5a93/src/server/mcp_hub/gcal/main.py :118
- insert_calendar_into_list existence-master-Sentient-9aa5a93/src/server/mcp_hub/gcal/main.py :124
- create_event existence-master-Sentient-9aa5a93/src/server/mcp_hub/gcal/main.py :130
- delete_event existence-master-Sentient-9aa5a93/src/server/mcp_hub/gcal/main.py :147
- duplicate_calendar existence-master-Sentient-9aa5a93/src/server/mcp_hub/gcal/main.py :153
- get_event_instances existence-master-Sentient-9aa5a93/src/server/mcp_hub/gcal/main.py :159
- list_events existence-master-Sentient-9aa5a93/src/server/mcp_hub/gcal/main.py :165
- find_event existence-master-Sentient-9aa5a93/src/server/mcp_hub/gcal/main.py :216
- free_busy_query existence-master-Sentient-9aa5a93/src/server/mcp_hub/gcal/main.py :222
- get_calendar existence-master-Sentient-9aa5a93/src/server/mcp_hub/gcal/main.py :228
- patch_calendar existence-master-Sentient-9aa5a93/src/server/mcp_hub/gcal/main.py :234
- patch_event existence-master-Sentient-9aa5a93/src/server/mcp_hub/gcal/main.py :240
- update_event existence-master-Sentient-9aa5a93/src/server/mcp_hub/gcal/main.py :257
- update_calendar_list_entry existence-master-Sentient-9aa5a93/src/server/mcp_hub/gcal/main.py :274
- move_event existence-master-Sentient-9aa5a93/src/server/mcp_hub/gcal/main.py :280
- find_free_slots existence-master-Sentient-9aa5a93/src/server/mcp_hub/gcal/main.py :286
- get_current_date_time existence-master-Sentient-9aa5a93/src/server/mcp_hub/gcal/main.py :292
- list_calendars existence-master-Sentient-9aa5a93/src/server/mcp_hub/gcal/main.py :311
- remove_attendee_from_event existence-master-Sentient-9aa5a93/src/server/mcp_hub/gcal/main.py :317
- copy_document existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdocs/main.py :55
- create_document_markdown existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdocs/main.py :60
- create_document existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdocs/main.py :65
- get_document_by_id existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdocs/main.py :70
- search_documents existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdocs/main.py :75
- update_document_markdown existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdocs/main.py :80
- update_existing_document existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdocs/main.py :85
- create_footer existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdocs/main.py :90
- create_footnote existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdocs/main.py :95
- create_header existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdocs/main.py :100
- create_named_range existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdocs/main.py :108
- create_paragraph_bullets existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdocs/main.py :113
- delete_content_range existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdocs/main.py :118
- delete_footer existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdocs/main.py :123
- delete_header existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdocs/main.py :128
- delete_named_range existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdocs/main.py :133
- delete_paragraph_bullets existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdocs/main.py :138
- delete_table existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdocs/main.py :143
- delete_table_column existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdocs/main.py :148
- delete_table_row existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdocs/main.py :153
- get_charts_from_spreadsheet existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdocs/main.py :158
- insert_inline_image existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdocs/main.py :163
- insert_page_break existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdocs/main.py :168
- insert_table_action existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdocs/main.py :173
- insert_table_column existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdocs/main.py :178
- insert_text_action existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdocs/main.py :183
- list_spreadsheet_charts_action existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdocs/main.py :188
- replace_all_text existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdocs/main.py :193
- replace_image existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdocs/main.py :198
- unmerge_table_cells existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdocs/main.py :203
- update_document_style existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdocs/main.py :208
- update_table_row_style existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdocs/main.py :213
- gdrive_search existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdrive/main.py :65
- gdrive_read_file existence-master-Sentient-9aa5a93/src/server/mcp_hub/gdrive/main.py :74
- search_repositories existence-master-Sentient-9aa5a93/src/server/mcp_hub/github/main.py :196
- createRepo existence-master-Sentient-9aa5a93/src/server/mcp_hub/github/main.py :204
- addCollaborator existence-master-Sentient-9aa5a93/src/server/mcp_hub/github/main.py :212
- removeCollaborator existence-master-Sentient-9aa5a93/src/server/mcp_hub/github/main.py :220
- listRepos existence-master-Sentient-9aa5a93/src/server/mcp_hub/github/main.py :228
- listRepoCollaborators existence-master-Sentient-9aa5a93/src/server/mcp_hub/github/main.py :236
- listOrgOutsideCollaborators existence-master-Sentient-9aa5a93/src/server/mcp_hub/github/main.py :244
- setRepoVisibility existence-master-Sentient-9aa5a93/src/server/mcp_hub/github/main.py :252
- listBranches existence-master-Sentient-9aa5a93/src/server/mcp_hub/github/main.py :260
- listRepoContents existence-master-Sentient-9aa5a93/src/server/mcp_hub/github/main.py :268
- deleteFile existence-master-Sentient-9aa5a93/src/server/mcp_hub/github/main.py :276
- createBranch existence-master-Sentient-9aa5a93/src/server/mcp_hub/github/main.py :284
- compareBranches existence-master-Sentient-9aa5a93/src/server/mcp_hub/github/main.py :292
- unprotectBranch existence-master-Sentient-9aa5a93/src/server/mcp_hub/github/main.py :300
- protectBranch existence-master-Sentient-9aa5a93/src/server/mcp_hub/github/main.py :308
- updateRepoSettings existence-master-Sentient-9aa5a93/src/server/mcp_hub/github/main.py :316
- archiveRepo existence-master-Sentient-9aa5a93/src/server/mcp_hub/github/main.py :345
- forkRepo existence-master-Sentient-9aa5a93/src/server/mcp_hub/github/main.py :353
- transferRepo existence-master-Sentient-9aa5a93/src/server/mcp_hub/github/main.py :359
- getRepoInfo existence-master-Sentient-9aa5a93/src/server/mcp_hub/github/main.py :367
- listIssues existence-master-Sentient-9aa5a93/src/server/mcp_hub/github/main.py :378
- createIssue existence-master-Sentient-9aa5a93/src/server/mcp_hub/github/main.py :386
- updateIssue existence-master-Sentient-9aa5a93/src/server/mcp_hub/github/main.py :394
- closeIssue existence-master-Sentient-9aa5a93/src/server/mcp_hub/github/main.py :402
- addLabelsToIssue existence-master-Sentient-9aa5a93/src/server/mcp_hub/github/main.py :410
- addIssueComment existence-master-Sentient-9aa5a93/src/server/mcp_hub/github/main.py :418
- getIssueDetails existence-master-Sentient-9aa5a93/src/server/mcp_hub/github/main.py :426
- listOrgIssues existence-master-Sentient-9aa5a93/src/server/mcp_hub/github/main.py :434
- listIssuesByAssignee existence-master-Sentient-9aa5a93/src/server/mcp_hub/github/main.py :442
- sendEmail existence-master-Sentient-9aa5a93/src/server/mcp_hub/gmail/main.py :148
- replyToEmail existence-master-Sentient-9aa5a93/src/server/mcp_hub/gmail/main.py :154
- getLatestEmails existence-master-Sentient-9aa5a93/src/server/mcp_hub/gmail/main.py :160
- getUnreadEmails existence-master-Sentient-9aa5a93/src/server/mcp_hub/gmail/main.py :168
- createLabel existence-master-Sentient-9aa5a93/src/server/mcp_hub/gmail/main.py :176
- applyLabels existence-master-Sentient-9aa5a93/src/server/mcp_hub/gmail/main.py :182
- createDraft existence-master-Sentient-9aa5a93/src/server/mcp_hub/gmail/main.py :188
- listDrafts existence-master-Sentient-9aa5a93/src/server/mcp_hub/gmail/main.py :194
- sendDraft existence-master-Sentient-9aa5a93/src/server/mcp_hub/gmail/main.py :200
- markAsRead existence-master-Sentient-9aa5a93/src/server/mcp_hub/gmail/main.py :206
- moveToTrash existence-master-Sentient-9aa5a93/src/server/mcp_hub/gmail/main.py :212
- archiveEmail existence-master-Sentient-9aa5a93/src/server/mcp_hub/gmail/main.py :218
- searchWithAttachments existence-master-Sentient-9aa5a93/src/server/mcp_hub/gmail/main.py :224
- catchup existence-master-Sentient-9aa5a93/src/server/mcp_hub/gmail/main.py :230
- readEmail existence-master-Sentient-9aa5a93/src/server/mcp_hub/gmail/main.py :238
- getEmailsByThread existence-master-Sentient-9aa5a93/src/server/mcp_hub/gmail/main.py :244
- getEmailsBySender existence-master-Sentient-9aa5a93/src/server/mcp_hub/gmail/main.py :250
- searchEmails existence-master-Sentient-9aa5a93/src/server/mcp_hub/gmail/main.py :256
- listLabels existence-master-Sentient-9aa5a93/src/server/mcp_hub/gmail/main.py :262
- getContacts existence-master-Sentient-9aa5a93/src/server/mcp_hub/gmail/main.py :268
- removeLabels existence-master-Sentient-9aa5a93/src/server/mcp_hub/gmail/main.py :277
- deleteDraft existence-master-Sentient-9aa5a93/src/server/mcp_hub/gmail/main.py :283
- markAsUnread existence-master-Sentient-9aa5a93/src/server/mcp_hub/gmail/main.py :289
- search_places existence-master-Sentient-9aa5a93/src/server/mcp_hub/gmaps/main.py :46
- get_directions existence-master-Sentient-9aa5a93/src/server/mcp_hub/gmaps/main.py :54
- google_search existence-master-Sentient-9aa5a93/src/server/mcp_hub/google_search/main.py :40
- search_contacts existence-master-Sentient-9aa5a93/src/server/mcp_hub/gpeople/main.py :123
- create_contact existence-master-Sentient-9aa5a93/src/server/mcp_hub/gpeople/main.py :131
- delete_contact existence-master-Sentient-9aa5a93/src/server/mcp_hub/gpeople/main.py :139
- update_contact_field existence-master-Sentient-9aa5a93/src/server/mcp_hub/gpeople/main.py :147
- add_sheet existence-master-Sentient-9aa5a93/src/server/mcp_hub/gsheets/main.py :55
- append_dimension existence-master-Sentient-9aa5a93/src/server/mcp_hub/gsheets/main.py :60
- batch_update existence-master-Sentient-9aa5a93/src/server/mcp_hub/gsheets/main.py :65
- clear_basic_filter existence-master-Sentient-9aa5a93/src/server/mcp_hub/gsheets/main.py :70
- delete_dimension existence-master-Sentient-9aa5a93/src/server/mcp_hub/gsheets/main.py :75
- delete_sheet existence-master-Sentient-9aa5a93/src/server/mcp_hub/gsheets/main.py :80
- get_spreadsheet_by_data_filter existence-master-Sentient-9aa5a93/src/server/mcp_hub/gsheets/main.py :85
- get_spreadsheet_info existence-master-Sentient-9aa5a93/src/server/mcp_hub/gsheets/main.py :90
- insert_dimension existence-master-Sentient-9aa5a93/src/server/mcp_hub/gsheets/main.py :95
- search_developer_metadata existence-master-Sentient-9aa5a93/src/server/mcp_hub/gsheets/main.py :100
- set_basic_filter existence-master-Sentient-9aa5a93/src/server/mcp_hub/gsheets/main.py :105
- copy_sheet_to_another_spreadsheet existence-master-Sentient-9aa5a93/src/server/mcp_hub/gsheets/main.py :110
- append_values_to_spreadsheet existence-master-Sentient-9aa5a93/src/server/mcp_hub/gsheets/main.py :115
- batch_clear_spreadsheet_values existence-master-Sentient-9aa5a93/src/server/mcp_hub/gsheets/main.py :120
- batch_clear_values_by_data_filter existence-master-Sentient-9aa5a93/src/server/mcp_hub/gsheets/main.py :125
- batch_get_spreadsheet_values_by_data_filter existence-master-Sentient-9aa5a93/src/server/mcp_hub/gsheets/main.py :130
- update_sheet_properties existence-master-Sentient-9aa5a93/src/server/mcp_hub/gsheets/main.py :135
- update_spreadsheet_properties existence-master-Sentient-9aa5a93/src/server/mcp_hub/gsheets/main.py :140
- aggregate_column_data existence-master-Sentient-9aa5a93/src/server/mcp_hub/gsheets/main.py :145
- batch_get_spreadsheet existence-master-Sentient-9aa5a93/src/server/mcp_hub/gsheets/main.py :150
- batch_update_values_by_data_filter existence-master-Sentient-9aa5a93/src/server/mcp_hub/gsheets/main.py :155
- clear_spreadsheet_values existence-master-Sentient-9aa5a93/src/server/mcp_hub/gsheets/main.py :160
- create_chart existence-master-Sentient-9aa5a93/src/server/mcp_hub/gsheets/main.py :165
- create_google_sheet existence-master-Sentient-9aa5a93/src/server/mcp_hub/gsheets/main.py :170
- create_spreadsheet_column existence-master-Sentient-9aa5a93/src/server/mcp_hub/gsheets/main.py :175
- create_spreadsheet_row existence-master-Sentient-9aa5a93/src/server/mcp_hub/gsheets/main.py :180
- find_worksheet_by_title existence-master-Sentient-9aa5a93/src/server/mcp_hub/gsheets/main.py :185
- format_cell existence-master-Sentient-9aa5a93/src/server/mcp_hub/gsheets/main.py :190
- get_sheet_names existence-master-Sentient-9aa5a93/src/server/mcp_hub/gsheets/main.py :195
- lookup_spreadsheet_row existence-master-Sentient-9aa5a93/src/server/mcp_hub/gsheets/main.py :200
- search_spreadsheets existence-master-Sentient-9aa5a93/src/server/mcp_hub/gsheets/main.py :205
- sheet_from_json existence-master-Sentient-9aa5a93/src/server/mcp_hub/gsheets/main.py :210
- generate_presentation_json existence-master-Sentient-9aa5a93/src/server/mcp_hub/gslides/main.py :48
- execute_presentation_creation existence-master-Sentient-9aa5a93/src/server/mcp_hub/gslides/main.py :88
- clear_tasks existence-master-Sentient-9aa5a93/src/server/mcp_hub/gtasks/main.py :65
- create_task_list existence-master-Sentient-9aa5a93/src/server/mcp_hub/gtasks/main.py :70
- delete_task existence-master-Sentient-9aa5a93/src/server/mcp_hub/gtasks/main.py :75
- delete_task_list existence-master-Sentient-9aa5a93/src/server/mcp_hub/gtasks/main.py :80
- get_task existence-master-Sentient-9aa5a93/src/server/mcp_hub/gtasks/main.py :85
- get_task_list existence-master-Sentient-9aa5a93/src/server/mcp_hub/gtasks/main.py :90
- insert_task existence-master-Sentient-9aa5a93/src/server/mcp_hub/gtasks/main.py :95
- list_tasks existence-master-Sentient-9aa5a93/src/server/mcp_hub/gtasks/main.py :100
- list_task_lists existence-master-Sentient-9aa5a93/src/server/mcp_hub/gtasks/main.py :105
- move_task existence-master-Sentient-9aa5a93/src/server/mcp_hub/gtasks/main.py :110
- patch_task existence-master-Sentient-9aa5a93/src/server/mcp_hub/gtasks/main.py :115
- patch_task_list existence-master-Sentient-9aa5a93/src/server/mcp_hub/gtasks/main.py :120
- update_task existence-master-Sentient-9aa5a93/src/server/mcp_hub/gtasks/main.py :125
- update_task_list existence-master-Sentient-9aa5a93/src/server/mcp_hub/gtasks/main.py :130
- semantic_search existence-master-Sentient-9aa5a93/src/server/mcp_hub/history/main.py :40
- time_based_search existence-master-Sentient-9aa5a93/src/server/mcp_hub/history/main.py :69
- search_memory existence-master-Sentient-9aa5a93/src/server/mcp_hub/memory/main.py :82
- cud_memory existence-master-Sentient-9aa5a93/src/server/mcp_hub/memory/main.py :89
- search_memory_by_source existence-master-Sentient-9aa5a93/src/server/mcp_hub/memory/main.py :98
- build_initial_memory existence-master-Sentient-9aa5a93/src/server/mcp_hub/memory/main.py :105
- delete_memory_by_source existence-master-Sentient-9aa5a93/src/server/mcp_hub/memory/main.py :112
- get_top_headlines existence-master-Sentient-9aa5a93/src/server/mcp_hub/news/main.py :47
- search_everything existence-master-Sentient-9aa5a93/src/server/mcp_hub/news/main.py :56
- createPage existence-master-Sentient-9aa5a93/src/server/mcp_hub/notion/main.py :135
- search_pages existence-master-Sentient-9aa5a93/src/server/mcp_hub/notion/main.py :149
- read_page_content existence-master-Sentient-9aa5a93/src/server/mcp_hub/notion/main.py :158
- queryDatabase existence-master-Sentient-9aa5a93/src/server/mcp_hub/notion/main.py :167
- updateBlock existence-master-Sentient-9aa5a93/src/server/mcp_hub/notion/main.py :176
- getBlockChildren existence-master-Sentient-9aa5a93/src/server/mcp_hub/notion/main.py :187
- getComments existence-master-Sentient-9aa5a93/src/server/mcp_hub/notion/main.py :195
- getWorkspace existence-master-Sentient-9aa5a93/src/server/mcp_hub/notion/main.py :201
- updatePage existence-master-Sentient-9aa5a93/src/server/mcp_hub/notion/main.py :207
- getDatabases existence-master-Sentient-9aa5a93/src/server/mcp_hub/notion/main.py :219
- createBlock existence-master-Sentient-9aa5a93/src/server/mcp_hub/notion/main.py :225
- deleteBlock existence-master-Sentient-9aa5a93/src/server/mcp_hub/notion/main.py :234
- createComment existence-master-Sentient-9aa5a93/src/server/mcp_hub/notion/main.py :240
- listUsers existence-master-Sentient-9aa5a93/src/server/mcp_hub/notion/main.py :246
- update_progress existence-master-Sentient-9aa5a93/src/server/mcp_hub/progress_updater/main.py :35
- generate_chart existence-master-Sentient-9aa5a93/src/server/mcp_hub/quickchart/main.py :37
- slack_list_channels existence-master-Sentient-9aa5a93/src/server/mcp_hub/slack/main.py :49
- slack_post_message existence-master-Sentient-9aa5a93/src/server/mcp_hub/slack/main.py :57
- slack_reply_to_thread existence-master-Sentient-9aa5a93/src/server/mcp_hub/slack/main.py :65
- slack_add_reaction existence-master-Sentient-9aa5a93/src/server/mcp_hub/slack/main.py :73
- slack_get_channel_history existence-master-Sentient-9aa5a93/src/server/mcp_hub/slack/main.py :81
- slack_get_thread_replies existence-master-Sentient-9aa5a93/src/server/mcp_hub/slack/main.py :89
declared dependencies 40
- fastmcp@*
- fastapi@*
- uvicorn@[standard]
- python-dotenv@*
- python-jose@[cryptography]
- cryptography@*
- httpx@*
- requests@*
- requests-oauthlib@*
- motor@*
- redis@*
- asyncpg@*
- pgvector@*
- qwen-agent@*
- composio@*
- google-genai@*
- pywebpush@*
- elevenlabs@*
- deepgram-sdk@*
- librosa@*
- torch@*
- fastrtc@[vad, stt, tts]
- numpy@*
- crawl4ai@*
- smallestai@*
- celery@*
- python-dateutil@*
- google-api-python-client@*
- google-auth-oauthlib@*
- google-auth-httplib2@*
- PyGithub@*
- notion-client@*
- posthog@*
- matplotlib@*
- jsonextractor@*
- chromadb-client@*
- sentence-transformers@*
- google-generativeai@*
- rich@*
- textract@==1.5.0
transport_posture 1
- network-listening, binds all interfaces, no auth detected existence-master-Sentient-9aa5a93/src/server/main/voice/testAPI.py :197
uvicorn.run(app, host="0.0.0.0", port=8000)