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

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

Available components

+2 this week 90 Trust /100

Last scanned (3 hours ago)

Scores higher than 98% of remote servers

Reachable. Last reached 5 Nov 2026.

Category Memory and Knowledge

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 29982 tokens (~171/item across 175 items; 171 tools + 4 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 Management98
  • Stability check failed: schema churn in the 30 days we've observed: 3 tool removals, 0 breaking changes, 0 auth/transport breaks, 41 additions. See how to fix → Fail
Tool Coverage97
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 91% of tool parameters carry a description.Partial
Tool Safety50
  • Injection-marker check failed: the description of tool "save_text_file" contains an instruction to conceal the call from the user, the text "Never tell the user", at byte 351 of that field. See how to fix → Fail
  • All 12 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 173 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
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.

  • 3 Nov 26 0
    • New tool “draft_x_reply”, which the server declares destructive security
    • Tool “read_web_page” rewrote its description, which is the text the model reads security
  • 2 Nov 26 +1
    • A breaking change shipped without a version bump: still 1.0.0 ▼ security
    • Tool “generate_og_image” was removed ▼ security
  • 1 Nov 26 −1

    No change was recorded against any check on this day. Stability & Change Management went from 99 to 98.

  • 30 Oct 26 +2
    • A breaking change shipped without a version bump: still 1.0.0 ▼ security
    • Tool “generate_image_background” was removed ▼ security
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “create_calendar_event” 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 “update_calendar_event” rewrote its description, which is the text the model reads security
    • Tool “add_connector” is now declared destructive security
    • Tool “add_slack_reaction” is now declared destructive security
    • Tool “archive_gmail_message” is now declared destructive security
    • Tool “archive_outlook_message” is now declared destructive security
    • Tool “cancel_scheduled_text” is now declared destructive security
    • Tool “check_page_changes” is now declared destructive security
    • Tool “check_person_changes” is now declared destructive security
    • Tool “connect_graph_objects” is now declared destructive security
    • Tool “create_brand_kit” is now declared destructive security
    • Tool “create_calendar_event” is now declared destructive security
    • Tool “create_gmail_draft” is now declared destructive security
    • Tool “create_graph_object” is now declared destructive security
    • Tool “create_outlook_draft” is now declared destructive security
    • Tool “create_tracker” is now declared destructive security
    • Tool “delete_graph_object” is now declared destructive security
    • Tool “delete_graph_objects” is now declared destructive security
    • Tool “delete_selected_graph_objects” is now declared destructive security
    • Tool “disconnect_graph_objects” is now declared destructive security
    • Tool “disconnect_integration” is now declared destructive security
    • Tool “draft_email_in_gmail” is now declared destructive security
    • Tool “draft_slack_message” is now declared destructive security
    • Tool “enrich_graph_object” is now declared destructive security
    • Tool “extract_brand_kit” is now declared destructive security
    • Tool “generate_email” is now declared destructive security
    • Tool “generate_markdown” is now declared destructive security
    • Tool “generate_og_image” is now declared destructive security
    • Tool “generate_pdf” is now declared destructive security
    • Tool “generate_view” is now declared destructive security
    • Tool “import_contacts_from_file” is now declared destructive security
    • Tool “import_substack_subscribers” is now declared destructive security
    • Tool “lookup_substack_subscriber” is now declared destructive security
    • Tool “manage_web_watch” is now declared destructive security
    • Tool “mark_outlook_message” is now declared destructive security
    • Tool “merge_graph_objects” is now declared destructive security
    • Tool “message_agent” is now declared destructive security
    • Tool “purge_graph_object” is now declared destructive security
    • Tool “record_interaction” is now declared destructive security
    • Tool “respond_to_outlook_event” is now declared destructive security
    • Tool “restore_graph_objects” is now declared destructive security
    • Tool “save_as_template” is now declared destructive security
    • Tool “save_file_from_url” is now declared destructive security
    • Tool “save_text_file” is now declared destructive security
    • Tool “send_daily_briefing” is now declared destructive security
    • Tool “send_email” is now declared destructive security
    • Tool “send_outlook_email” is now declared destructive security
    • Tool “send_slack_message” is now declared destructive security
    • Tool “send_text_to_user” is now declared destructive security
    • Tool “set_default_brand_kit” is now declared destructive security
    • Tool “set_follow_up” is now declared destructive security
    • Tool “set_graph_object_fields” is now declared destructive security
    • Tool “set_notification_emails” is now declared destructive security
    • Tool “share_artifact” is now declared destructive security
    • Tool “start_your_day” is now declared destructive security
    • Tool “sync_granola_notes” is now declared destructive security
    • Tool “unmerge_graph_objects” is now declared destructive security
    • Tool “update_brand_kit” is now declared destructive security
    • Tool “update_calendar_event” is now declared destructive security
    • Tool “update_my_profile” is now declared destructive security
    • Tool “update_profile_fields” is now declared destructive security
    • Tool “update_view” is now declared destructive security
    • Tool “watch_web” is now declared destructive security
    • The server now declares the “prompts” capability functional
    • Destructive annotations: All 12 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation. functional
    • New prompt “get_started” functional
    • New tool “get_onboarding” functional
  • 24 Oct 26 0
    • Tool “get_graph_object” 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
  • 23 Oct 26 0
    • Tool “create_calendar_event” rewrote its description, which is the text the model reads security
    • “read_my_newsletters” reworded the description of “days” cosmetic
  • 22 Oct 26 0
    • Tool “create_calendar_event” rewrote its description, which is the text the model reads security
    • “create_calendar_event” added an optional parameter “attendees” cosmetic
  • 20 Oct 26 0
    • Tool “what_your_day_did” rewrote its description, which is the text the model reads security
    • New tool “get_substack_reading” functional
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 5 Nov 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 13 Oct 2026 11 Jan 2027 ECDSA 256 ECDSA-SHA256 59bfb96fe1a8adf80e8675df36106b65
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=(self), 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 · 171 exposed · ~29,637 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
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.
kindstring–Which keywords to return. Default paid.
limitinteger–Keywords 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
accountstring–Email 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_granola_note ~126

One Granola meeting in full: the summary Granola wrote (Markdown), who attended, when, the space, a link to Granola, and the start of the transcript. `note` is an object id from get_granola_notes, a Granola note id, or a title. Pass `transcript` true for the transcript rather than the summary when the user asks what exactly was said.

NameTypeReqDescription
notestringyesObject id, Granola id, or title of the meeting.
transcriptboolean–Return the transcript instead of the summary.

No output schema declared.

No examples provided.

get_granola_notes ~185

The user's Granola meeting notes already synced into their brain, newest first: title, when the meeting was, who attended, the space, and a link. `days` bounds how far back (default 30); `query` keeps notes whose title, summary or attendees mention a word or name; `attendee` keeps meetings with that person. Fast, no Granola call. Follow up with get_granola_note for the summary and transcript of one meeting.

NameTypeReqDescription
attendeestring–Only meetings this person attended (name or email fragment).
daysinteger–Meetings in the last N days (default 30). 0 for all time.
limitinteger–Max notes (default 10, max 50).
querystring–A word, phrase or name to look for in title, summary or attendees.

No output schema declared.

No examples provided.

get_granola_status ~67

Whether Granola is connected and how the sync is doing: the account, the shared spaces the key can see, when it last synced, and how many notes are in the brain. Use it when a user asks why a meeting is missing or whether Granola is set up.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_graph_object ~171

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 and 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. Returns {found, object, fields, editable_fields, connected_objects, connected_total}: the record's name, description and object_id sit under object. When nothing matches, found is false with searched_for, and with matches when a name fits several objects.

NameTypeReqDescription
namestring–The object's name (full or partial).
object_idstring–Exact node id (e.g. web_aBc123), if known.

No output schema declared.

No examples provided.

get_hubspot_activity ~133

Read recorded notes, emails, calls, meetings, and tasks in the user's connected HubSpot portal. Use this for follow-ups, explicit next steps, and supporting activity. Select one portal when several are connected. Defaults to a bounded 30-day window; use contact_id to check later activity for a specific person. Cite the returned record URLs. Partial history or missing activity does not establish an unresolved request or an overdue task.

NameTypeReqDescription
contact_idstring––
daysinteger––
kindstring––
limitinteger––
portal_idinteger––

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_linkedin_conversation ~161

Read the user's LinkedIn message history (DMs) with one person, from their imported LinkedIn export: every conversation that person is in, oldest first, with who sent each message and its full text. Use for 'what did I message Sander?', 'did she ever reply?', 'show me my LinkedIn thread with Tom' and before drafting a follow-up to someone the user has messaged. Pass a name or a LinkedIn profile URL. If the name matches several people it returns candidates to choose from.

NameTypeReqDescription
limitinteger–How many of the most recent messages to return (default 60, max 150).
personstringyesThe person's name as it appears on LinkedIn, or their profile URL.

No output schema declared.

No examples provided.

get_linkedin_post_comments ~204

Every comment on one LinkedIn post, fetched live: who commented (name, headline, profile_url, and followers, their LinkedIn follower count or null when unknown), what they said, and the replies under each comment. Works for any public post, not only the user's own. Use when they paste a LinkedIn post link and ask what people are saying, for a summary of the comments, or who commented. Pass the link exactly as given; feed/update links, share links and bare activity ids all work. When summarizing, cover the main themes, the overall sentiment, points of disagreement, and any notable commenters. If truncated is true, only the first comment_count comments were read, so say the summary covers those. In chat the comments also show as a sortable table under your reply, so never list them all out.

NameTypeReqDescription
poststringyesThe LinkedIn post URL, urn:li:activity URN, or numeric activity id.

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 ~174

The posts the user bookmarked on X (Twitter), newest first: author @handle and avatar, 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
authorstring–Only bookmarks of posts by this @handle.
limitinteger–Max bookmarks to return (default 50, max 200).
querystring–Case-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
limitinteger–How many posts to return (default 20, max 200).
offsetinteger–How 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 ~92

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, watched pages: Free 3 checked weekly, Solo and Pro unlimited). 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_substack_voice ~60

How the user writes, with their best-liked Substack posts in full as samples and the posts that drew the most likes and comments. Call it before drafting a Substack post or Note for them, or when they ask what to write next.

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
handlestring–One connected @handle to read. Omit to read all connected accounts.
limitinteger–Max tweets to return (default 20, max 100).
querystring–Case-insensitive substring to filter tweet text.

No output schema declared.

No examples provided.

get_object_card ~34

One brain object by id, for a view drawing an object_card.

NameTypeReqDescription
object_idstringyesExact node id.

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_idstring–Exact note id, e.g. note_aBc123.
pathstring–Vault path ('Meetings/2026-08-20 Ada.md'), filename, or note title.
vault_idstring–Which vault to look in, when several are synced.

No output schema declared.

No examples provided.

get_onboarding ~120

Where this person's YouSpot setup stands, for setting them up in this conversation when they ask to get set up or get started with YouSpot. Returns what YouSpot already knows about them (`known`, correctable with update_my_profile), the profile questions still open in priority order (`missing_profile_fields`, each saved with update_profile_fields), the best next accounts to connect with their payoff and link (`suggested_connections`; connecting happens in the browser), and whether a daily brief can be turned on with start_your_day (`can_start_your_day`).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_outlook_message ~92

Fetch one Outlook message by its id, including the plain-text body and a web_link that opens it in Outlook. Use it to read a message found with search_outlook_messages, or when a triggering event hands you an Outlook message_id.

NameTypeReqDescription
accountstring–Email address of one connected Outlook mailbox. Omit to use every connected mailbox.
message_idstringyesThe Outlook message id.

No output schema declared.

No examples provided.

get_person_card ~45

The relationship card for one person, for a view drawing a person_card.

NameTypeReqDescription
emailstring–Their email address.
object_idstring–Exact node id.

No output schema declared.

No examples provided.

get_slack_thread ~99

The saved messages of one Slack thread, oldest first: the parent and every reply the brain holds. Only threads from channels the user switched on are stored; an empty result means the thread was not captured, and the fix is enabling that channel on the Slack integrations page.

NameTypeReqDescription
channel_idstringyesThe channel id (C…/D…).
thread_tsstringyesThe thread's parent ts (from a search result).

No output schema declared.

No examples provided.

get_substack_comments ~92

Recent comments on the user's free Substack posts, newest first, with the post each is on. People the user already knows come with their object_id; everyone else is a name and a Substack handle. known_only keeps just the people they know.

NameTypeReqDescription
known_onlyboolean–Only commenters already in the Brain.
limitinteger–Max comments (default 20, max 100).

No output schema declared.

No examples provided.

get_substack_post_stats ~86

Fresh stats for one Substack post, read from Substack right now and stored on the post: opens, clicks, views, recipients, new free and paid subscribers, estimated revenue. `url_slug` is the part of the post URL after /p/; get_substack_posts lists them.

NameTypeReqDescription
url_slugstringyesThe post slug, from its URL.

No output schema declared.

No examples provided.

get_substack_posts ~164

The user's Substack posts with likes, comments, restacks and word count, plus opens, clicks, views, recipients and the free and paid subscribers the post brought when a Publisher API key is connected. Newest first, from the last sync. `query` filters titles, `since` (YYYY-MM-DD) drops older posts, `type` narrows to newsletter, podcast or thread. If it reports nothing synced, give the user the link it returns rather than guessing.

NameTypeReqDescription
limitinteger–Max posts (default 10, max 25).
querystring–Case-insensitive text to match in titles.
sincestring–Only posts published on or after this date.
typestring–One post type.

No output schema declared.

No examples provided.

get_substack_reading ~119

Recent free posts from the Substack publications the user reads, newest first, each with its writer, publication and text. `writer` matches a writer or publication name, `query` matches titles. Paid issues and publications the user gets by email are saved as newsletters, so read those with read_my_newsletters.

NameTypeReqDescription
limitinteger–Max posts (default 5, max 10).
querystring–Case-insensitive text to match in titles.
writerstring–Writer or publication name to match.

No output schema declared.

No examples provided.

get_substack_subscriber_counts ~90

How the user's Substack publication is growing: daily subscriber totals by plan over the last 7, 30, 90 or 365 days, with the change over the window. Reads the last sync. Use it for 'how many subscribers', 'how is my Substack growing' and 'paid subscribers this month'.

NameTypeReqDescription
daysinteger–The window, default 30.

No output schema declared.

No examples provided.

get_substack_subscribers ~179

The user's Substack subscribers, as the contacts they were imported into: name, email, plan (free, paid, founding, comp, gift), status (active, inactive, lapsed) and when they subscribed. Reads the last import, so it is fast. `status` defaults to active; pass 'lapsed' for who dropped off the latest export, or 'any'. `plan` narrows to one plan. If it reports nothing imported, give the user the link it returns rather than guessing.

NameTypeReqDescription
limitinteger–Max rows (default 25, max 100).
planstring–Only subscribers on this plan.
publicationstring–The publication subdomain, when more than one is imported.
statusstring–active (default), inactive, lapsed or any.

No output schema declared.

No examples provided.

get_twitter_following ~152

Accounts the user follows on X (Twitter), from the synced follow graph — name, @handle, and bio. `query` filters by name, handle, or bio text ('who do I follow in AI?'). Reads the last sync, so a just-followed account may be missing; total_followed is the synced total. If it reports no account connected, give the user the link it returns.

NameTypeReqDescription
handlestring–One connected @handle whose follows to read. Omit for all connected accounts.
limitinteger–Max accounts to return (default 50, max 200).
querystring–Case-insensitive filter on name, handle, or bio.

No output schema declared.

No examples provided.

get_twitter_profile ~77

Live profile stats for the user's connected X (Twitter) accounts — name, @handle, follower count, following count, and total tweets, fresh from the X API. If it reports no account connected, give the user the link it returns.

NameTypeReqDescription
handlestring–One connected @handle. Omit for all connected accounts.

No output schema declared.

No examples provided.

get_web_watches ~279

Read this person's web watches and what they found. No arguments: every page and topic watch with what it watches, how often, its status and when it last checked and last found something. monitor_key alone: that watch and its ten latest changes. changes: true: the change and finding history, newest first, narrowed by monitor_key, domain (e.g. 'acme.com', every watched page there), since (YYYY-MM-DD), kind and limit; use it for 'what changed on competitor sites this week'. Topic findings carry their date, text and sources. change_id: one change in full, with its line diff (- removed, + added) or the fields' before and after values.

NameTypeReqDescription
change_idinteger–One change or finding to read in full.
changesboolean–true lists changes and findings instead of watches.
domainstring–History only: a site's domain, e.g. 'acme.com'.
kindstring–History only: page changes or topic findings.
limitinteger–History only: how many (default 20, max 50).
monitor_keystring–The watch key, pmon_..., from get_web_watches.
sincestring–History only: on or after this date, YYYY-MM-DD.

No output schema declared.

No examples provided.

import_contacts_from_file ~208

Import every contact or company from a file the user uploaded — a CSV or spreadsheet export, a .vcf of contacts, or a zip. Use this whenever they want more than a couple of records created from a file: it reads the whole file at once, so never read a contact list with read_file and create the records one at a time. Find the file first with search_graph_objects (type 'file') and pass its object_id, or pass part of the filename as name. Pass a description of what the file holds when the user gave one — it is what tells the column mapper that 'Ref' is a phone number.

NameTypeReqDescription
descriptionstring–The user's own description of what the file holds.
namestring–Part of the filename, when the object_id is unknown.
object_idstring–The file's graph object_id (from search_graph_objects).
target_typestring–What each row is. Defaults to contact.

No output schema declared.

No examples provided.

import_substack_subscribers ~154

Import a Substack subscriber export the user uploaded (the CSV from their publication's Subscribers page). Every row becomes or matches a contact tagged 'Substack subscriber' with plan and status. Find the file with search_graph_objects (type 'file') and pass its object_id, or part of the filename as name. `publication` is the publication's subdomain (the part before .substack.com); ask if you do not know it.

NameTypeReqDescription
namestring–Part of the filename, when the object_id is unknown.
object_idstring–The file's graph object_id (from search_graph_objects).
publicationstringyesThe publication subdomain, e.g. differentialfactor.

No output schema declared.

No examples provided.

job_changes ~194

People in the user's network who have moved to a different company since we last looked, newest first, with where they were and where they are now. Use when they ask who has changed jobs, who has moved recently, whether anything has changed at their contacts, or who is worth congratulating. Also the read behind a scheduled watcher: on a run with nothing new it says so and there is nothing to report. Reports a change of employer only, so a rewritten job title at the same company does not appear. NOT a list of who to contact, NOT the history with one person, NOT news about a company.

NameTypeReqDescription
daysinteger–Only moves noticed in the last N days. Default 90. Use 1 for a daily watcher.
limitinteger–Max people (default 20, max 100).
refreshboolean–Check the profiles for new moves before reading. Default true.

No output schema declared.

No examples provided.

linkedin_analytics ~222

The user's LinkedIn post analytics from LinkedIn's own API (their connected account) — impressions, unique members reached, reactions, comments, and reshares. Use for questions like 'how many impressions did I get last month?' or 'how are my posts performing?'. Omit dates for lifetime totals; pass start_date/end_date for a window; set daily=true (with one specific metric) for a per-day series to describe trends. Numbers are live from LinkedIn, unlike get_my_linkedin_posts whose per-post counts come from a periodic sync.

NameTypeReqDescription
dailyboolean–Per-day time series instead of one total. Requires start_date and a specific metric (not 'all').
end_datestring–Window end, YYYY-MM-DD (defaults to today).
metricstring–Which metric ('all' fetches every metric — the default). LinkedIn's API takes one metric per call, so 'all' costs five calls.
start_datestring–Window start, YYYY-MM-DD. Omit for lifetime.

No output schema declared.

No examples provided.

linkedin_follower_history ~140

The user's own LinkedIn follower count over time, from readings we record about twice a day. Use it for every follower question: 'how many followers do I have?', 'how many did I gain this week?', 'how has my follower count changed since June?'. Returns the latest count, the count at the start of the window, the change, and a series with one point per day (per week for windows over 90 days). linkedin_analytics has no follower metric, so never say follower growth is unavailable without calling this first.

NameTypeReqDescription
daysinteger–How many days back to look (default 30, max 730).

No output schema declared.

No examples provided.

list_artifacts ~94

List the images, emails, PDFs and documents generated in the user's active space, newest first, up to 50: the artifact_id, kind, title, status and brand, plus an image_url for images and PDFs. A document or email has no picture. kind narrows it to one kind. Call it when the user asks what they have generated or refers to an earlier one.

NameTypeReqDescription
kindstring––

No output schema declared.

No examples provided.

list_brand_kits ~128

List the brand kits in the user's active space: the name, domain, primary color, whether it was extracted from a website or entered by hand, whether it still needs their review, and which one artifacts render in when no kit is named. Call this before generating a social image, email or PDF for a brand other than the default, and when the user asks which brands they have set up. Returns fallback_if_omitted, which says what a generator uses when brand_kit_id is left out: the space default, the oldest kit, or the built-in YouSpot kit.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_connectors ~166

List connectors, the outside services whose tools join this chat over MCP, such as Notion, GitHub, Stripe, Linear, Figma, Calendly or Zapier. Returns the ones the user added with their status, and the directory of ones they can add, each with `steps` to connect it and a `page_url`. Call it when someone asks about a service list_integrations does not have, or what tools they could add. Pass `query` to narrow by name or purpose. To start connecting one, call add_connector. A service that is in neither list can still be added by its MCP server URL on `custom_server_url`.

NameTypeReqDescription
querystring–A name or what it is for, e.g. 'notion' or 'payments'.

No output schema declared.

No examples provided.

list_duplicate_suggestions ~109

List pairs of contacts in the user's graph that look like the same person, as found by the duplicate scan. status 'to_review' (default) is the pairs nobody has answered yet; 'linked' is the pairs the user said are the same person, each marked merged or not. Read-only. To merge a linked pair, call merge_graph_objects with preview=true first, then let the user confirm.

NameTypeReqDescription
statusstring–'to_review' (default) or 'linked'.

No output schema declared.

No examples provided.

list_gmail_labels ~79

List the labels in the user's connected Gmail mailboxes: system labels (INBOX, STARRED, ...) and the user's own labels, with their ids. Use it when the user refers to one of their labels by name.

NameTypeReqDescription
accountstring–Email address of one connected mailbox. Omit to list labels for all connected mailboxes.

No output schema declared.

No examples provided.

list_google_calendars ~113

List the calendars in the user's connected Google account(s): name, id, whether it's the primary, and the user's access role. Use it to find a named calendar ('Family', 'Content schedule') before reading its events with get_calendar_events(calendar_id=…). If it says the account needs reconnecting, link the user to https://youspot.com/user/integrations/gmail.

NameTypeReqDescription
accountstring–Email address of one connected Google account. Omit to list calendars for all connected accounts.

No output schema declared.

No examples provided.

list_graph_objects ~194

List objects in the user's graph, newest first, with counts by type. The graph is their personal CRM's object store: person, company, hubspot_contact, linkedin_connection, file, fact, web_link, note, connected spaces, and more. Filter by type to browse one kind ('what files do I have?', 'list my facts'), or omit it to see what the graph holds overall. Use type 'twitter_contact' for saved reciprocal X follows; a twitter_profile alone is public identity and does not establish a mutual follow. Page with offset to read past the newest results. For finding something by name, prefer search_graph_objects.

NameTypeReqDescription
limitinteger–Max results (default 20, max 50).
offsetinteger–Skip this many results, for paging past the newest.
typestring–Only objects of this type (e.g. 'fact', 'web_link').

No output schema declared.

No examples provided.

list_integrations ~272

What the user has connected, and what they could connect. Returns every integration available to this account with `connected` true/false, the accounts behind it, the tools it unlocks, and the URL to connect or manage it. Call this BEFORE telling anyone to connect anything, and before saying a source is unavailable: guessing is how the assistant has told people to connect accounts they already had. An integration missing from the list is not offered to this user at all, so do not suggest it. `suggested` is what is worth connecting next, best first, each with the payoff in the user's terms: use it when asked what would help, and lead with the first one rather than listing the shelf. Connecting is a browser grant: hand the user the URL, never claim to have done it. Each row's `steps` is how to connect it: when someone asks how, walk them through those steps and link `url`, which is that integration's page. Services that are not native integrations (Notion, GitHub, Stripe, Linear and dozens more) are connectors: call list_connectors.

NameTypeReqDescription
keystring–Ask about one integration only, e.g. 'linkedin', 'gmail', 'hubspot', 'slack', 'twitter', 'obsidian', 'sms'.

No output schema declared.

No examples provided.

list_obsidian_notes ~148

Browse the user's synced Obsidian notes without a search term — most recently changed first, optionally within one vault, one folder, or one tag. Use it to answer what a folder holds, what they have written lately, or to show them what came across. When they are looking for a specific thing, search_obsidian_notes is the better tool.

NameTypeReqDescription
folderstring–Only notes under this vault folder, e.g. 'Daily'.
limitinteger–Max results (default 15, max 50).
tagstring–Only notes carrying this tag.
vault_idstring–Only this vault (from list_obsidian_vaults).

No output schema declared.

No examples provided.

list_obsidian_vaults ~101

List the Obsidian vaults the user has synced into their Second Brain: note counts, the folders each vault holds, its most-used tags, and when it last synced. Call this before answering anything about their Obsidian setup — whether a vault is connected, how much of it is here, what it contains at the top level — rather than assuming either way. Returns an empty list with setup instructions when no vault is synced yet.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_outlook_calendars ~85

List the calendars in the user's connected Outlook mailboxes: name, id, whether it is the default, and whether the user can add events. Use it to find a named calendar before reading it with get_calendar_events(calendar_id=..., account=...).

NameTypeReqDescription
accountstring–Email address of one connected Outlook mailbox. Omit to use every connected mailbox.

No output schema declared.

No examples provided.

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'
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 90 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 171 tools: read_web_page, web_search, check_page_changes, extract_web_page, what_needs_attention, and 166 more. Their descriptions and schemas cost roughly 29,637 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 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.