Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

YouSpot

REMOTE · YOUSPOT.COM · SCANNED SEP 20

Query one person's second brain: contacts, companies, notes, files and connected accounts.

Available components

+3 this week 84 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security94
Transport & Reachability100
Schema Quality & AI Usability81
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 19417 tokens (~178/item across 109 items; 106 tools + 3 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management50
  • Stability observed for 15 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage96
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 89% of tool parameters carry a description.Partial
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 8 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "send_email" implies "send" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 108 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities73
  • Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
  • Supports UI / widget rendering.Pass
Install

How do I install the YouSpot MCP server?

YouSpot is a hosted endpoint at https://youspot.com/mcp/v1, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · youspot.com

# add to Claude Code
claude mcp add --transport http com-youspot-youspot 'https://youspot.com/mcp/v1'
// .cursor/mcp.json
{
  "mcpServers": {
    "com-youspot-youspot": {
      "url": "https://youspot.com/mcp/v1"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "com-youspot-youspot": {
      "type": "http",
      "url": "https://youspot.com/mcp/v1"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.com-youspot-youspot]
url = "https://youspot.com/mcp/v1"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-youspot-youspot": {
      "type": "remote",
      "url": "https://youspot.com/mcp/v1",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add com-youspot-youspot --url 'https://youspot.com/mcp/v1' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  com-youspot-youspot:
    url: "https://youspot.com/mcp/v1"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "com-youspot-youspot": {
      "Transport": "http",
      "Url": "https://youspot.com/mcp/v1"
    }
  }
}
# add to Vellum
assistant mcp add com-youspot-youspot -t streamable-http -u 'https://youspot.com/mcp/v1'
// mcp.json
{
  "mcpServers": {
    "com-youspot-youspot": {
      "type": "http",
      "url": "https://youspot.com/mcp/v1"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 20 Sept 26 0
    • Tool “list_graph_objects” rewrote its description, which is the text the model reads security
    • Tool “merge_graph_objects” rewrote its description, which is the text the model reads security
    • New tool “audit_brain” functional
    • New tool “draft_cloud_agent” functional
    • New tool “unmerge_graph_objects” functional
    • “list_graph_objects” added an optional parameter “offset” cosmetic
    • “merge_graph_objects” added an optional parameter “preview” cosmetic
    • “query_graph_objects” reworded the description of “source” cosmetic
  • 19 Sept 26 +1
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “extract_brand_kit” rewrote its description, which is the text the model reads security
    • Tool “get_brand_kit” rewrote its description, which is the text the model reads security
    • Tool “read_artifact” rewrote its description, which is the text the model reads security
  • 18 Sept 26 0
    • Tool “archive_gmail_message” rewrote its description, which is the text the model reads security
    • Tool “create_gmail_draft” rewrote its description, which is the text the model reads security
    • Tool “get_calendar_events” rewrote its description, which is the text the model reads security
    • Tool “list_gmail_labels” rewrote its description, which is the text the model reads security
    • Tool “list_google_calendars” rewrote its description, which is the text the model reads security
    • Tool “search_gmail_messages” rewrote its description, which is the text the model reads security
    • Tool “update_calendar_event” rewrote its description, which is the text the model reads security
    • New resource “artifact” functional
    • New resource “brand-kits” functional
    • New tool “check_page_changes” functional
    • New tool “check_person_changes” functional
    • New tool “generate_markdown” functional
    • New tool “get_domain_keywords” functional
    • New tool “read_artifact” functional
    • New tool “share_artifact” functional
    • “get_calendar_events” reworded the description of “calendar_id” cosmetic
    • “get_calendar_events” reworded the description of “count_only” cosmetic
  • 17 Sept 26 +1
    • A breaking change shipped without a version bump: still 1.0.0 security
    • Tool “changelog_save_draft” was removed security
    • Tool “changelog_sources” was removed security
    • Tool “get_substack_post_stats” was removed security
    • Tool “get_substack_posts” was removed security
    • Tool “get_substack_subscriber_counts” was removed security
    • Tool “get_substack_subscribers” was removed security
    • Tool “import_substack_subscribers” was removed security
    • Tool “intake_get_email” was removed security
    • Tool “intake_record_decision” was removed security
    • Tool “intake_reply” was removed security
    • Tool “linear_comment_on_issue” was removed security
    • Tool “linear_create_issue” was removed security
    • Tool “linear_get_issue” was removed security
    • Tool “linear_relate_issues” was removed security
    • Tool “linear_routing_catalog” was removed security
    • Tool “linear_search_issues” was removed security
    • Tool “lookup_substack_subscriber” was removed security
    • Tool “generate_email” rewrote its description, which is the text the model reads security
    • Tool “generate_og_image” rewrote its description, which is the text the model reads security
    • Tool “generate_pdf” rewrote its description, which is the text the model reads security
    • Tool “get_artifact” rewrote its description, which is the text the model reads security
    • Tool “get_calendar_events” rewrote its description, which is the text the model reads security
    • Tool “get_my_bookmarks” rewrote its description, which is the text the model reads security
    • Tool “get_my_tweets” rewrote its description, which is the text the model reads security
    • Tool “get_slack_thread” rewrote its description, which is the text the model reads security
    • Tool “get_twitter_following” rewrote its description, which is the text the model reads security
    • Tool “get_twitter_profile” rewrote its description, which is the text the model reads security
    • Tool “list_artifacts” rewrote its description, which is the text the model reads security
    • Tool “list_google_calendars” rewrote its description, which is the text the model reads security
    • Tool “plan_generation” rewrote its description, which is the text the model reads security
    • Tool “save_as_template” rewrote its description, which is the text the model reads security
    • Tool “search_gmail_messages” rewrote its description, which is the text the model reads security
    • Tool “search_slack_messages” rewrote its description, which is the text the model reads security
    • Tool “search_tweets” rewrote its description, which is the text the model reads security
    • Tool “send_text_to_user” rewrote its description, which is the text the model reads security
    • Tool coverage: 82% → 88% functional
    • New tool “cancel_scheduled_text” functional
    • New tool “list_scheduled_texts” functional
    • “generate_og_image” added an optional parameter “size” cosmetic
    • “plan_generation” added an optional parameter “size” cosmetic
    • “send_text_to_user” added an optional parameter “send_at” cosmetic
    • Tool “generate_og_image” changed its title: Generate social image → Generate image cosmetic
  • 16 Sept 26 0
    • A breaking change shipped without a version bump: still 1.0.0 security
    • Tool “linear_completed_issues” was removed security
    • Tool “changelog_save_draft” rewrote its description, which is the text the model reads security
    • “changelog_save_draft” added a required parameter “day”, so existing callers break functional
    • “changelog_save_draft” added a required parameter “items”, so existing callers break functional
    • “changelog_save_draft” dropped the required parameter “sources” functional
    • “changelog_save_draft” dropped the required parameter “week_start” functional
    • New tool “changelog_sources” functional
    • New tool “generate_substack_post” functional
    • New tool “get_my_plan” functional
    • New tool “get_substack_post_stats” functional
    • New tool “get_substack_posts” functional
    • New tool “get_substack_subscriber_counts” functional
    • New tool “get_substack_subscribers” functional
    • New tool “import_substack_subscribers” functional
    • New tool “lookup_substack_subscriber” functional
  • 15 Sept 26 +1
    • Tool “draft_email_in_gmail” rewrote its description, which is the text the model reads security
    • Tool “generate_email” rewrote its description, which is the text the model reads security
    • Schema quality: 15809 → 17554 functional
    • New tool “create_brand_kit” functional
    • New tool “extract_brand_kit” functional
    • New tool “generate_pdf” functional
    • New tool “get_artifact” functional
    • New tool “get_brand_kit” functional
    • New tool “list_artifacts” functional
    • New tool “list_templates” functional
    • New tool “plan_generation” functional
    • New tool “save_as_template” functional
    • New tool “set_default_brand_kit” functional
    • New tool “update_brand_kit” functional
    • “generate_email” added an optional parameter “saved_template_id” cosmetic
    • “generate_og_image” added an optional parameter “saved_template_id” cosmetic
    • “generate_email” made “subject” optional cosmetic
    • “generate_og_image” made “props” optional cosmetic
  • 14 Sept 26 0
    • New tool “draft_email_in_gmail” functional
    • New tool “generate_email” functional
    • New tool “generate_og_image” functional
    • New tool “list_brand_kits” functional
  • 13 Sept 26 0
    • Tool “create_calendar_event” rewrote its description, which is the text the model reads security
    • “create_calendar_event” added an optional parameter “action_id” cosmetic
    • “create_calendar_event” added an optional parameter “all_day” cosmetic
    • “create_calendar_event” added an optional parameter “timezone” cosmetic
    • “create_calendar_event” reworded the description of “account” cosmetic
    • “create_calendar_event” reworded the description of “calendar_id” cosmetic
    • “create_calendar_event” reworded the description of “description” cosmetic
    • “create_calendar_event” reworded the description of “end” cosmetic
    • “create_calendar_event” reworded the description of “location” cosmetic
    • “create_calendar_event” reworded the description of “start” cosmetic
    • “create_calendar_event” reworded the description of “summary” cosmetic
    • “create_calendar_event” made “end” optional cosmetic
    • “create_calendar_event” made “start” optional cosmetic
    • “create_calendar_event” made “summary” optional cosmetic
    • Tool “create_calendar_event” changed its title: Create calendar event → Add event to calendar cosmetic
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Probed https://youspot.com/mcp/v1

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=youspot.com CN=WE1,O=Google Trust Services,C=US 15 Aug 2026 13 Nov 2026 ECDSA 256 ECDSA-SHA256 9a1e13268e4b1f610eb83d6e63fa2638
SANs: youspot.com, *.youspot.com
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of youspot.com. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
youspot.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Enforced and verified

The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.

Result Enforced and verified
Enforced On tool calls
HTTP status 200

WWW-Authenticate challenge Bearer resource_metadata="https://youspot.com/.well-known/oauth-protected-resource/mcp/v1", error="invalid_token"

Bearer resource_metadata="https://youspot.com/.well-known/oauth-protected-resource/mcp/v1", error="invalid_token"
Header Value
strict-transport-security max-age=63072000; includeSubDomains; preload
x-content-type-options nosniff
x-frame-options DENY
referrer-policy strict-origin-when-cross-origin
permissions-policy camera=(), microphone=(), geolocation=()

Protected resource metadata

Document https://youspot.com/.well-known/oauth-protected-resource/mcp/v1
Retrieved Yes
Resource https://youspot.com/mcp/v1
Authorisation server https://youspot.com

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://youspot.com/mcp/v1 Verified 200
http (plaintext) http://youspot.com/mcp/v1 HTTPS enforced 308 https://youspot.com/mcp/v1
MCP tools · 106 exposed · ~19,132 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
add_slack_reaction ~75

Add an emoji reaction (by name, e.g. 'eyes' or 'white_check_mark') to a Slack message.

NameTypeReqDescription
channel_idstringyes
emojistringyesEmoji name without colons.
team_idstring
tsstringyesThe message's ts.

No output schema declared.

No examples provided.

analyze_recent_posts ~170

The raw material for an engagement analysis of the user's most recent LinkedIn posts: per-post stats, a sample of the actual comments left on them (who said what), and the LinkedIn headlines of everyone who engaged. Use when they ask for an analysis of their recent posts, what people are saying about them, or who their audience is. From the returned data, cover: what's getting traction, one or two key insights from the commentary including its overall sentiment, and an audience breakdown (roles, seniority, industries) drawn from the headlines. When comments_synced is false the engagement sync has not run for them yet: analyze the stats alone and say the comment data is still syncing.

NameTypeReqDescription
post_countintegerHow many recent posts to analyze (default 10, max 20).

No output schema declared.

No examples provided.

archive_gmail_message ~116

Archive one Gmail message: it leaves the inbox but stays in All Mail, fully recoverable. Use only when the user asked for the archive; confirm first if it's your own suggestion. Only works on mailboxes connected under a legacy modify grant; current connections are read-only and cannot change the mailbox; the tool says so if not.

NameTypeReqDescription
accountstringEmail address of the connected mailbox holding the message. Omit to try all connected mailboxes.
message_idstringyesThe Gmail message id to archive.

No output schema declared.

No examples provided.

ask_about_connections ~140

Ask a free-form question about the user's LinkedIn connections that the other tools can't express: aggregates and rankings ('which companies do I know the most people at?'), date ranges ('who did I connect with in 2023?'), location filters ('my connections in Boston'), or several conditions at once ('founders in New York I connected with this year'). Answered by generating a read-only SQL query, so it returns columns and rows rather than prose. Prefer search_connections for a simple name/company/title lookup — it is faster. Keep the question under 500 characters.

NameTypeReqDescription
questionstringyesThe question about their connections, in plain English.

No output schema declared.

No examples provided.

ask_about_hubspot_companies ~188

Query the user's HubSpot companies — the companies synced from the HubSpot portals they've connected. Use this for any question about their CRM companies: firmographics ('software companies with more than 100 employees'), lifecycle and pipeline ('companies with an open deal', 'how many customer accounts?'), location ('companies in Boston'), funding and size ('which companies raised money?', 'biggest companies by revenue'), or attribution. Answered by generating a read-only SQL query over the synced company table, so it returns columns and rows rather than prose — summarize the rows for the user, and say how many there were. If it reports no companies synced, tell them to run a company sync for their portal. Keep the question under 500 characters.

NameTypeReqDescription
questionstringyesThe question about their HubSpot companies, in plain English. Pass the user's own phrasing where you can.

No output schema declared.

No examples provided.

ask_about_hubspot_contacts ~200

Query the user's HubSpot contacts — the people synced from the HubSpot portals they've connected. Use this for any question about their CRM contacts: engagement filters ('show me people with more than 10 page views'), lifecycle and pipeline ('how many customers do I have?', 'leads with an open deal'), firmographics ('contacts at Google', 'people in Boston'), attribution ('which source brought the most contacts?'), email activity, deal amounts, lead scores, or form conversions. Answered by generating a read-only SQL query over the synced contact table, so it returns columns and rows rather than prose — summarize the rows for the user, and say how many there were. If it reports no contacts synced, tell them to import at /hubspot/import. Keep the question under 500 characters.

NameTypeReqDescription
questionstringyesThe question about their HubSpot contacts, in plain English. Pass the user's own phrasing where you can.

No output schema declared.

No examples provided.

ask_about_invitations ~138

Ask a question about the user's LinkedIn invitations — the requests they sent and received. This is the only tool that can see invitations. Use it for questions like 'which invitations I sent were never accepted?', 'who invited me recently?', or 'how many requests did I send last month?'. Acceptance is inferred by checking whether the other person now appears among their connections. Note the LinkedIn export only covers recent and still-pending invitations, not lifetime history — say so when it matters. Returns columns and rows. Keep the question under 500 characters.

NameTypeReqDescription
questionstringyesThe question about their invitations, in plain English.

No output schema declared.

No examples provided.

audit_brain ~95

What is clogging up the user's brain: how many objects they hold of each type, how much of it is a log of the machine working rather than anything they know, the people capture minted from a name that identifies nobody, the records held twice, and the documents saved more than once. Reads only. Emit the card it names and let the reader decide group by group; never write the findings out as a table yourself.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

cancel_scheduled_text ~57

Cancel a text that was scheduled with send_text_to_user and has not been sent yet. Takes the task_id from the scheduling response or from list_scheduled_texts.

NameTypeReqDescription
task_idintegeryesThe scheduled text to cancel.

No output schema declared.

No examples provided.

check_page_changes ~185

Check whether a public web page has changed since the last time this was called for it, and get the diff. Use for watching one page over time: a company's team or leadership page, a pricing page, a careers page — anything where the change is the news. The first call records a baseline and reports no change, which is normal. Pass your own agent id as `tag` so two watchers on the same page do not consume each other's changes. For the contents of a page use read_web_page; for the open web use web_search.

NameTypeReqDescription
tagstringWhat 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 change…
urlstringyesThe page to check, http(s).

No output schema declared.

No examples provided.

check_person_changes ~190

Check one person's LinkedIn profile and report what has changed since the last check — a new headline, a new company, a move, or going open to work. Takes a LinkedIn username or profile URL. Use for watching a named person over time; for what they have posted use search_linkedin_posts. The first check records a baseline and reports no changes, which is normal. Set fresh=true when running as a scheduled watcher: without it the answer can come from a cached copy up to 90 days old, which is no use for noticing a move.

NameTypeReqDescription
freshbooleanFetch a current copy rather than accepting a cached one. Costs a paid lookup; use it on a scheduled watch, not on a passing question.
linkedinstringyesLinkedIn username or profile URL, e.g. 'dharmesh' or 'https://www.linkedin.com/in/dharmesh'.

No output schema declared.

No examples provided.

company_signals ~175

Recent news and hiring movement for companies the user already knows, several at once, split into what is new since the last check and what was already reported. Use for watching companies over time: what has happened at my clients, is anyone hiring, anything I should know before I reach out. When running on a schedule, report only the new items and stay silent when there are none. For one company in depth use research_company; for the open web use web_search.

NameTypeReqDescription
domainsarrayyesCompany domains, up to 8, e.g. ['gusto.com', 'stripe.com'].
include_hiringbooleanInclude job-opening counts. Default true.
only_newbooleanReturn only items published since this user last checked that company. Default false. Set true on a scheduled run.

No output schema declared.

No examples provided.

connect_graph_objects ~223

Connect two objects in the user's graph with a directed edge — e.g. connect a file or note to a project, a person to a company, a web link to an event. Use the object_ids that create, search, or list returned. connection_type names the relationship ('part_of', 'works_at', 'related_to', …); connecting twice with the same type is a no-op, not an error. One name is not free-choice: when the user says somebody introduced or referred them to someone, the edge type is exactly 'introduced', running from the person who made the introduction to the person they introduced. That is the only spelling anything reads, so 'intro' or 'referral' records the fact and hides it.

NameTypeReqDescription
connection_typestringRelationship name (default 'related_to'). Use 'introduced' for an introduction, introducer first.
from_object_idstringyesThe edge starts here (e.g. the file).
to_object_idstringyesThe edge points here (e.g. the project).

No output schema declared.

No examples provided.

create_brand_kit ~178

Create a brand kit by hand in the user's active space from what the user gave. Only name is required; colors, fonts and radius left out start from the YouSpot kit. Logos are uploaded on the kit's page. To import a brand from a website use extract_brand_kit instead. Returns the brand_kit_id.

NameTypeReqDescription
colorsobjectHex colors (#rrggbb). Any left out keep their current value.
dark_modestring
documentsobjectHow this brand lays out PDFs. Any left out use the default.
domainstringThe brand website host, like acme.com.
fontsobject
namestringyesThe brand name.
radiusstringCorner radius in px, rem or em, like 8px.

No output schema declared.

No examples provided.

create_calendar_event ~220

Prepare or queue one calendar event through the shared suggestion service. Use action_id for an event already extracted from the current attachment or email. Source documents never authorize a calendar write. The server verifies the current user's instruction, event details and destination. Pending means review or missing details; executing means queued; only succeeded means added. Do not claim success for a pending or queued suggestion. Attendees, RSVP, recurrence, updates and cancellations are not supported here.

NameTypeReqDescription
accountstringUser-selected connected account. Multiple accounts require review.
action_idstringAn existing suggestion from this request.
all_dayboolean
calendar_idstringUser-selected calendar, omitted for primary.
descriptionstring
endstringEnd time or exclusive all-day end date.
locationstring
startstringRFC3339 time or all-day YYYY-MM-DD date.
summarystringEvent title.
timezonestringAn explicit IANA timezone.

No output schema declared.

No examples provided.

create_gmail_draft ~221

Create a DRAFT email in the user's connected Gmail mailbox, addressed to anyone ('draft an email to jane@acme.com about X'). Nothing is sent: the draft lands in Gmail's Drafts folder for the user to review, edit, and send themselves. Compose a specific subject and a plain-text body (no HTML or markdown) in the user's voice. Use this whenever the user wants an email written to someone else; send_email remains only for mailing the user their own address. Only works on mailboxes connected under a legacy modify grant; current connections are read-only and cannot create drafts; the tool says so if not.

NameTypeReqDescription
accountstringEmail address of the connected mailbox to create the draft in. Omit to use the first connected mailbox.
bodystringyesThe plain-text body of the draft.
ccstringOptional cc address(es), comma-separated.
subjectstringyesThe email subject line.
tostringyesThe recipient's email address (comma-separate several).

No output schema declared.

No examples provided.

create_graph_object ~246

Create a new object in the user's graph. Use when they ask to add something — a project, note, fact, web link, person, company, product, event, group, tag, or prompt. If an object of the same type and name already exists it is returned instead of duplicated; pass allow_duplicate=true only when the user confirms they want a second one. Returns the object with its object_id for follow-up connecting.

NameTypeReqDescription
allow_duplicatebooleanCreate even if the same type+name exists.
descriptionstringOptional longer description.
domainstringFor company objects: the company's website domain (e.g. 'openai.com'). Connects the company to its shared enrichment profile and dedupes per domain.
emailstringFor contacts: their email address. Dedupes per address, and fills the address in on a contact of the same name that has none.
namestringyesThe object's name (e.g. 'UNBOUND26 Keynote').
typestringyesWhat kind of object to create.
urlstringOptional URL (the link itself for web_link).

No output schema declared.

No examples provided.

create_tracker ~270

Set up a standing search the user wants watched — 'track LinkedIn posts that mention hubspot', 'track tweets mentioning @dharmesh', 'watch acme.com/pricing for changes'. query is what to watch for; tracker_type says where to watch (LinkedIn posts unless they ask for tweets/X or a specific page URL — a URL to watch means web_page, with the URL in url and query as a short label for it). linkedin_post and twitter_search requests become a daily cloud agent that emails a digest of new posts; web_page creates a tracker in their brain that runs daily and emails changes, filtered by the prompt. Always give the user the returned page_url as a link — that page is where they review and manage it.

NameTypeReqDescription
promptstringyesThe 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…
querystringyesThe search keywords to watch for (e.g. 'hubspot').
tracker_typestringWhere to watch. Defaults to linkedin_post.
urlstringweb_page trackers only: the page URL to watch for changes.

No output schema declared.

No examples provided.

delete_graph_object ~142

Delete an object from the user's graph. Use only when the user explicitly asks to delete or remove a specific object — never to tidy up on your own initiative. The delete is soft: the object disappears from lists, search, and chat, but its data is retained and a restore is possible later. Identify the object by object_id (search_graph_objects returns it). Only objects the user owns can be deleted, and never their root user node. In chat, this tool does not delete directly — it returns instructions for showing the user a confirmation card, and the card performs the delete.

NameTypeReqDescription
object_idstringyesThe object_id of the object to delete.

No output schema declared.

No examples provided.

delete_graph_objects ~181

Delete EVERY object of one type from the user's graph, however many there are: what to reach for when they ask to clear out a whole category ('delete all my HubSpot contacts') rather than one record. Deleting one object is delete_graph_object instead. This delete is permanent, and at this scale it is the only kind that helps: a synced portal can be millions of records. Use only when the user explicitly asked for a category to go, never on your own initiative, and name one type per call (contacts and companies are two calls). In chat this tool deletes nothing: it counts the records and returns instructions for a confirmation card, and the user's click starts the deletion.

NameTypeReqDescription
object_typestringyesThe type to clear out, e.g. 'hubspot_contact'. search_graph_objects and the brain's type counts both report types.

No output schema declared.

No examples provided.

disconnect_graph_objects ~108

Delete one connection between two objects in the user's graph — the edge from_object_id -> to_object_id of the given connection_type, nothing else; both objects stay. Use get_graph_object to see an object's connections and their types and directions first.

NameTypeReqDescription
connection_typestringyesThe relationship name of the edge to delete.
from_object_idstringyesThe edge starts here (exact object_id).
to_object_idstringyesThe edge points here (exact object_id).

No output schema declared.

No examples provided.

disconnect_integration ~113

Disconnect one connected account. Destructive and not undoable: disconnecting a HubSpot portal also deletes every record it synced. Never call this to check anything; call list_integrations for that. Only call it when the user has asked to disconnect, in their own words, naming what.

NameTypeReqDescription
accountstringWhich account, by the exact label list_integrations reported. Required when more than one is connected.
keystringyesWhich integration, e.g. 'gmail' or 'hubspot'.

No output schema declared.

No examples provided.

draft_cloud_agent ~427

In the YouSpot chat only: draft a standing errand the user asked for, so they can turn it on with one tap. Use this whenever they ask for something to happen on its own from now on: 'tell me when...', 'every morning...', 'notify me...', 'remind me each...', 'watch for...', 'let me know if...'. Never answer that you cannot set up a reminder, a watch or a recurring email; this is how you set one up. It creates nothing and turns nothing on, so it is safe to call as soon as the ask is clear. If the ask names a person for an email watch, look their address up first with search_graph_objects or search_connections and pass it as trigger.from; if two people match, ask which with the ask_user card instead of calling this. If they gave no address and none is on record, still draft it with trigger.from empty and say in your own words that it will watch the whole inbox. Pass the schedule or trigger fields only to override what the request plainly said; leave them out and the request is read for them.

NameTypeReqDescription
namestringOverride the drafted name. Two to four words, sentence case.
requeststringyesWhat the user asked for, in their own words, plus anything the conversation has settled since (a name, an address, a time).
scheduleobjectOverride 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_typestringOverride how it runs. 'trigger' means an event rather than a clock.
triggerobjectOverride 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>'}.

No output schema declared.

No examples provided.

draft_email_in_gmail ~158

Put a generated email (an artifact_id from generate_email) in the user's Gmail drafts, addressed to the recipients they named. Nothing is sent. The email has to be unlocked first: a watermarked draft is refused and the user unlocks it from the card. Only works on mailboxes connected under a legacy modify grant; the tool says so if not. Returns a link to the draft.

NameTypeReqDescription
accountstringEmail address of the connected mailbox to draft in. Omit for the first one.
artifact_idstringyesThe artifact_id generate_email returned.
ccstringOptional cc address(es), comma-separated.
tostringyesThe recipient's email address (comma-separate several).

No output schema declared.

No examples provided.

extract_brand_kit ~115

Read a public website and save its brand (colors, fonts, radius and logo) as a new brand kit that needs the user's review. Costs 3 credits, charged only when the kit is saved. Takes up to about a minute. Call list_brand_kits first and reuse a matching website's kit unless the user explicitly wants another extraction. Do not call this again to retry. Returns brand_kit_id, open_url and source_url.

NameTypeReqDescription
website_urlstringyesThe website address, like acme.com.

No output schema declared.

No examples provided.

find_companies ~192

Search for companies by describing them in plain English — the same engine behind the ProspectFinder app. Handles industry, size, location, funding stage and investors in one query: 'CRM software companies with more than 1,000 employees', 'Series A AI startups in Boston', 'YC-funded fintechs'. Returns name, domain, employee count and description per company. Use this for discovering companies out in the world; for companies/people the user already knows, use their graph and connection tools instead. Results can then be added to the user's graph with the graph tools if they ask. The result includes a result_id that chat surfaces can use to render the list as a live prospect_list card.

NameTypeReqDescription
limitintegerMax companies to return (default 10, max 25).
querystringyesPlain-English description of the companies to find (industry, size, location, funding, investors).

No output schema declared.

No examples provided.

find_paths ~133

How two objects in the user's graph are connected: the shortest chain of real relationships between them, up to 3 hops, e.g. person -[worked_with]- person -[works_at]- company. Only deliberate relationships count — bulk-import and system-inferred edges are excluded, so a path is evidence. Returns the path as a list of hops, and an EMPTY list when there is no connection: report that honestly, never invent a path.

NameTypeReqDescription
from_object_idstringyesWhere the path starts (exact object_id).
to_object_idstringyesWhere the path ends (exact object_id).

No output schema declared.

No examples provided.

generate_email ~521

Render one free branded email draft in a brand kit and save it to the user's files: any email the user describes, from a cold intro or a follow-up to a newsletter, an invitation, a launch note or a receipt. Nothing is sent. Drafts are limited to 20 per day. Templates: 'letter' takes preheader, signoff, footer_note; 'announcement' takes headline (required), preheader, cta_label, cta_url, signoff, footer_note; 'newsletter' takes issue_label, headline (required), preheader, cta_label, cta_url, signoff, footer_note; 'invitation' takes invite_label, event_name (required), when, where, preheader, cta_label, cta_url, signoff, footer_note; 'notification' takes status_label, headline (required), cta_label, cta_url, footer_note; 'onboarding' takes headline (required), preheader, cta_label, cta_url, signoff, footer_note; 'receipt' takes headline (required), order_label, order_date, cta_label, cta_url, footer_note. Pick the template whose shape fits the job and write the subject, props and body yourself in the user's voice; the template is a layout, not a limit on what the email can say. Write the body as markdown (paragraphs, lists, links, tables) or as blocks, never both. header 'band' paints the header in the brand color, 'plain' keeps it white; align is left or center; both default to the template's layout. Leave brand_kit_id out to use the space's default brand. The draft carries a YouSpot watermark until the user unlocks the clean email for 1 credit from the card, and Gmail drafting is refused until they do. Returns the artifact id; call draft_email_in_gmail with it once it is unlocked. Do not call this again to retry.

NameTypeReqDescription
alignstring
blocksarrayThe body as blocks.
brand_kit_idstringA brand_kit_id from list_brand_kits.
headerstring
markdownstringThe body as markdown.
propsobjectText fields for the template, all strings.
saved_template_idstringA saved_template_id from list_templates; its inputs seed the ones you pass.
subjectstringThe subject line.
template_idstringyes

No output schema declared.

No examples provided.

generate_markdown ~197

Write one document in the user's brand and save it to their files: anything they want to read in chat rather than print or send, from a to-do list or a checklist to a plan, notes, a brief or a summary they asked to keep. Takes the markdown, an optional title (the first heading otherwise) and an optional brand_kit_id. The card renders the whole document in the brand, so never paste the markdown into the reply as well. Nothing renders to a file the user has to open: there is no watermark, nothing to unlock and nothing to pay. Use generate_pdf instead when they want a document to print, attach or send. Do not call this again to retry.

NameTypeReqDescription
brand_kit_idstringA brand_kit_id from list_brand_kits.
markdownstringyesThe whole document as markdown.
titlestringThe document title. The first heading otherwise.

No output schema declared.

No examples provided.

generate_og_image ~658

Render one free branded image draft in a brand kit, with a small YouSpot watermark, and save it to the user's files: a link preview card, a social post, a story, a cover photo, a profile banner or a thumbnail. Drafts are limited to 20 per day. template_id 'simple' takes props label, title and description; 'blog' takes category, title, excerpt, author and meta. title is required. size picks the canvas for where it will be posted: '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). Write the text yourself from what the user said and their brand; never leave a field blank because they did not dictate it. Leave brand_kit_id out to use the space's default brand. The user can unlock the clean image for 1 credit from the card; you cannot unlock it. Do not call this again to retry. Returns the artifact id.

NameTypeReqDescription
alignstringText and brand alignment. Defaults to the template's layout.
appearancestring
brand_kit_idstringA brand_kit_id from list_brand_kits.
gradientbooleanBrand gradient background (default true); false uses a flat background.
propsobjectText fields for the template, all strings.
saved_template_idstringA saved_template_id from list_templates; its inputs seed the ones you pass.
sizestringWhere 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' 1080x1…
template_idstringyes

No output schema declared.

No examples provided.

generate_pdf ~511

Render one free branded PDF draft in a brand kit and save it to the user's files: any document the user describes, from an invoice or a statement to a one-pager, a proposal, a memo, a case study, an agenda or a report. Drafts are limited to 20 per day. Templates: 'invoice' takes items of description, quantity, unit_price, up to 30 plus props invoice_number, issued_on, due_on, bill_to, currency, tax_rate, notes; 'statement' takes items of description, date, amount, up to 30 plus props account, account_of, period_start, period_end, currency, opening_balance, notes; 'report' takes markdown or blocks plus props subtitle, author, dated; 'letter' takes markdown or blocks plus props recipient, dated, signoff; 'proposal' takes markdown or blocks plus props client, valid_until, prepared_by. A document template renders whatever markdown you give it, so an unfamiliar ask (a press release, a checklist, a brief) is still a report, letter or proposal with the right headings. Line item fields are all strings, and every date is YYYY-MM-DD. Write a document as markdown (headings, lists, tables) or as blocks, never both, and its first heading becomes the title unless you pass a title. Leave brand_kit_id out to use the space's default brand. Returns the artifact id and how many pages it came to. The draft carries a YouSpot watermark until the user unlocks the clean PDF for 1 credit from the card; you cannot unlock it. Do not call this again to retry.

NameTypeReqDescription
blocksarrayThe document body as blocks.
brand_kit_idstringA brand_kit_id from list_brand_kits.
footer_textstringThe footer line. Empty string for no footer; left out it is the brand name.
itemsarrayLine items, in the fields the template names.
markdownstringThe document body as markdown.
pagestringPage size; left out it follows the brand kit.
page_numbersstring
propsobjectText fields for the template, all strings.
saved_template_idstringA saved_template_id from list_templates; its inputs seed the ones you pass.
template_idstringyes
titlestringThe document title. Optional.

No output schema declared.

No examples provided.

generate_substack_post ~224

Draft one Substack post and save it to the user's files, ready to paste into their Substack editor. Nothing is published and nothing is sent. Drafts are limited to 20 per day. Templates: 'post' takes signoff; 'digest' takes intro, signoff. Write the body as markdown (paragraphs, lists, links) or as blocks, never both. The title and subtitle are the post's own headline and standfirst. audience is everyone, paid or founding. The draft carries a YouSpot line until the user unlocks the clean post for 1 credit from the card, and copying is refused until they do. Do not call this again to retry.

NameTypeReqDescription
audiencestring
blocksarrayThe body as blocks.
markdownstringThe body as markdown.
propsobjectText fields for the template, all strings.
subtitlestringThe line under the headline.
template_idstringyes
titlestringyesThe post's headline.

No output schema declared.

No examples provided.

get_artifact ~72

Read one generated image, email or PDF by artifact_id: its template, brand, status and, for the user's own drafts, the inputs it was made from, so an edit can call the generator again with them changed.

NameTypeReqDescription
artifact_idstringyesAn artifact_id from list_artifacts or a generator.

No output schema declared.

No examples provided.

get_brand_kit ~106

Read one brand kit with its colors, fonts, radius and domain, whether it is the space default and whether it still needs the user's review. Returns the logo, extraction source_url and canonical open_url, with an inline view for supported MCP hosts. Use those URLs rather than constructing a link. Call it when the user asks about one brand's details or before editing a kit.

NameTypeReqDescription
brand_kit_idstringyesA brand_kit_id from list_brand_kits.

No output schema declared.

No examples provided.

get_calendar_events ~457

List events from the user's connected Google Calendar, ordered by start time: summary, start/end, location, organizer, attendees and their RSVP status, and a meeting link when there is one. With no time range it returns upcoming events from now. `time_min` and `time_max` are RFC3339 timestamps ('2026-08-19T00:00:00Z'), so 'what's on my calendar tomorrow' is time_min/time_max spanning that day; past ranges work too. `query` free-text matches event titles, descriptions, and attendees. For 'how many meetings…' questions over long ranges (a quarter, a year), set count_only=true; it sweeps the whole range and returns the total plus a per-month breakdown instead of the events themselves, so a 12-month count is one call. By default this reads the primary calendar; to read a named calendar ('my Family calendar'), first get its id from list_google_calendars, then pass calendar_id. If the result says no Google account is connected (or the account lacks calendar access), show the user the message and link them to https://youspot.com/user/integrations/gmail.

NameTypeReqDescription
accountstringEmail address of one connected Google account. Omit to read all connected accounts.
calendar_idstringWhich calendar to read: an id from list_google_calendars. Omit for the primary calendar.
count_onlybooleanReturn 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.
max_resultsintegerMax events to return (default 10, max 250).
querystringFree-text search over events (titles, descriptions, attendees). Omit to list everything in the range.
time_maxstringLatest event start, RFC3339.
time_minstringEarliest event end, RFC3339 ('2026-08-19T00:00:00Z'). Defaults to now when time_max is also omitted.

No output schema declared.

No examples provided.

get_connection_details ~128

Get the full profile for one of the user's LinkedIn connections: work history, education, skills, and their About summary. Use this after search_connections when you need depth on a specific person. Identify them by name, or by linkedin_url for an exact match. A found:false response carries the user's imported-connection count: if no_imported_data is set, nothing was searched, so report the missing import rather than a missing person.

NameTypeReqDescription
linkedin_urlstringExact LinkedIn profile URL, if known.
namestringThe connection's name (full or partial).

No output schema declared.

No examples provided.

get_connections_summary ~65

Overview of the user's imported LinkedIn data: how many connections, invitations and messages they have, when it was last imported, and the companies they know the most people at. Use this for questions about the shape of their network as a whole, or how much data is loaded.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_domain_info ~211

Look up the public registration (WHOIS) record for a website domain: who registered it, which registrar holds it, when it was created and last updated, when it expires, its nameservers, and its registry status codes. Use this ONLY when the user explicitly asks about the domain/WHOIS/DNS itself: 'who owns stripe.com?', 'when does our domain expire?', 'how old is this domain?', 'is this domain registered?'. Never call it for general questions about a company — this is public registrar data about a domain on the internet; it is not the user's own account data, and it says nothing about the company behind the domain. Registrant details are often masked by a privacy service, in which case the registrant fields name the proxy rather than the real owner; say so instead of presenting the proxy as the owner.

NameTypeReqDescription
domainstringyesThe domain to look up, e.g. "hubspot.com". A full URL is accepted and reduced to the domain.

No output schema declared.

No examples provided.

get_domain_keywords ~186

The search keywords a website is buying ads on (paid, PPC, AdWords, Google Ads) and the ones it ranks for organically, with monthly search volume, cost per click, position, landing URL and share of the site's search traffic, plus domain totals: paid keyword count, paid traffic and estimated monthly ad spend, and the organic equivalents. Use this when the user asks what keywords a company is buying or bidding on, what it spends on search ads, what it ranks for, or wants to compare competitors' search strategies. Takes a domain (preferred) or a company name. US search data only.

NameTypeReqDescription
companystringyesThe website domain ("monday.com", preferred) or company name.
kindstringWhich keywords to return. Default paid.
limitintegerKeywords per kind, 1 to 100. Default 20.

No output schema declared.

No examples provided.

get_domain_value ~140

Estimate what a domain name is worth (the /domainvalue appraisal): an estimated market value in dollars with the signals behind it — comparable sales, marketplace listings, an appraisal model, SEO data. Use when the user asks what a domain is worth, whether one is a good buy, or to compare domain values. A fresh appraisal can take up to a minute; repeat lookups within 48 hours are cached and instant. Include the report_url in your reply so the user can open the full report.

NameTypeReqDescription
domainstringyesThe domain to appraise, e.g. "startup.com". A full URL is accepted and reduced to the domain.

No output schema declared.

No examples provided.

get_gmail_message ~112

Fetch one Gmail message by its id from the user's connected mailbox, including the full plain-text body (rare header-only connections get headers and the snippet instead). Use this to read a message found via search_gmail_messages (which returns ids and snippets only), or when a triggering event hands you a Gmail message_id to analyze.

NameTypeReqDescription
accountstringEmail address of the connected mailbox holding the message. Omit to try all connected mailboxes.
message_idstringyesThe Gmail message id.

No output schema declared.

No examples provided.

get_graph_object ~120

Get one object from the user's graph, with the objects connected to it (its edges, e.g. a person's spaces, a note's subject). Identify it by object_id (exact, preferred — search and list return it) or by name. Use this when the user asks about a specific thing in their graph, or to follow a connection you found on another object.

NameTypeReqDescription
namestringThe object's name (full or partial).
object_idstringExact node id (e.g. web_aBc123), if known.

No output schema declared.

No examples provided.

get_hubspot_summary ~104

Overview of the user's synced HubSpot data: which portals they have connected, how many contacts and companies came from each, and when each was last synced. Use this for questions about how much HubSpot data they have, which portals are connected, or whether their data is up to date — and to check they have any data before promising an answer. For questions about the records themselves, use ask_about_hubspot_contacts or ask_about_hubspot_companies.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_integration_connect_url ~81

The URL that starts connecting one integration, for surfaces that cannot render a card (Slack, SMS, email). In chat, show the integrations_list card instead. Never claim to have connected anything: only the user can grant it, in their browser.

NameTypeReqDescription
keystringyesWhich integration, e.g. 'gmail' or 'hubspot'.

No output schema declared.

No examples provided.

get_messages_summary ~62

Overview of the user's imported LinkedIn messages (DMs): how many messages and conversations they have, the date range covered, and how many they sent versus received. Use for 'how many messages do I have?' and questions about the shape of their message history.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_my_bookmarks ~172

The posts the user bookmarked on X (Twitter), newest first — author @handle, text, date, engagement, and link, plus an author_counts rollup of how often each author appears across ALL their bookmarks (use it directly for questions like 'whose posts do I bookmark most?'). Reads the synced archive; bookmarks sync daily for accounts that granted bookmark access. `query` filters bookmark text, `author` narrows to one @handle. If it reports nothing synced, the account may need reconnecting to grant bookmark access; the result carries the link.

NameTypeReqDescription
authorstringOnly bookmarks of posts by this @handle.
limitintegerMax bookmarks to return (default 50, max 200).
querystringCase-insensitive substring to filter bookmark text.

No output schema declared.

No examples provided.

get_my_linkedin_posts ~318

The user's own LinkedIn posts with engagement numbers (reactions, likes, comments, shares): newest first by default, their earliest with sort='oldest', or their best-performing with sort='top'. sort='top' is what answers 'my top 10 posts', 'my best posts' and 'what performed well'. Answer those from here rather than from linkedin_analytics, which needs an OAuth grant this user may not have given. The response always includes total_posts_stored, so this also answers 'how many posts do I have?' and 'what was my first post?'. Use it for questions about their posting activity and performance — 'what did I post last week?', 'what's the average number of likes on my last 5 posts?', 'which recent post got the most comments?'. Compute averages and comparisons from the returned rows. like_count is the thumbs-up reaction alone; total_reaction_count is all reaction types combined. Pages: when has_more is true, call again with offset set to the next_offset from the response to continue through their history.

NameTypeReqDescription
limitintegerHow many posts to return (default 20, max 200).
offsetintegerHow many posts to skip, for paging through more than one call can return (default 0).
sortstring'newest' (default), 'oldest' for the start of their posting history, or 'top' for the most engagement first (total reactions, then comments, then shares).

No output schema declared.

No examples provided.

get_my_plan ~78

The user's current YouSpot plan and credit balance, plus which plan they could move to. Call it before answering anything about pricing, plans, upgrading, credits or limits (brain cap, mailboxes, model). The response names the upgrade_plan value to emit; the card that renders from it does the purchase, so never say a payment happened.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_my_tweets ~142

The user's own tweets, newest first, from their connected X (Twitter) accounts — text, engagement metrics (likes, replies, retweets, impressions), date, and link. Reads the synced archive, so it's fast; a brand-new connection may not have synced yet. `query` filters tweet text. If it reports no account connected, give the user the link it returns.

NameTypeReqDescription
handlestringOne connected @handle to read. Omit to read all connected accounts.
limitintegerMax tweets to return (default 20, max 100).
querystringCase-insensitive substring to filter tweet text.

No output schema declared.

No examples provided.

get_obsidian_note ~178

Read one note from the user's Obsidian vault in full: its markdown, frontmatter, tags, the notes and brain objects its wikilinks point at, and the notes that link back to it. Identify it by object_id (from a search), by vault path ('Projects/Ada.md'), or by title. Use this whenever a search result looks like the answer — the search returns an excerpt, this returns the note. Follow the backlinks when the user asks how something connects to the rest of their thinking.

NameTypeReqDescription
object_idstringExact note id, e.g. note_aBc123.
pathstringVault path ('Meetings/2026-08-20 Ada.md'), filename, or note title.
vault_idstringWhich vault to look in, when several are synced.

No output schema declared.

No examples provided.

Common questions

What is the YouSpot MCP server?

YouSpot is an MCP server listed in the public MCP registry as com.youspot/youspot. Query one person's second brain: contacts, companies, notes, files and connected accounts. This page covers its hosted endpoint (https://youspot.com/mcp/v1).

Is the YouSpot MCP server safe to use?

YouSpot scores 84 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the YouSpot MCP server expose?

YouSpot exposes 106 tools: what_needs_attention, get_my_plan, draft_cloud_agent, research_company, company_signals, and 101 more. Their descriptions and schemas cost roughly 19,132 tokens of context every time the server is loaded.

Does the YouSpot MCP server require authentication?

Yes. YouSpot asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the YouSpot MCP server still maintained?

YouSpot is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.