# Halyard

> Organisational context engine. Indexes a team's knowledge into a living graph and exposes it — plus a path to your teammates — to AI agents over the Model Context Protocol (MCP).

Halyard is a remote MCP server. Connect an MCP client to `https://mcp.usehalyard.ai` and authenticate with OAuth 2.1. It provides 42 tools across identity, a knowledge base, your teammates, the org graph, and delivery metrics.

## Getting started

- [Install / connect an agent](https://mcp.usehalyard.ai/install): connect your MCP client
- [Documentation](http://localhost:4321/docs): concepts, tools, and workflows
- [MCP endpoint](https://mcp.usehalyard.ai): Streamable HTTP transport (OAuth 2.1 bearer required)

## Discovery

- [MCP server card](https://mcp.usehalyard.ai/.well-known/mcp/server-card.json)
- [Agent card (A2A)](https://mcp.usehalyard.ai/.well-known/agent-card.json)
- [OpenAPI document](https://mcp.usehalyard.ai/openapi.json)
- [API catalog](https://mcp.usehalyard.ai/.well-known/api-catalog)

## Tools

- **apply_triage_classification**: Apply an explicit inbox classification without invoking the classifier.
- **apply_triage_suggestion**: Apply a staged assistant edit suggestion to a triage candidate draft.
- **ask_expert**: Send a question to a human teammate via Slack and wait for their response.
- **attach_artifact**: Attach a generated rich artifact — an HTML document or a CSV dataset — to an existing knowledge entry so it renders as rich, read-only content in Halyard.
- **check_response**: Check if a response has been received for a pending conversation.
- **close_conversation**: Close a conversation without adding a summary.
- **delete_knowledge**: Retire a knowledge entry.
- **delete_triage_item**: Delete an inbox candidate that should not be retained.
- **dismiss_triage**: Dismiss a knowledge candidate by archiving it.
- **explore_knowledge**: Explore the relationship graph around a knowledge entry.
- **find_organizations**: List organizations the authenticated user has access to, with details on each: member count, knowledge base size, connected integrations, notification channels, and the caller's role.
- **find_person_by_email**: Look up a person by email address across internal team members AND external contacts in the caller's org.
- **get_conversation**: Get full conversation history with all messages exchanged between you and the teammate.
- **get_delivery_metrics**: Get the pre-computed PR delivery metrics dashboard for the calling user's org: totals (opened/merged/closed-unmerged), cycle time p50/p90, auto-approval %, per-author and per-repo breakdowns, and a trend with per-person cadence.
- **get_meeting**: Fetch one meeting's processing status, AI summary, linked knowledge entry, and (by default) its raw transcript.
- **get_skill**: Read a synced agent skill back from the knowledge base.
- **get_triage_item**: Get one inbox item.
- **get_user_profile**: View a user profile with accumulated expertise insights or time-scoped activity.
- **get_work_stream**: Read one work stream in full: the knowledge entry (title, narrative content, tags, visibility, lifecycle), its R&D attributes (rd_classification, income_years, status) and every scope rule as { id, rule, value, weight, valid_from, valid_to } — rule is one of repo | branch_prefix | pr_label | line…
- **list_events**: List raw work events (PRs opened/merged/closed, reviews, etc.) with filters.
- **list_knowledge**: Recent activity browse — knowledge entries and/or work events by time, author, or type.
- **list_meetings**: List the calling user's OWN captured meetings (their personal capture history from the Halyard desktop/mobile recorder), newest first.
- **list_stream_imprints**: List the org's stream imprints, newest first, under your event audience.
- **list_team**: List your team members with their roles, skills, expertise profiles, and current availability.
- **list_triage**: List AI-generated candidate knowledge entries awaiting review before they enter the live knowledge base.
- **list_work_streams**: List the org's work streams.
- **reply_to_expert**: Send a follow-up message to the teammate in an existing conversation.
- **review_stream_imprint**: Record an authorized programmatic decision about which work stream a work event belongs to.
- **search_knowledge**: Search the organizational knowledge base using hybrid search (semantic + keyword).
- **search_people**: Fuzzy search for a person in the caller's org by name, title, or company — spans both internal team members AND external contacts.
- **search_product_docs**: Search Halyard's official product documentation (features, setup, connecting agents or sources, MCP server usage, workflows, troubleshooting, changelog).
- **set_knowledge_visibility**: Change who can see a knowledge entry.
- **share_knowledge**: Share a knowledge entry with a specific teammate, or revoke an existing share.
- **suggest_triage_edits**: Suggest edits to an AI-generated candidate knowledge entry.
- **summarize_conversation**: IMPORTANT: Call this after receiving a helpful response from a teammate.
- **summarize_work**: Save a summary of significant agent work to the knowledge base.
- **sync_skill**: Upload an agent skill you wrote or edited in this session to the Halyard knowledge base, so every agent and teammate can find it.
- **update_user_profile**: Update your living profile document and/or your routing controls.
- **upsert_company**: Create or update a company in the knowledge base by name.
- **upsert_knowledge**: Create a new knowledge entry, or update an existing one when you pass knowledge_entry_id.
- **upsert_person**: Create or update a person in the org by email address — spans both internal team members (Users) and external contacts uniformly.
- **whoami**: Returns the authenticated user, their organization, connected integrations, and permissions.
