YouSpot
What this MCP does
Connects personal contacts, companies, notes, files, CRM records, email, Slack, LinkedIn, and calendars, with search, relationship management, analysis, and document generation.
Tools
Input schema
{'type': 'object', 'required': ['channel_id', 'ts', 'emoji'], 'properties': {'ts': {'type': 'string', 'description': "The message's ts."}, 'emoji': {'type': 'string', 'description': 'Emoji name without colons.'}, 'team_id': {'type': 'string'}, 'channel_id': {'type': 'string'}}}
Input schema
{'type': 'object', 'properties': {'post_count': {'type': 'integer', 'description': 'How many recent posts to analyze (default 10, max 20).'}, 'activity_id': {'type': 'string', 'description': 'Analyze only this post.'}}}
Input schema
{'type': 'object', 'required': ['message_id'], 'properties': {'account': {'type': 'string', 'description': 'Email address of the connected mailbox holding the message. Omit to try all connected mailboxes.'}, 'message_id': {'type': 'string', 'description': 'The Gmail message id to archive.'}}}
Input schema
{'type': 'object', 'required': ['question'], 'properties': {'question': {'type': 'string', 'description': 'The question about their connections, in plain English.'}}}
Input schema
{'type': 'object', 'required': ['question'], 'properties': {'question': {'type': 'string', 'description': "The question about their HubSpot companies, in plain English. Pass the user's own phrasing where you can."}}}
Input schema
{'type': 'object', 'required': ['question'], 'properties': {'question': {'type': 'string', 'description': "The question about their HubSpot contacts, in plain English. Pass the user's own phrasing where you can."}}}
Input schema
{'type': 'object', 'required': ['question'], 'properties': {'question': {'type': 'string', 'description': 'The question about their invitations, in plain English.'}}}
Input schema
{'type': 'object', 'properties': {}}
Input schema
{'type': 'object', 'required': ['task_id'], 'properties': {'task_id': {'type': 'integer', 'description': 'The scheduled text to cancel.'}}}
Input schema
{'type': 'object', 'required': ['url'], 'properties': {'tag': {'type': 'string', 'description': 'What this check belongs to — your own agent id (the id inside the [object:...] marker in your instructions). Snapshots are kept per page and tag, so two watchers on one page each see their own changes.'}, 'url': {'type': 'string', 'description': 'The page to check, http(s).'}}}
Input schema
{'type': 'object', 'required': ['linkedin'], 'properties': {'fresh': {'type': 'boolean', 'description': 'Fetch a current copy rather than accepting a cached one. Costs a paid lookup; use it on a scheduled watch, not on a passing question.'}, 'linkedin': {'type': 'string', 'description': "LinkedIn username or profile URL, e.g. 'dharmesh' or 'https://www.linkedin.com/in/dharmesh'."}}}
Input schema
{'type': 'object', 'properties': {'allow': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Sender addresses to read from now on.'}, 'block': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Sender addresses to leave alone.'}}}
Input schema
{'type': 'object', 'required': ['domains'], 'properties': {'domains': {'type': 'array', 'items': {'type': 'string'}, 'description': "Company domains, up to 8, e.g. ['gusto.com', 'stripe.com']."}, 'only_new': {'type': 'boolean', 'description': 'Return only items published since this user last checked that company. Default false. Set true on a scheduled run.'}, 'include_hiring': {'type': 'boolean', 'description': 'Include job-opening counts. Default true.'}}}
Input schema
{'type': 'object', 'required': ['from_object_id', 'to_object_id'], 'properties': {'to_object_id': {'type': 'string', 'description': 'The edge points here (e.g. the project).'}, 'from_object_id': {'type': 'string', 'description': 'The edge starts here (e.g. the file).'}, 'connection_type': {'type': 'string', 'description': "Relationship name (default 'related_to'). Use 'introduced' for an introduction, introducer first."}}}
Input schema
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'The brand name.'}, 'fonts': {'type': 'object', 'properties': {'body': {'enum': ['Archivo', 'Barlow', 'Bebas Neue', 'Bricolage Grotesque', 'Cormorant Garamond', 'Crimson Text', 'DM Sans', 'DM Serif Display', 'EB Garamond', 'Figtree', 'Fira Code', 'Fraunces', 'Geist', 'Georgia', 'IBM Plex Mono', 'IBM Plex Sans', 'Inter', 'JetBrains Mono', 'Karla', 'Lato', 'Libre Baskerville', 'Lora', 'Manrope', 'Merriweather', 'Montserrat', 'Mulish', 'Newsreader', 'Nunito', 'Open Sans', 'Oswald', 'Outfit', 'PT Serif', 'Playfair Display', 'Plus Jakarta Sans', 'Poppins', 'Raleway', 'Roboto', 'Rubik', 'Sora', 'Source Sans 3', 'Space Grotesk', 'Urbanist', 'Work Sans', 'system-ui'], 'type': 'string'}, 'heading': {'enum': ['Archivo', 'Barlow', 'Bebas Neue', 'Bricolage Grotesque', 'Cormorant Garamond', 'Crimson Text', 'DM Sans', 'DM Serif Display', 'EB Garamond', 'Figtree', 'Fira Code', 'Fraunces', 'Geist', 'Georgia', 'IBM Plex Mono', 'IBM Plex Sans', 'Inter', 'JetBrains Mono', 'Karla', 'Lato', 'Libre Baskerville', 'Lora', 'Manrope', 'Merriweather', 'Montserrat', 'Mulish', 'Newsreader', 'Nunito', 'Open Sans', 'Oswald', 'Outfit', 'PT Serif', 'Playfair Display', 'Plus Jakarta Sans', 'Poppins', 'Raleway', 'Roboto', 'Rubik', 'Sora', 'Source Sans 3', 'Space Grotesk', 'Urbanist', 'Work Sans', 'system-ui'], 'type': 'string'}}, 'additionalProperties': False}, 'colors': {'type': 'object', 'properties': {'card': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'accent': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'border': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'primary': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'background': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'foreground': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'muted_foreground': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'primary_foreground': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}}, 'description': 'Hex colors (#rrggbb). Any left out keep their current value.', 'additionalProperties': False}, 'domain': {'type': 'string', 'description': 'The brand website host, like acme.com.'}, 'radius': {'type': 'string', 'description': 'Corner radius in px, rem or em, like 8px.'}, 'dark_mode': {'enum': ['auto', 'off'], 'type': 'string'}, 'documents': {'type': 'object', 'properties': {'accent': {'enum': ['band', 'line', 'none'], 'type': 'string'}, 'density': {'enum': ['compact', 'comfortable', 'spacious'], 'type': 'string'}, 'body_size': {'enum': ['small', 'regular', 'large'], 'type': 'string'}, 'page_size': {'enum': ['letter', 'a4'], 'type': 'string'}, 'footer_text': {'type': 'string', 'description': 'The footer line on every page. Empty string for no footer; left out it is the brand name.'}, 'orientation': {'enum': ['portrait', 'landscape'], 'type': 'string'}, 'page_numbers': {'enum': ['on', 'off'], 'type': 'string'}, 'heading_scale': {'enum': ['small', 'regular', 'large'], 'type': 'string'}}, 'description': 'How this brand lays out PDFs. Any left out use the default.', 'additionalProperties': False}}}
Input schema
{'type': 'object', 'properties': {'end': {'type': 'string', 'description': 'End time or exclusive all-day end date.'}, 'start': {'type': 'string', 'description': 'RFC3339 time or all-day YYYY-MM-DD date.'}, 'account': {'type': 'string', 'description': 'User-selected connected Google account or Outlook mailbox. Multiple accounts require review.'}, 'all_day': {'type': 'boolean'}, 'summary': {'type': 'string', 'description': 'Event title.'}, 'location': {'type': 'string'}, 'timezone': {'type': 'string', 'description': 'An explicit IANA timezone.'}, 'action_id': {'type': 'string', 'description': 'An existing suggestion from this request.'}, 'calendar_id': {'type': 'string', 'description': 'User-selected calendar, omitted for primary.'}, 'description': {'type': 'string'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['to', 'subject', 'body'], 'properties': {'cc': {'type': 'string', 'description': 'Optional cc address(es), comma-separated.'}, 'to': {'type': 'string', 'description': "The recipient's email address (comma-separate several)."}, 'body': {'type': 'string', 'description': 'The plain-text body of the draft.'}, 'account': {'type': 'string', 'description': 'Email address of the connected mailbox to create the draft in. Omit to use the first connected mailbox.'}, 'subject': {'type': 'string', 'description': 'The email subject line.'}}}
Input schema
{'type': 'object', 'required': ['type', 'name'], 'properties': {'url': {'type': 'string', 'description': 'Optional URL (the link itself for web_link).'}, 'name': {'type': 'string', 'description': "The object's name (e.g. 'UNBOUND26 Keynote')."}, 'type': {'enum': ['contact', 'company', 'product', 'event', 'group', 'project', 'note', 'fact', 'web_link', 'tag', 'prompt', 'domain_name', 'linkedin_plan'], 'type': 'string', 'description': 'What kind of object to create.'}, 'email': {'type': 'string', 'description': 'For contacts: their email address. Dedupes per address, and fills the address in on a contact of the same name that has none.'}, 'domain': {'type': 'string', 'description': "For company objects: the company's website domain (e.g. 'openai.com'). Connects the company to its shared enrichment profile and dedupes per domain."}, 'fields': {'type': 'object', 'description': "The type's own fields to set on the new object, e.g. {'asking_price': 75000, 'source': 'GritBrokerage.com'}."}, 'description': {'type': 'string', 'description': 'Optional longer description.'}, 'allow_duplicate': {'type': 'boolean', 'description': 'Create even if the same type+name exists.'}}}
Input schema
{'type': 'object', 'required': ['query', 'prompt'], 'properties': {'url': {'type': 'string', 'description': 'web_page trackers only: the page URL to watch for changes.'}, 'query': {'type': 'string', 'description': "The search keywords to watch for (e.g. 'hubspot')."}, 'prompt': {'type': 'string', 'description': "The user's tracking request in their own words, verbatim, filters included (e.g. 'Track linkedin posts that mention hubspot and have more than 10 likes'). Stored on the tracker and later applied as a filter to what the search returns."}, 'tracker_type': {'enum': ['linkedin_post', 'twitter_search', 'web_page'], 'type': 'string', 'description': 'Where to watch. Defaults to linkedin_post.'}}}
Input schema
{'type': 'object', 'required': ['object_id'], 'properties': {'object_id': {'type': 'string', 'description': 'The object_id of the object to delete.'}}}
Input schema
{'type': 'object', 'required': ['object_type'], 'properties': {'object_type': {'type': 'string', 'description': "The type to clear out, e.g. 'hubspot_contact'. search_graph_objects and the brain's type counts both report types."}}}
Input schema
{'type': 'object', 'required': ['from_object_id', 'to_object_id', 'connection_type'], 'properties': {'to_object_id': {'type': 'string', 'description': 'The edge points here (exact object_id).'}, 'from_object_id': {'type': 'string', 'description': 'The edge starts here (exact object_id).'}, 'connection_type': {'type': 'string', 'description': 'The relationship name of the edge to delete.'}}}
Input schema
{'type': 'object', 'required': ['key'], 'properties': {'key': {'type': 'string', 'description': "Which integration, e.g. 'gmail' or 'hubspot'."}, 'account': {'type': 'string', 'description': 'Which account, by the exact label list_integrations reported. Required when more than one is connected.'}}}
Input schema
{'type': 'object', 'required': ['request'], 'properties': {'name': {'type': 'string', 'description': 'Override the drafted name. Two to four words, sentence case.'}, 'request': {'type': 'string', 'description': 'What the user asked for, in their own words, plus anything the conversation has settled since (a name, an address, a time).'}, 'trigger': {'type': 'object', 'description': "Override what it watches, with schedule_type 'trigger': {'event': 'email.received', 'from': '<address or domain, empty for any>', 'frequency': 'hourly'} or {'event': 'object.tagged', 'tag': '<tag>'}."}, 'schedule': {'type': 'object', 'description': "Override when it runs: {'time': 'HH:MM'} plus {'days': [0-6]} for daily (0=Sunday), {'day': 0-6} for weekly, {'minute': 0-59} for hourly."}, 'schedule_type': {'enum': ['once', 'hourly', 'daily', 'weekly', 'trigger'], 'type': 'string', 'description': "Override how it runs. 'trigger' means an event rather than a clock."}}}
Input schema
{'type': 'object', 'required': ['artifact_id', 'to'], 'properties': {'cc': {'type': 'string', 'description': 'Optional cc address(es), comma-separated.'}, 'to': {'type': 'string', 'description': "The recipient's email address (comma-separate several)."}, 'account': {'type': 'string', 'description': 'Email address of the connected mailbox to draft in. Omit for the first one.'}, 'artifact_id': {'type': 'string', 'description': 'The artifact_id generate_email returned.'}}}
Input schema
{'type': 'object', 'required': ['website_url'], 'properties': {'website_url': {'type': 'string', 'description': 'The website address, like acme.com.'}}}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'description': 'Max companies to return (default 10, max 25).'}, 'query': {'type': 'string', 'description': 'Plain-English description of the companies to find (industry, size, location, funding, investors).'}}}
Input schema
{'type': 'object', 'properties': {'days': {'type': 'integer', 'description': 'How far back to look. Default 30.'}}}
Input schema
{'type': 'object', 'required': ['from_object_id', 'to_object_id'], 'properties': {'to_object_id': {'type': 'string', 'description': 'Where the path ends (exact object_id).'}, 'from_object_id': {'type': 'string', 'description': 'Where the path starts (exact object_id).'}}}
Input schema
{'type': 'object', 'required': ['template_id'], 'properties': {'align': {'enum': ['left', 'center'], 'type': 'string'}, 'props': {'type': 'object', 'description': 'Text fields for the template, all strings.', 'additionalProperties': {'type': 'string'}}, 'blocks': {'type': 'array', 'items': {'type': 'object', 'required': ['type'], 'properties': {'alt': {'type': 'string'}, 'url': {'type': 'string'}, 'text': {'type': 'string'}, 'type': {'enum': ['heading', 'text', 'button', 'image', 'stats', 'steps', 'lines', 'quote', 'divider'], 'type': 'string'}, 'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'text': {'type': 'string'}, 'label': {'type': 'string'}, 'title': {'type': 'string'}, 'value': {'type': 'string'}}}}, 'label': {'type': 'string'}, 'total': {'type': 'string'}, 'markdown': {'type': 'string'}, 'attribution': {'type': 'string'}}, 'description': 'One block: heading (text); text (markdown); button (label, url); image (url, alt); stats (items: [{label, value}] up to 4); steps (items: [{title, text}] up to 8); lines (items: [{label, value}] up to 8, total); quote (text, attribution); divider.'}, 'description': 'The body as blocks.'}, 'header': {'enum': ['band', 'plain'], 'type': 'string'}, 'subject': {'type': 'string', 'description': 'The subject line.'}, 'markdown': {'type': 'string', 'description': 'The body as markdown.'}, 'template_id': {'enum': ['letter', 'announcement', 'newsletter', 'invitation', 'notification', 'onboarding', 'receipt'], 'type': 'string'}, 'brand_kit_id': {'type': 'string', 'description': 'A brand_kit_id from list_brand_kits.'}, 'saved_template_id': {'type': 'string', 'description': 'A saved_template_id from list_templates; its inputs seed the ones you pass.'}}}
Input schema
{'type': 'object', 'required': ['markdown'], 'properties': {'title': {'type': 'string', 'description': 'The document title. The first heading otherwise.'}, 'markdown': {'type': 'string', 'description': 'The whole document as markdown.'}, 'brand_kit_id': {'type': 'string', 'description': 'A brand_kit_id from list_brand_kits.'}}}
Input schema
{'type': 'object', 'required': ['template_id'], 'properties': {'size': {'enum': ['og', 'square', 'portrait', 'story', 'landscape', 'facebook_cover', 'linkedin_banner', 'x_header'], 'type': 'string', 'description': "Where the image will be posted. Sizes: 'og' 1200x630 (The card X, LinkedIn, Slack and iMessage show under a link); 'square' 1080x1080 (An Instagram, LinkedIn or Facebook feed post); 'portrait' 1080x1350 (A taller Instagram or LinkedIn feed post); 'story' 1080x1920 (An Instagram or Facebook story, or a Reels cover); 'landscape' 1280x720 (A YouTube thumbnail or a 16:9 slide); 'facebook_cover' 1640x624 (A Facebook page or profile cover photo, shown at 820 by 312); 'linkedin_banner' 1584x396 (The background image on a LinkedIn profile); 'x_header' 1500x500 (The header image on an X profile). Left out it is 'og'."}, 'align': {'enum': ['left', 'center', 'right'], 'type': 'string', 'description': "Text and brand alignment. Defaults to the template's layout."}, 'props': {'type': 'object', 'description': 'Text fields for the template, all strings.', 'additionalProperties': {'type': 'string'}}, 'gradient': {'type': 'boolean', 'description': 'Brand gradient background (default true); false uses a flat background.'}, 'appearance': {'enum': ['light', 'dark'], 'type': 'string'}, 'template_id': {'enum': ['simple', 'blog'], 'type': 'string'}, 'brand_kit_id': {'type': 'string', 'description': 'A brand_kit_id from list_brand_kits.'}, 'saved_template_id': {'type': 'string', 'description': 'A saved_template_id from list_templates; its inputs seed the ones you pass.'}}}
Input schema
{'type': 'object', 'required': ['template_id'], 'properties': {'page': {'enum': ['letter', 'a4'], 'type': 'string', 'description': 'Page size; left out it follows the brand kit.'}, 'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'date': {'type': 'string'}, 'amount': {'type': 'string'}, 'quantity': {'type': 'string'}, 'unit_price': {'type': 'string'}, 'description': {'type': 'string'}}}, 'description': 'Line items, in the fields the template names.'}, 'props': {'type': 'object', 'description': 'Text fields for the template, all strings.', 'additionalProperties': {'type': 'string'}}, 'title': {'type': 'string', 'description': 'The document title. Optional.'}, 'blocks': {'type': 'array', 'items': {'type': 'object', 'required': ['type'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'rows': {'type': 'array', 'items': {'type': 'object', 'properties': {'cells': {'type': 'string'}}}}, 'text': {'type': 'string'}, 'type': {'enum': ['heading', 'text', 'table', 'stats', 'callout', 'signature', 'page_break'], 'type': 'string'}, 'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'label': {'type': 'string'}, 'value': {'type': 'string'}}}}, 'title': {'type': 'string'}, 'columns': {'type': 'array', 'items': {'type': 'object', 'properties': {'label': {'type': 'string'}}}}, 'markdown': {'type': 'string'}}, 'description': 'One block: heading (text); text (markdown); table (columns: [{label}] up to 6, rows: [{cells}] up to 40); stats (items: [{label, value}] up to 4); callout (title, markdown); signature (name, title, date); page_break.'}, 'description': 'The document body as blocks.'}, 'markdown': {'type': 'string', 'description': 'The document body as markdown.'}, 'footer_text': {'type': 'string', 'description': 'The footer line. Empty string for no footer; left out it is the brand name.'}, 'template_id': {'enum': ['invoice', 'statement', 'report', 'letter', 'proposal'], 'type': 'string'}, 'brand_kit_id': {'type': 'string', 'description': 'A brand_kit_id from list_brand_kits.'}, 'page_numbers': {'enum': ['on', 'off'], 'type': 'string'}, 'saved_template_id': {'type': 'string', 'description': 'A saved_template_id from list_templates; its inputs seed the ones you pass.'}}}
Input schema
{'type': 'object', 'required': ['template_id', 'title'], 'properties': {'props': {'type': 'object', 'description': 'Text fields for the template, all strings.', 'additionalProperties': {'type': 'string'}}, 'title': {'type': 'string', 'description': "The post's headline."}, 'blocks': {'type': 'array', 'items': {'type': 'object', 'required': ['type'], 'properties': {'alt': {'type': 'string'}, 'url': {'type': 'string'}, 'text': {'type': 'string'}, 'type': {'enum': ['heading', 'text', 'image', 'quote', 'divider'], 'type': 'string'}, 'markdown': {'type': 'string'}, 'attribution': {'type': 'string'}}, 'description': 'One block: heading (text); text (markdown); image (url, alt); quote (text, attribution); divider.'}, 'description': 'The body as blocks.'}, 'audience': {'enum': ['everyone', 'paid', 'founding'], 'type': 'string'}, 'markdown': {'type': 'string', 'description': 'The body as markdown.'}, 'subtitle': {'type': 'string', 'description': 'The line under the headline.'}, 'template_id': {'enum': ['post', 'digest'], 'type': 'string'}}}
Input schema
{'type': 'object', 'required': ['artifact_id'], 'properties': {'artifact_id': {'type': 'string', 'description': 'An artifact_id from list_artifacts or a generator.'}}}
Input schema
{'type': 'object', 'required': ['brand_kit_id'], 'properties': {'brand_kit_id': {'type': 'string', 'description': 'A brand_kit_id from list_brand_kits.'}}}
Input schema
{'type': 'object', 'properties': {'query': {'type': 'string', 'description': 'Free-text search over events (titles, descriptions, attendees). Omit to list everything in the range.'}, 'account': {'type': 'string', 'description': 'Email address of one connected Google account or Outlook mailbox. Omit to read all connected calendars.'}, 'time_max': {'type': 'string', 'description': 'Latest event start, RFC3339.'}, 'time_min': {'type': 'string', 'description': "Earliest event end, RFC3339 ('2026-08-19T00:00:00Z'). Defaults to now when time_max is also omitted."}, 'count_only': {'type': 'boolean', 'description': 'Return only counts (total and per calendar month) instead of the events. Sweeps far more of the range (up to 12,500 events) than an event listing can. Use for totals and "how many" questions.'}, 'calendar_id': {'type': 'string', 'description': "Which calendar to read: an id from list_google_calendars or list_outlook_calendars. Omit for each account's main calendar."}, 'max_results': {'type': 'integer', 'description': 'Max events to return (default 10, max 250).'}}}
Input schema
{'type': 'object', 'properties': {'name': {'type': 'string', 'description': "The connection's name (full or partial)."}, 'linkedin_url': {'type': 'string', 'description': 'Exact LinkedIn profile URL, if known.'}}}
Input schema
{'type': 'object', 'properties': {}}
Input schema
{'type': 'object', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'description': 'The domain to look up, e.g. "hubspot.com". A full URL is accepted and reduced to the domain.'}}}
Input schema
{'type': 'object', 'required': ['company'], 'properties': {'kind': {'enum': ['paid', 'organic', 'both'], 'type': 'string', 'description': 'Which keywords to return. Default paid.'}, 'limit': {'type': 'integer', 'description': 'Keywords per kind, 1 to 100. Default 20.'}, 'company': {'type': 'string', 'description': 'The website domain ("monday.com", preferred) or company name.'}}}
Input schema
{'type': 'object', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'description': 'The domain to appraise, e.g. "startup.com". A full URL is accepted and reduced to the domain.'}}}
Input schema
{'type': 'object', 'required': ['message_id'], 'properties': {'account': {'type': 'string', 'description': 'Email address of the connected mailbox holding the message. Omit to try all connected mailboxes.'}, 'message_id': {'type': 'string', 'description': 'The Gmail message id.'}}}
Input schema
{'type': 'object', 'required': ['note'], 'properties': {'note': {'type': 'string', 'description': 'Object id, Granola id, or title of the meeting.'}, 'transcript': {'type': 'boolean', 'description': 'Return the transcript instead of the summary.'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'days': {'type': 'integer', 'description': 'Meetings in the last N days (default 30). 0 for all time.'}, 'limit': {'type': 'integer', 'description': 'Max notes (default 10, max 50).'}, 'query': {'type': 'string', 'description': 'A word, phrase or name to look for in title, summary or attendees.'}, 'attendee': {'type': 'string', 'description': 'Only meetings this person attended (name or email fragment).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {}}
Input schema
{'type': 'object', 'properties': {'name': {'type': 'string', 'description': "The object's name (full or partial)."}, 'object_id': {'type': 'string', 'description': 'Exact node id (e.g. web_aBc123), if known.'}}}
Input schema
{'type': 'object', 'properties': {}}
Input schema
{'type': 'object', 'required': ['key'], 'properties': {'key': {'type': 'string', 'description': "Which integration, e.g. 'gmail' or 'hubspot'."}}}
Input schema
{'type': 'object', 'properties': {}}
Input schema
{'type': 'object', 'required': [], 'properties': {'limit': {'type': 'integer', 'description': 'Max bookmarks to return (default 50, max 200).'}, 'query': {'type': 'string', 'description': 'Case-insensitive substring to filter bookmark text.'}, 'author': {'type': 'string', 'description': 'Only bookmarks of posts by this @handle.'}}}
Input schema
{'type': 'object', 'properties': {'sort': {'enum': ['newest', 'oldest', 'top'], 'type': 'string', 'description': "'newest' (default), 'oldest' for the start of their posting history, or 'top' for the most engagement first (total reactions, then comments, then shares)."}, 'limit': {'type': 'integer', 'description': 'How many posts to return (default 20, max 200).'}, 'offset': {'type': 'integer', 'description': 'How many posts to skip, for paging through more than one call can return (default 0).'}}}
Input schema
{'type': 'object', 'properties': {}}
Input schema
{'type': 'object', 'required': [], 'properties': {'limit': {'type': 'integer', 'description': 'Max tweets to return (default 20, max 100).'}, 'query': {'type': 'string', 'description': 'Case-insensitive substring to filter tweet text.'}, 'handle': {'type': 'string', 'description': 'One connected @handle to read. Omit to read all connected accounts.'}}}
Input schema
{'type': 'object', 'properties': {'path': {'type': 'string', 'description': "Vault path ('Meetings/2026-08-20 Ada.md'), filename, or note title."}, 'vault_id': {'type': 'string', 'description': 'Which vault to look in, when several are synced.'}, 'object_id': {'type': 'string', 'description': 'Exact note id, e.g. note_aBc123.'}}}
Input schema
{'type': 'object', 'required': ['channel_id', 'thread_ts'], 'properties': {'thread_ts': {'type': 'string', 'description': "The thread's parent ts (from a search result)."}, 'channel_id': {'type': 'string', 'description': 'The channel id (C…/D…).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'limit': {'type': 'integer', 'description': 'Max accounts to return (default 50, max 200).'}, 'query': {'type': 'string', 'description': 'Case-insensitive filter on name, handle, or bio.'}, 'handle': {'type': 'string', 'description': 'One connected @handle whose follows to read. Omit for all connected accounts.'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'handle': {'type': 'string', 'description': 'One connected @handle. Omit for all connected accounts.'}}}
Input schema
{'type': 'object', 'properties': {'name': {'type': 'string', 'description': 'Part of the filename, when the object_id is unknown.'}, 'object_id': {'type': 'string', 'description': "The file's graph object_id (from search_graph_objects)."}, 'description': {'type': 'string', 'description': "The user's own description of what the file holds."}, 'target_type': {'enum': ['contact', 'company'], 'type': 'string', 'description': 'What each row is. Defaults to contact.'}}}
Input schema
{'type': 'object', 'properties': {'days': {'type': 'integer', 'description': 'Only moves noticed in the last N days. Default 90. Use 1 for a daily watcher.'}, 'limit': {'type': 'integer', 'description': 'Max people (default 20, max 100).'}, 'refresh': {'type': 'boolean', 'description': 'Check the profiles for new moves before reading. Default true.'}}}
Input schema
{'type': 'object', 'properties': {'daily': {'type': 'boolean', 'description': "Per-day time series instead of one total. Requires start_date and a specific metric (not 'all')."}, 'metric': {'enum': ['all', 'impression', 'members_reached', 'reaction', 'comment', 'reshare'], 'type': 'string', 'description': "Which metric ('all' fetches every metric — the default). LinkedIn's API takes one metric per call, so 'all' costs five calls."}, 'end_date': {'type': 'string', 'description': 'Window end, YYYY-MM-DD (defaults to today).'}, 'start_date': {'type': 'string', 'description': 'Window start, YYYY-MM-DD. Omit for lifetime.'}}}
Input schema
{'type': 'object', 'properties': {'days': {'type': 'integer', 'description': 'How many days back to look (default 30, max 730).'}}}
Input schema
{'type': 'object', 'properties': {'kind': {'enum': ['og_image', 'email', 'pdf', 'substack_post', 'markdown'], 'type': 'string'}}}
Input schema
{'type': 'object', 'properties': {}}
Input schema
{'type': 'object', 'required': [], 'properties': {'account': {'type': 'string', 'description': 'Email address of one connected mailbox. Omit to list labels for all connected mailboxes.'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'account': {'type': 'string', 'description': 'Email address of one connected Google account. Omit to list calendars for all connected accounts.'}}}
Input schema
{'type': 'object', 'properties': {'type': {'type': 'string', 'description': "Only objects of this type (e.g. 'fact', 'web_link')."}, 'limit': {'type': 'integer', 'description': 'Max results (default 20, max 50).'}, 'offset': {'type': 'integer', 'description': 'Skip this many results, for paging past the newest.'}}}
Input schema
{'type': 'object', 'properties': {'key': {'type': 'string', 'description': "Ask about one integration only, e.g. 'linkedin', 'gmail', 'hubspot', 'slack', 'twitter', 'obsidian', 'sms'."}}}
Input schema
{'type': 'object', 'properties': {'tag': {'type': 'string', 'description': 'Only notes carrying this tag.'}, 'limit': {'type': 'integer', 'description': 'Max results (default 15, max 50).'}, 'folder': {'type': 'string', 'description': "Only notes under this vault folder, e.g. 'Daily'."}, 'vault_id': {'type': 'string', 'description': 'Only this vault (from list_obsidian_vaults).'}}}
Input schema
{'type': 'object', 'properties': {}}
Input schema
{'type': 'object', 'properties': {}}
Input schema
{'type': 'object', 'properties': {}}
Input schema
{'type': 'object', 'properties': {'kind': {'enum': ['og_image', 'email', 'pdf', 'substack_post', 'markdown'], 'type': 'string'}}}
Input schema
{'type': 'object', 'required': ['names'], 'properties': {'names': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Author names exactly as the post search gave them.'}}}
Input schema
{'type': 'object', 'required': ['keep_id', 'merge_id'], 'properties': {'keep_id': {'type': 'string', 'description': 'The record that survives (exact object_id).'}, 'preview': {'type': 'boolean', 'description': 'Return what the merge would do without doing it. Call this first.'}, 'merge_id': {'type': 'string', 'description': 'The duplicate to fold in and delete.'}}}
Input schema
{'type': 'object', 'required': ['object_id_a', 'object_id_b'], 'properties': {'object_id_a': {'type': 'string', 'description': 'The first object (exact object_id).'}, 'object_id_b': {'type': 'string', 'description': 'The second object (exact object_id).'}}}
Input schema
{'type': 'object', 'properties': {}}
Input schema
{'type': 'object', 'properties': {'name': {'type': 'string', 'description': 'Part of the filename, when the object_id is unknown.'}, 'object_id': {'type': 'string', 'description': "The file's graph object_id."}}}
Input schema
{'type': 'object', 'required': ['kind'], 'properties': {'kind': {'enum': ['og_image', 'email', 'pdf', 'substack_post', 'markdown'], 'type': 'string'}, 'page': {'enum': ['letter', 'a4'], 'type': 'string'}, 'size': {'enum': ['og', 'square', 'portrait', 'story', 'landscape', 'facebook_cover', 'linkedin_banner', 'x_header'], 'type': 'string', 'description': "Where the image will be posted. Sizes: 'og' 1200x630 (The card X, LinkedIn, Slack and iMessage show under a link); 'square' 1080x1080 (An Instagram, LinkedIn or Facebook feed post); 'portrait' 1080x1350 (A taller Instagram or LinkedIn feed post); 'story' 1080x1920 (An Instagram or Facebook story, or a Reels cover); 'landscape' 1280x720 (A YouTube thumbnail or a 16:9 slide); 'facebook_cover' 1640x624 (A Facebook page or profile cover photo, shown at 820 by 312); 'linkedin_banner' 1584x396 (The background image on a LinkedIn profile); 'x_header' 1500x500 (The header image on an X profile). Left out it is 'og'."}, 'align': {'enum': ['left', 'center', 'right'], 'type': 'string'}, 'props': {'type': 'object', 'additionalProperties': {'type': 'string'}}, 'title': {'type': 'string', 'description': 'The PDF title, if they gave one.'}, 'header': {'enum': ['band', 'plain'], 'type': 'string'}, 'subject': {'type': 'string', 'description': 'The email subject, if they gave one.'}, 'markdown': {'type': 'string'}, 'appearance': {'enum': ['light', 'dark'], 'type': 'string'}, 'footer_text': {'type': 'string'}, 'template_id': {'type': 'string', 'description': 'The template the user named, if any.'}, 'brand_kit_id': {'type': 'string', 'description': 'A brand_kit_id from list_brand_kits.'}, 'page_numbers': {'enum': ['on', 'off'], 'type': 'string'}, 'saved_template_id': {'type': 'string', 'description': 'A saved_template_id from list_templates; its inputs seed the ones you pass.'}}}
Input schema
{'type': 'object', 'required': ['object_id'], 'properties': {'object_id': {'type': 'string', 'description': 'The object to destroy (exact object_id).'}}}
Input schema
{'type': 'object', 'properties': {'sort': {'enum': ['name', 'newest', 'oldest'], 'type': 'string', 'description': 'Order of results. Default newest.'}, 'type': {'type': 'string', 'description': "Only objects of this type (e.g. 'fact', 'note')."}, 'limit': {'type': 'integer', 'description': 'Max results (default 20, max 50).'}, 'offset': {'type': 'integer', 'description': 'Skip this many results, for paging.'}, 'source': {'type': 'string', 'description': "Only rows written by this source. Matches either the source recorded on the row or the marker a skill sets on what it writes, so 'capture_understand' and 'extension' both find what capture wrote."}, 'name_contains': {'type': 'string', 'description': 'Substring of the name, case-insensitive.'}, 'text_contains': {'type': 'string', 'description': 'Substring of the name or the description, case-insensitive.'}, 'follow_up_due_by': {'type': 'string', 'description': "Only rows whose follow-up date falls on or before this day, as YYYY-MM-DD. This is what 'what is due this week' reads. Use today's date for what is due or overdue."}, 'created_before_days': {'type': 'integer', 'description': 'Only rows created more than N days ago.'}, 'created_within_days': {'type': 'integer', 'description': 'Only rows created in the last N days. Use 1 for "already done today".'}}}
Input schema
{'type': 'object', 'properties': {'days': {'type': 'integer', 'description': 'Quiet for at least this many days. Default 182.'}, 'limit': {'type': 'integer', 'description': 'Max people (default 20, max 100).'}}}
Input schema
{'type': 'object', 'required': ['artifact_id'], 'properties': {'artifact_id': {'type': 'string', 'description': 'An artifact_id from a generator or list_artifacts.'}}}
Input schema
{'type': 'object', 'properties': {'name': {'type': 'string', 'description': 'Part of the filename, when the object_id is unknown.'}, 'object_id': {'type': 'string', 'description': "The file's graph object_id (from search_graph_objects)."}}}
Input schema
{'type': 'object', 'properties': {'days': {'type': 'integer', 'description': 'How far back to read. Default 2.'}}}
Input schema
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'The http(s) URL of the page to read.'}, 'save': {'type': 'boolean', 'description': 'Keep the page in the graph as a web_link for later search. Default false — a one-off read is not stored.'}}}
Input schema
{'type': 'object', 'required': ['with_object_id', 'occurred_at', 'channel', 'direction', 'summary'], 'properties': {'channel': {'enum': ['email', 'call', 'meeting', 'linkedin', 'manual'], 'type': 'string', 'description': 'How it happened.'}, 'summary': {'type': 'string', 'description': 'One or two sentences on what happened.'}, 'direction': {'enum': ['inbound', 'outbound'], 'type': 'string', 'description': "'inbound' when they contacted the user, 'outbound' when the user reached out."}, 'occurred_at': {'type': 'string', 'description': 'When it happened (ISO 8601; future is fine).'}, 'with_object_id': {'type': 'string', 'description': 'Who it happened with (their exact object_id).'}}}
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'description': 'Max introducers (default 20, max 100).'}, 'clients_only': {'type': 'boolean', 'description': 'Only count introductions that became clients, judged on a billed or worked_on edge. Default false, which counts all.'}}}
Input schema
{'type': 'object', 'required': ['company'], 'properties': {'company': {'type': 'string', 'description': 'The company to research: a website domain ("hubspot.com", preferred) or a company name ("HubSpot").'}}}
Input schema
{'type': 'object', 'required': ['artifact_id', 'name'], 'properties': {'name': {'type': 'string', 'description': 'A short name for the template.'}, 'artifact_id': {'type': 'string', 'description': 'An artifact_id from a generator or list_artifacts.'}}}
Input schema
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'The http(s) URL of the file to download.'}, 'filename': {'type': 'string', 'description': 'Name to store the file under. Default: the name the server or URL suggests.'}}}
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'description': 'Max results (default 20, max 50).'}, 'query': {'type': 'string', 'description': "Match against the person's full name."}, 'title': {'type': 'string', 'description': "Match against the person's job title."}, 'company': {'type': 'string', 'description': 'Match against the company name.'}}}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': "The search in Gmail query syntax, e.g. 'in:sent to:jane@acme.com newer_than:30d'."}, 'account': {'type': 'string', 'description': 'Email address of one connected mailbox to search. Omit to search all connected mailboxes.'}, 'max_results': {'type': 'integer', 'description': 'Max messages to return (default 10, max 100).'}}}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'description': 'Max meetings (default 10, max 50).'}, 'query': {'type': 'string', 'description': 'The phrase or name to find.'}}}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'type': {'type': 'string', 'description': "Only objects of this type (e.g. 'contact', 'fact')."}, 'limit': {'type': 'integer', 'description': 'Max results (default 20, max 50).'}, 'query': {'type': 'string', 'description': 'Term to match against name and description.'}}}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'An email address, a domain, or a person or company name.'}, 'portal_id': {'type': 'integer', 'description': 'A HubSpot portal (hub) id, when the user has more than one connected and named it.'}, 'object_type': {'enum': ['contacts', 'companies', 'both'], 'type': 'string', 'description': "Restrict to one record type. Default 'both'."}}}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'Comma-separated keywords to search for.'}, 'recency': {'enum': ['Day', 'Week', 'Month', 'Quarter', 'HalfYear', 'Year'], 'type': 'string', 'description': 'How far back to search. Default Week.'}, 'found_by_object_id': {'type': 'string', 'description': "The searching agent's own object id, from the [object:...] marker. Omit in normal chat."}}}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'tag': {'type': 'string', 'description': "Only notes carrying this tag, e.g. 'meeting'."}, 'limit': {'type': 'integer', 'description': 'Max results (default 15, max 50).'}, 'query': {'type': 'string', 'description': 'What to look for in the notes.'}, 'folder': {'type': 'string', 'description': "Only notes under this vault folder, e.g. 'Projects'."}, 'vault_id': {'type': 'string', 'description': 'Only this vault (from list_obsidian_vaults).'}}}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'description': 'Max messages (default 10, max 50).'}, 'query': {'type': 'string', 'description': 'What to look for.'}, 'since': {'type': 'string', 'description': 'Only messages sent on or after this ISO 8601 date.'}, 'channel': {'type': 'string', 'description': "A channel id (C…) or name ('#general') to search within."}}}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'What to search for. X search syntax works: keywords, @mentions, "exact phrases", OR.'}, 'found_by_object_id': {'type': 'string', 'description': "The searching agent's own object id, from the [object:...] marker. Omit in normal chat."}}}
Input schema
{'type': 'object', 'required': ['subject', 'body'], 'properties': {'body': {'type': 'string', 'description': 'The body of the email, as Markdown. Use [label](object:<id>) to link a graph object and [label](chat:<question>) to link a ready-to-send chat question.'}, 'subject': {'type': 'string', 'description': 'The email subject line.'}}}
Input schema
{'type': 'object', 'required': ['channel_id', 'text'], 'properties': {'text': {'type': 'string', 'description': 'The message.'}, 'team_id': {'type': 'string', 'description': 'The workspace, when the user has more than one.'}, 'thread_ts': {'type': 'string', 'description': 'Reply in this thread instead of the channel.'}, 'channel_id': {'type': 'string', 'description': 'Where to post (C…/D… id).'}}}
Input schema
{'type': 'object', 'required': ['message'], 'properties': {'message': {'type': 'string', 'description': 'The text to send (max 1000 characters).'}, 'send_at': {'type': 'string', 'description': 'When to send, ISO 8601 with a UTC offset (e.g. 2026-09-18T09:00:00-04:00), up to 90 days out. Omit to send immediately.'}}}
Input schema
{'type': 'object', 'required': ['brand_kit_id'], 'properties': {'brand_kit_id': {'type': 'string', 'description': 'A brand_kit_id from list_brand_kits.'}}}
Input schema
{'type': 'object', 'required': ['about_object_id', 'when'], 'properties': {'note': {'type': 'string', 'description': 'Optional reminder text.'}, 'when': {'type': 'string', 'description': 'When to follow up (ISO 8601).'}, 'about_object_id': {'type': 'string', 'description': 'What the follow-up is about (exact object_id).'}}}
Input schema
{'type': 'object', 'required': ['object_id', 'fields'], 'properties': {'fields': {'type': 'object', 'description': "Field name -> new value (e.g. {'name': 'Q3 deck'} or {'headline': 'CTO at Acme'})."}, 'object_id': {'type': 'string', 'description': 'The object to update (exact id).'}}}
Input schema
{'type': 'object', 'properties': {'agent_emails': {'type': 'boolean', 'description': 'Email from their cloud agents and watchers. false stops the email, not the agents.'}, 'post_reports': {'type': 'boolean', 'description': "The 'Your posts' traction section of the Exec Briefing. false leaves it out."}, 'exec_briefings': {'type': 'boolean', 'description': "The daily 'Exec Briefing' email. false stops it."}, 'process_emails': {'type': 'boolean', 'description': 'The notices when an import or sync finishes. false stops them.'}, 'tracker_updates': {'type': 'boolean', 'description': 'The email when a web page tracker finds a change. false stops it.'}}}
Input schema
{'type': 'object', 'required': ['artifact_id'], 'properties': {'revoke': {'type': 'boolean', 'description': 'Take an existing link away instead of making one.'}, 'artifact_id': {'type': 'string', 'description': 'An artifact_id from a generator or list_artifacts.'}}}
Input schema
{'type': 'object', 'required': ['object_id'], 'properties': {'type': {'type': 'string', 'description': "Only neighbours of this type (e.g. 'note')."}, 'limit': {'type': 'integer', 'description': 'Max results (default 10, max 50).'}, 'object_id': {'type': 'string', 'description': 'The object to find neighbours of (exact id).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {}}
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'description': 'How many people to return (max 50).'}}}
Input schema
{'type': 'object', 'required': ['keep_id', 'merged_id'], 'properties': {'keep_id': {'type': 'string', 'description': 'The record that survived the merge.'}, 'merged_id': {'type': 'string', 'description': 'The record that was folded into it.'}}}
Input schema
{'type': 'object', 'required': ['brand_kit_id'], 'properties': {'name': {'type': 'string', 'description': 'The brand name.'}, 'fonts': {'type': 'object', 'properties': {'body': {'enum': ['Archivo', 'Barlow', 'Bebas Neue', 'Bricolage Grotesque', 'Cormorant Garamond', 'Crimson Text', 'DM Sans', 'DM Serif Display', 'EB Garamond', 'Figtree', 'Fira Code', 'Fraunces', 'Geist', 'Georgia', 'IBM Plex Mono', 'IBM Plex Sans', 'Inter', 'JetBrains Mono', 'Karla', 'Lato', 'Libre Baskerville', 'Lora', 'Manrope', 'Merriweather', 'Montserrat', 'Mulish', 'Newsreader', 'Nunito', 'Open Sans', 'Oswald', 'Outfit', 'PT Serif', 'Playfair Display', 'Plus Jakarta Sans', 'Poppins', 'Raleway', 'Roboto', 'Rubik', 'Sora', 'Source Sans 3', 'Space Grotesk', 'Urbanist', 'Work Sans', 'system-ui'], 'type': 'string'}, 'heading': {'enum': ['Archivo', 'Barlow', 'Bebas Neue', 'Bricolage Grotesque', 'Cormorant Garamond', 'Crimson Text', 'DM Sans', 'DM Serif Display', 'EB Garamond', 'Figtree', 'Fira Code', 'Fraunces', 'Geist', 'Georgia', 'IBM Plex Mono', 'IBM Plex Sans', 'Inter', 'JetBrains Mono', 'Karla', 'Lato', 'Libre Baskerville', 'Lora', 'Manrope', 'Merriweather', 'Montserrat', 'Mulish', 'Newsreader', 'Nunito', 'Open Sans', 'Oswald', 'Outfit', 'PT Serif', 'Playfair Display', 'Plus Jakarta Sans', 'Poppins', 'Raleway', 'Roboto', 'Rubik', 'Sora', 'Source Sans 3', 'Space Grotesk', 'Urbanist', 'Work Sans', 'system-ui'], 'type': 'string'}}, 'additionalProperties': False}, 'colors': {'type': 'object', 'properties': {'card': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'accent': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'border': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'primary': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'background': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'foreground': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'muted_foreground': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'primary_foreground': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}}, 'description': 'Hex colors (#rrggbb). Any left out keep their current value.', 'additionalProperties': False}, 'domain': {'type': 'string', 'description': 'The brand website host, like acme.com.'}, 'radius': {'type': 'string', 'description': 'Corner radius in px, rem or em, like 8px.'}, 'dark_mode': {'enum': ['auto', 'off'], 'type': 'string'}, 'documents': {'type': 'object', 'properties': {'accent': {'enum': ['band', 'line', 'none'], 'type': 'string'}, 'density': {'enum': ['compact', 'comfortable', 'spacious'], 'type': 'string'}, 'body_size': {'enum': ['small', 'regular', 'large'], 'type': 'string'}, 'page_size': {'enum': ['letter', 'a4'], 'type': 'string'}, 'footer_text': {'type': 'string', 'description': 'The footer line on every page. Empty string for no footer; left out it is the brand name.'}, 'orientation': {'enum': ['portrait', 'landscape'], 'type': 'string'}, 'page_numbers': {'enum': ['on', 'off'], 'type': 'string'}, 'heading_scale': {'enum': ['small', 'regular', 'large'], 'type': 'string'}}, 'description': 'How this brand lays out PDFs. Any left out use the default.', 'additionalProperties': False}, 'brand_kit_id': {'type': 'string', 'description': 'A brand_kit_id from list_brand_kits.'}, 'review_state': {'enum': ['confirmed'], 'type': 'string'}}}
Input schema
{'type': 'object', 'required': ['event_id'], 'properties': {'end': {'type': 'string', 'description': 'New end, RFC3339 dateTime.'}, 'start': {'type': 'string', 'description': 'New start, RFC3339 dateTime.'}, 'account': {'type': 'string', 'description': "Email address of the connected Google account or Outlook mailbox holding the event (the event's account). Omit to try every account with calendar editing."}, 'summary': {'type': 'string', 'description': 'New event title.'}, 'event_id': {'type': 'string', 'description': 'The event id from get_calendar_events.'}, 'location': {'type': 'string', 'description': 'New location.'}, 'calendar_id': {'type': 'string', 'description': 'The Google calendar holding the event (from list_google_calendars). Omit for primary and for Outlook events.'}, 'description': {'type': 'string', 'description': 'New description.'}}}
Input schema
{'type': 'object', 'properties': {'website': {'type': 'string', 'description': "Their company's domain, e.g. 'acme.com'."}, 'headline': {'type': 'string', 'description': 'The one-liner under their name.'}, 'timezone': {'type': 'string', 'description': "IANA zone name, e.g. 'America/New_York'. Empty string clears it."}, 'last_name': {'type': 'string'}, 'first_name': {'type': 'string'}, 'twitter_username': {'type': 'string'}, 'linkedin_profile_url': {'type': 'string'}}}
Input schema
{'type': 'object', 'required': ['values'], 'properties': {'values': {'type': 'object', 'description': "field_id -> value, e.g. {'birthday': '04-02'}.", 'additionalProperties': {'type': 'string'}}}}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'What to search for, in plain words.'}, 'domain': {'type': 'string', 'description': "Restrict to one site, e.g. 'techcrunch.com'. Omit to search everywhere."}, 'since_days': {'type': 'integer', 'description': 'Only results from the last N days. Use for "what happened recently" questions.'}, 'max_results': {'type': 'integer', 'description': 'How many results (default 5, max 10).'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'kinds': {'type': 'array', 'items': {'enum': ['follow_up', 'dormant', 'meeting', 'frequent', 'invited', 'network', 'connect_more'], 'type': 'string'}, 'description': 'Restrict to certain kinds. Omit for everything, which is almost always right.'}, 'limit': {'type': 'integer', 'description': 'How many items to return (default 5, max 25).'}}}
Recent tool changes
Similar MCP servers
freedom-mcp
Supports company operations through commitments, teams, agents, customer evidence, leads, content workflows, spreadsheets, commer…
Stable Baseline
Manages company documents, knowledge graphs, whiteboards, projects, plans, tasks, teams, and improvement workflows.
Dayze — Life Context
Provides authenticated personal life-context data and tools for contacts, memories, events, expenses, trips, assets, places, and …
mcp
Manages Nestr workspaces, roles, circles, tensions, governance proposals, comments, daily plans, graph relationships, agents, and…
Support Agent Admin by Nova (CIVAI)
Manages support-agent CRM sessions, labels, assignments, bulk follow-ups, and connected Google Calendar, Docs, and Sheets workflo…
personalbrain-mcp
Provides read and write access to a personal knowledge graph, including thoughts, notes, links, attachments, queries, and change …
Kaiku
Manages team issues, comments, attachments, projects, wiki pages, and related development workflows.
StackFast FractWin Expert Brain
Provides governed sales, negotiation, strategy, operations, CRM, estimation, artifact, and risk-management workflows with human a…