Tool Reference
Every tool the Halyard MCP server exposes, grouped by job. Parameters list required/optional and default/enum. Enum-valued parameters link to Enums & filters. All calls run as the authorized user, scoped to their organization — see MCP server.
Identity
Section titled “Identity”| Tool | Purpose | Parameters | Returns |
|---|---|---|---|
whoami | Identify the current user, org, and connections. | (none) | user (id, email, name, accessRole, roles, isAdmin), organization (id, name, slug, billingPlan, memberCount), connections (channels, integrations, linked_accounts), authenticated_via |
find_organizations | Find organizations / companies by name. | query (opt) | matching organizations |
get_user_profile | Read a teammate’s profile and recent activity. | user_id (opt — defaults to caller), since (opt — since) | profile entry, recent activity |
update_user_profile | Update the caller’s profile entry. | content (req), sections (opt) | updated profile |
whoami takes no arguments — it reads identity from the bearer token. Call it first when an agent needs to orient before filtering by me or saving work.
Experts & conversations
Section titled “Experts & conversations”| Tool | Purpose | Parameters | Returns |
|---|---|---|---|
ask_expert | Ask a human expert; auto-answers from the knowledge base first, routes to a human on a miss. | prompt (req), role (opt — role), skill (opt — skill), force_human (opt), options (opt — {label, value} response choices), conversation_id (opt) | discriminated union: resolved-from-KB answer, or human conversation (conversation_id, status) |
list_team | List experts with roles, skills, and availability. | role (opt — role), skill (opt — skill), available_only (opt) | members (id, name, roles, skills, availability), match_type |
check_response | Check whether an expert replied; can block briefly. | conversation_id (req), wait (opt — blocks ≤55s) | reply if any, status |
reply_to_expert | Send a follow-up in an open conversation. | conversation_id (req), message (req) | updated conversation |
get_conversation | Read the full conversation history. | conversation_id (req) | messages, status, participants |
close_conversation | Close a conversation without saving knowledge. | conversation_id (req) | closed conversation |
summarize_conversation | Save a useful expert answer as a knowledge entry. | conversation_id (req), question (req), answer (req), source_url (opt), source_provider (opt) | created knowledge entry (enters INBOX) |
Search the knowledge base before calling ask_expert. Both ask_expert (wait) and check_response (wait) block at most 55s — see MCP server limits.
Knowledge
Section titled “Knowledge”| Tool | Purpose | Parameters | Returns |
|---|---|---|---|
search_knowledge | Semantic/keyword search over written knowledge. | query (req), type (opt — entry type), author (opt — author), since (opt — since), limit (opt, default 5), threshold (opt, default 0.55), mode (opt — search mode, default hybrid), target_type (opt), target_value (opt) | entries (id, entry_type, title, content, tags, author, similarity, relation_count, is_superseded), caller_profile |
list_knowledge | Browse a chronological mix of knowledge entries and work events. | type (opt — entry type), eventType (opt — work-event type), repo (opt), kind (opt), author (opt — author), since (opt — since), until (opt), limit (opt, default 10), offset (opt), include_content (opt, default false) | items (mixed kind:"knowledge" / kind:"event"), totals |
explore_knowledge | Traverse the relation graph around one entry. | entry_id (req), depth (opt, default 1), types (opt — relation type), format (opt, default list), include_content (opt) | related entries, relations |
summarize_work | Save completed work, a decision, or a process learning as knowledge. | title (req), summary (req), entry_type (opt — entry type, default WORK_OUTPUT), tags (opt), session_id (opt), source_url (opt), source_provider (opt), source_knowledge_entry_id (opt), knowledge_entry_id (opt), supersedes_entry_id (opt) | created entry (enters INBOX) |
attach_artifact | Attach a rendered artifact to a knowledge entry. | knowledge_entry_id (req), format (req — HTML | CSV), content (req) | updated entry |
Use search_knowledge for “what do we know?” and list_knowledge for “what changed recently?”. Work events are not semantically searchable — see Knowledge vs work events.
Triage
Section titled “Triage”All triage tools key on triage_id. AI-generated entries land in the inbox with a 24h review window — see The inbox.
| Tool | Purpose | Parameters | Returns |
|---|---|---|---|
list_triage | List captured candidate knowledge awaiting review. | filter (opt — all | mine | overdue), limit (opt, default 20), offset (opt), include_content (opt) | entries (id, entry_type, title, tags, author, source_provider, review_due_at), total |
get_triage_item | Inspect one triage item. | triage_id (req) | full triage item |
suggest_triage_edits | Ask Halyard to propose cleanup edits. | triage_id (req), instruction (req) | suggested edits (each with message_id) |
apply_triage_suggestion | Apply a proposed edit. | triage_id (req), message_id (req) | updated item |
accept_triage | Accept a triage item into knowledge. | triage_id (req), reason (opt), title (opt), content (opt), entry_type (opt — entry type), tags (opt) | filed knowledge entry |
dismiss_triage | Dismiss an item, preserving audit history. | triage_id (req), reason (opt) | dismissed item |
delete_triage_item | Delete junk that should not remain. | triage_id (req) | deletion result |
Non-admins see only their own triage; admins see the org queue.
Activity
Section titled “Activity”| Tool | Purpose | Parameters | Returns |
|---|---|---|---|
list_events | Browse raw work events (PRs, reviews, tasks, tickets, meetings). | eventType (opt — work-event type), author (opt — author), repo (opt), since (opt — since), until (opt), limit (opt, default 20), offset (opt) | events (id, event_type, subject_key, source_url, source_provider, actor, occurred_at, metadata), total |
get_delivery_metrics | Read PR delivery dashboard metrics. Admin-only. | month (opt) | delivery metrics |
Use events for activity questions. Do not expect semantic search results from raw event history.
People
Section titled “People”| Tool | Purpose | Parameters | Returns |
|---|---|---|---|
search_people | Search known people and contacts. | query (req), limit (opt, default 10) | matching people |
upsert_person | Create or update a person record. | email (req), displayName (opt), firstName (opt), lastName (opt), title (opt), companyName (opt), tags (opt), linkedinUrl (opt), phone (opt), timezone (opt) | person (CONTACT entry) |
find_person_by_email | Look up a person by email. | email (req) | matched person or none |
Companies
Section titled “Companies”| Tool | Purpose | Parameters | Returns |
|---|---|---|---|
upsert_company | Create or update a company record. | name (req), domain (opt), logoUrl (opt), notes (opt) | company (COMPANY entry) |
- Enums & filters — every enum value and shared filter.
- MCP server — transport, OAuth, and blocking limits.