Agent Onboarding

Agent Onboarding

Everything your AI agent needs to start using HumanConnection. This page covers setup, integration options, and quick-start code for autonomous agents.

Integration paths

There are three ways to give your AI agent access to HumanConnection tools.

1. MCP Server

The fastest way to integrate. The HumanConnection MCP server exposes all tools via Streamable HTTP.

https://mcp.humanconnection.sh/mcp

Claude Desktop

Add to your claude_desktop_config.json:

1{
2 "mcpServers": {
3 "humanconnection": {
4 "type": "streamable-http",
5 "url": "https://mcp.humanconnection.sh/mcp"
6 }
7 }
8}

Cursor

Add to your .cursor/mcp.json:

1{
2 "mcpServers": {
3 "humanconnection": {
4 "type": "streamable-http",
5 "url": "https://mcp.humanconnection.sh/mcp"
6 }
7 }
8}

Windsurf

Add to your ~/.codeium/windsurf/mcp_config.json:

1{
2 "mcpServers": {
3 "humanconnection": {
4 "type": "streamable-http",
5 "url": "https://mcp.humanconnection.sh/mcp"
6 }
7 }
8}

Available MCP tools

ToolDescriptionStatus
search_humansSearch for a person by name or find people by location and title filtersLive
search_interestsSearch a person’s recent social activity for interests and conversation startersLive
search_eventsSearch for upcoming events by location and categoryLive
search_placesSearch for restaurants, cafes, golf, tennis/padel, galleries, museums, stadiums, barsLive
search_ticketsFind where to buy tickets for eventsLive
book_ticketRegister for an event via browser automationLive
send_meeting_inviteSend Google Calendar invite to all participantsPlanned
send_meeting_reportSubmit the post-meeting report and transcriptPlanned
send_meeting_paymentIssue a reward payment to a humanPlanned

2. Skills

Install HumanConnection as a skill for your AI coding assistant.

Claude Code

$npx skills add humanconnection/skills --skill humanconnection --agent claude-code

Cursor / Codex

$npx skills add humanconnection/skills --skill humanconnection --agent cursor

Via ClawHub

$npx clawhub@latest install humanconnection

Skills are compatible with Claude Code, Cursor, Codex, and OpenClaw.

3. Direct Toolkit

Install the toolkit directly and call functions from your code:

$npm install @humanconnection/toolkit
1import { search_humans, search_interests } from '@humanconnection/toolkit';
2
3const results = await search_humans({
4 name: "Brian Chesky",
5 company_name: "Airbnb"
6});
7
8// Discover interests for meeting personalization
9const interests = await search_interests({
10 name: "Brian Chesky",
11 linkedin_url: results[0].profiles.linkedin_profile_url,
12 x_url: results[0].profiles.x_profile_url
13});

4. Documentation

Point your agent at the HumanConnection docs for context.

FormatURLDescription
Structured indexhumanconnection.sh/llms.txtPage titles and descriptions
Full docshumanconnection.sh/llms-full.txtAll documentation concatenated
Individual pageshumanconnection.sh/{path}.mdAny page as raw markdown

Add to your agent’s system prompt:

For HumanConnection tool usage, refer to: https://humanconnection.sh/llms.txt

Quick start code

Search for a person

1import { search_humans } from '@humanconnection/toolkit';
2
3// Find a person by name and company
4const results = await search_humans({
5 name: "Sara Blakely",
6 company_name: "Spanx",
7 location: "Atlanta"
8});
9
10for (const human of results) {
11 console.log(`${human.name} (confidence: ${human.confidence})`);
12 console.log(` Bio: ${human.bio}`);
13 console.log(` Location: ${human.location}`);
14 if (human.email) {
15 console.log(` Email: ${human.email}`);
16 }
17 if (human.profiles.linkedin_profile_url) {
18 console.log(` LinkedIn: ${human.profiles.linkedin_profile_url}`);
19 }
20 if (human.profiles.x_profile_url) {
21 console.log(` X: ${human.profiles.x_profile_url}`);
22 }
23 if (human.profiles.instagram_profile_url) {
24 console.log(` Instagram: ${human.profiles.instagram_profile_url}`);
25 }
26 if (human.profiles.tiktok_profile_url) {
27 console.log(` TikTok: ${human.profiles.tiktok_profile_url}`);
28 }
29}

End-to-end sales workflow

The full workflow uses all the key tools together:

1import { search_humans, search_interests, search_events, send_meeting_invite } from '@humanconnection/toolkit';
2
3// 1. Find the lead using their company domain
4const humans = await search_humans({
5 name: "Sara Blakely",
6 company_domain: "spanx.com"
7});
8const lead = humans[0];
9
10// 2. Discover their interests for personalization
11const interests = await search_interests({
12 name: "Sara Blakely",
13 linkedin_url: lead.profiles.linkedin_profile_url,
14 x_url: lead.profiles.x_profile_url,
15 instagram_url: lead.profiles.instagram_profile_url
16});
17
18// 3. Find events nearby matching their interests
19const events = await search_events({
20 location: { city: "Atlanta" },
21 category: "entrepreneurship",
22 radius_km: 50
23});
24
25// 4. Find a sales rep in the area
26const reps = await search_humans({
27 location: "Atlanta",
28 title_filters: "sales AND retail",
29 provide_email: true
30});
31
32// 5. Send calendar invite — the invite is the booking
33await send_meeting_invite({
34 title: "Coffee at " + events.data[0].name,
35 attendee_emails: [reps[0].email, "sara@spanx.com"],
36 scheduled_at: "2026-05-12T14:00:00Z",
37 duration_minutes: 30,
38 location: events.data[0].location.name,
39 description: "Discuss retail analytics platform. Sara is interested in " + interests.signals[0]?.signal
40});

Tool parameters reference

search_humans (Live)

Two modes of operation:

Person lookup mode (search for a specific person):

ParameterTypeRequiredDescription
namestringYesFull name of the person to search for
company_namestringNoCompany name to help identify the right person (e.g. “Airbnb”)
company_domainstringNoCompany domain for precise matching (e.g. “airbnb.com”)
locationstringNoLocation to narrow results (e.g. “San Francisco”)
provide_emailbooleanNoSet to true to include the person’s email in results

People search mode (find professionals matching criteria):

ParameterTypeRequiredDescription
locationstringYesLocation to search in (e.g. “Austin”, “New York”)
title_filtersstringYesBoolean filter for job titles (e.g. "sales AND SaaS", "engineer OR developer NOT intern")
provide_emailbooleanNoSet to true to include email addresses in results

Validation: provide either name OR (location + title_filters), not both.

search_interests (Live)

ParameterTypeRequiredDescription
namestringYesFull name of the person
linkedin_urlstringNoLinkedIn profile URL for activity scanning
x_urlstringNoX/Twitter profile URL for recent tweets
instagram_urlstringNoInstagram profile URL for recent posts

search_events (Live)

ParameterTypeRequiredDescription
locationobjectYesLocation as { lat, lng } or { city }
radius_kmnumberNoSearch radius in kilometers (default 25)
categorystringNoEvent category (e.g. “conference”, “meetup”)
date_afterstringNoISO 8601 datetime filter
date_beforestringNoISO 8601 datetime filter

send_meeting_invite (Planned)

ParameterTypeRequiredDescription
titlestringYesCalendar event title
attendee_emailsstring[]YesEmail addresses of all participants
scheduled_atstringYesISO 8601 datetime for the meeting start
duration_minutesnumberNoDuration in minutes (default 30)
locationstringNoMeeting location (venue name and/or address)
descriptionstringNoCalendar event description (agenda, talking points)

Next steps