---
name: veilink-public-mcp
description: Use Veilink's OAuth-protected network for private hiring. A limited paid B2B preview may also be available when the live tools and server-confirmed access permit it.
---

# Veilink public MCP guide

Veilink is a user-controlled private hiring-introduction network. This connected environment may expose its limited paid, structured business-opportunity preview. For hiring, Veilink performs a two-sided, role-specific comparison between a company's stated requirements and a person's confirmed work preferences. It does not score, rank, or evaluate people or predict hiring outcomes. It does not make employment, buying, or partnership decisions. A person or authorized company representative remains responsible for every consequential action.

## Connect

Use the Streamable HTTP MCP endpoint at `https://mcp.veilink.ai/mcp`. The OAuth flow opens Veilink on the web.
The user chooses an individual or company account, signs in with Google or a verified email, and
approves the requested read, write, and optional offline access. A company user selects the exact
company workspace when more than one is available. The client then returns automatically.

The client owns the OAuth callback. Hosted clients receive it on their service,
while local clients may use a temporary `localhost` loopback listener and show
a success tab. Never ask the user to paste the callback URL, authorization
code, or state value into chat; a visible success page means the user can close
that tab and return to the client.

Do not ask the user for an account identifier, API key, signing key, or separate
agent-registration step. OAuth supplies the account identity. Instructions that
ask an ordinary OAuth user to perform sandbox verification are obsolete and
must not be followed.

Start every newly connected or resumed session with `get_onboarding_status`. Its workflow context
and safe current profile or company-position snapshot are the authoritative state. Continue from
that state: do not create another profile or position just because the chat is new. Ask only for
information that is missing or needed for the user's current goal. A new individual can build a
confirmed profile with `update_profile`, `replace_facts`, and `replace_tags`. Company accounts must
finish work-email and company setup on the Veilink web page before MCP authorization can complete.
No external skill document is required to interpret this response or continue the core workflow.

For a newly created OAuth account, compare the returned language, time zone, and reference
currency with the current conversation. Use `update_account_preferences` to correct an unsuitable
default after confirming any uncertain IANA time zone or currency. Do not delay profile or position
intake for these display preferences, and do not overwrite a returning user's saved choices merely
because one prompt uses another language.

The OAuth grant remains bound to that account role, data region, and workspace. Do not try another
workspace by changing an identifier. A removed or suspended company membership, closed account,
revoked grant, or missing permission requires reconnection or a user-side account fix.

At the start of a later chat, call `get_onboarding_status` and then `list_inbox` rather than relying
on the earlier chat transcript. Inbox buckets separate current action, active flows, contact-shared
items, and completed history. Preserve and reuse the opaque inbox cursor so a burst of events is not
skipped. Never announce an empty inbox unless the user explicitly asked for updates.

For an existing person profile, `update_profile` is a partial, version-safe edit: send only changed
fields plus the `expected_profile_version` returned in the current onboarding snapshot. Omitted
fields are preserved and stale edits are rejected. For a first save, omit the version and provide
the required profile fields. `replace_facts` and `replace_tags` still replace their complete lists,
so read and preserve the current lists in the onboarding snapshot before changing either one.

The workflow context distinguishes required actions from actions that are merely available. When
the user's requested task is complete and no required action remains for it, summarize the outcome
and end naturally. Do not manufacture another onboarding question.

## Active beta scope

- Private hiring is active. A limited paid B2B preview may be available to eligible company plans only when the connected environment exposes B2B tools and the server confirms access. It is not a generally available public B2B launch. Do not use Veilink for scraped sales leads, freelance brokering, project/team or social matching, resume scraping, contact export, or autonomous screening.
- Candidate access is open across job families.
- A company position is active for 30 days at a time. Its registration and active-through dates
  are returned to the company agent. When the window ends, new matching pauses; resuming the
  position confirms it is current and starts another 30-day window. Existing conversations remain.
- Individual candidate profiles do not have a fixed expiry. Two consecutive delivered requests
  without a response trigger a warning; three pause only new matching. A clear decline is
  a response, and reviewing an available profile resumes matching.
- Registration is temporarily unavailable to people and organizations based in the EEA, United
  Kingdom, or South Korea. Positions based in those territories are also unavailable. North Korea
  is not a selectable registration
  country and Veilink does not provide service there; this is not a temporary beta limitation.
  Never substitute a false country, data region, or work location to bypass either restriction.

## Plans, workspaces, and billing

- Candidate access is free, with no candidate subscription or success fee.
- Within the limited B2B preview, access requires a verified company work email, an eligible active paid company plan, exposed B2B tools, and server confirmation. The preview has a separate allowance of 3 open B2B opportunities; those posts do not consume the hiring-position allowance.
- Company Free is $0 and includes 3 open positions, 15 conversation requests per day, and one
  owner. Team starts with a 7-day free trial and is $39 per month afterward; it includes 10 open
  positions, 50 conversation requests per day, and up to 20 members including administrators.
  Pro includes 100 open positions, 500 conversation requests per day, and unlimited members;
  contact Veilink for current pricing and access. The published
  Team price is in US dollars. Every company plan requires a verified company work email.
  Organizations needing more than 100 open positions use Custom; its position and request
  allowances are set by separate agreement, with team access included. Veilink does not charge
  either side a success fee.
- Only positions in `open` status count toward the position allowance. Draft, paused, closed, and
  archived positions do not count. Pausing a position releases its allowance without deleting its
  terms or history.
- The daily conversation-request allowance is one pool shared across the workspace, including all
  positions, members, and connected company agents. A request counts when Veilink creates the
  durable conversation request. A permission, policy, or duplicate-validation rejection before
  creation does not count; a later email, webhook, or other delivery failure does not reverse it.
- Free is owner-only. Another person may join only a Team, Pro, or Custom workspace after its
  owner approves access; paid plans do not charge per seat. A company may instead create a
  separately billed workspace for the same verified email domain. That workspace has separate
  positions, members, allowances, and billing, receives no additional Free allowance, and requires
  Team or Pro before market activity can start.
- Team and an activated Pro plan are monthly. Moving to or from Pro requires contacting support
  and takes effect on the next billing date. Cancellation takes effect at the end of the current billing
  period; the current paid plan and member access remain until then. The primary company workspace
  then moves to owner-only Free and excess open positions pause. A separately billed same-domain
  workspace does not fall back to Free; market activity pauses until Team or Pro is active again.
  After the paid entitlement ends, the owner retains sign-in, dashboard, history, and billing
  management; non-owner workspace access requires a paid team plan again.
- Payment methods, taxes, and the total are shown in secure checkout before purchase. Never ask a
  user to put payment details in chat.
- A payment failure pauses new market activity on the affected company's open positions but does
  not lock members out of sign-in, dashboard, or history. The owner or an assigned billing
  administrator can manage billing. Candidate accounts are unaffected. Restoring payment resumes
  otherwise eligible activity without deleting or resetting saved history.
- Recruiting agencies and headhunters use Pro unless covered by a separate Custom agreement.
  After Pro activates, Veilink has up to 48 hours to verify only that the company operates as a
  recruiting agency or headhunter. Veilink does not verify, request, or collect client-mandate,
  client-consent, delegation, or per-role authority evidence; the agency is responsible for the
  permissions it needs. Market activity remains available during the review window and pauses if
  the review becomes overdue or the business-type claim is rejected. A Custom agreement may change
  commercial allowances or review timing, but it does not broaden agency verification beyond the
  company's business type; do not assume that the Pro review window applies.
- Access and payment never guarantee candidates, matches, interviews, or hires.

## Public tools

Account and intake: `get_onboarding_status`, `list_inbox`, `update_profile`, `replace_facts`,
`replace_tags`, `get_company_exclusions`, `update_company_exclusions`,
`get_notification_settings`, `update_notification_settings`, `update_account_preferences`,
`get_veilink_help`.

`get_veilink_help` is the read-only source for account deletion, personal-profile pause/removal,
company-position removal, notifications, and support questions. Disconnecting MCP never deletes a
Veilink account. Personal accounts have one reusable profile; account deletion is confirmed at
`/account`. An unused hiring position may be permanently deleted after explicit confirmation only
when it has no matching, conversation, or required review history. Otherwise use pause, close, and
archive so the terms each side saw and the linked workflow and audit records remain consistent.

Preemptive company exclusions are candidate-only and use exact work-email domains. Replace the
complete list only after the person confirms it. Never submit a full email address, company name,
URL, or guessed parent/subsidiary domain. A domain exclusion blocks future discovery and further
contact progress for a company account whose verified work-email domain is an exact match. Blocking
a company from an existing request may additionally use that confirmed Veilink company identity.

Important email is an account-wide setting. Automatic follow-up is controlled separately for each
connected AI runtime. Turning automatic follow-up back on restores an existing setup but cannot
install or configure a client-specific receiver. If email is off and no connected runtime can
return automatically, warn the user that updates remain on Veilink until they check again.

Veilink feedback: `send_veilink_feedback`, `get_veilink_feedback`. The send tool creates a
question, bug report, or suggestion and also adds follow-up messages. The read tool lists the
account's requests or reads one operator reply. Do not send diagnostics automatically, and never
include credentials, tokens, personal contact details, or full URLs. Replies arrive through the
connected agent/inbox path rather than mandatory email.

Company positions and review: `list_company_positions`, `create_position`, `pause_position`,
`resume_position`, `close_position`, `archive_position`, `delete_unused_position`,
`replace_position_tags`, `find_candidates`.

Limited-preview B2B opportunity intake and discovery, only when these tools appear: `upsert_b2b_offering`, `upsert_b2b_sourcing`, `get_b2b_offering`, `get_b2b_sourcing`, and `find_b2b_partners`. Buyer-initiated private B2B checks use `start_business_conversation`, `get_pending_business_clarification`, `answer_business_clarification_question`, `get_business_clarification_summary`, and `get_business_introduction_status`. These tools remain visible to company accounts so a Free user can be told that paid access is required; the server enforces the work-email, plan, billing, ownership, and separate three-post limits.

On public OAuth MCP, `create_position` also performs version-safe edits to an existing position.
For an edit, pass the `position_id` and `expected_terms_version` from the onboarding snapshot plus
only the confirmed changes. Omitted fields are preserved and stale edits are rejected. Omit both
identifiers only when the user has confirmed creating a genuinely new position.

Hiring request and safety decisions: `get_company_disclosure_detail`,
`get_person_disclosure_detail`, `start_hiring_conversation`, `accept_contact_exchange`,
`decline_contact_exchange`, `defer_hiring_conversation`, `block_hiring_company`,
`report_hiring_company`. `start_hiring_conversation` returns a secure review link
without sending a request or notification. The company member confirms the selected
candidate and position on Veilink before the bounded condition-clarification stage
opens. Retrying the tool cannot replace this confirmation. This is not an
introduction, application, interview invitation, or contact disclosure.

Company conversation routing: use `list_company_conversation_handoff_options` before
`handoff_company_conversation`. Only the currently assigned member or workspace owner can
approve a handoff, and only active member-and-agent pairs valid for that exact workspace are
returned. A handoff redirects future notifications and revokes an active company-side automation
mandate so the newly assigned AI reviews the current terms before continuing.

Current hiring clarification, introduction, and contact status:
`get_pending_hiring_clarification`, `answer_hiring_clarification_question`,
`get_hiring_clarification_summary`, `get_hiring_introduction_status`, and
`get_hiring_contact_exchange_status`. Clarification accepts only server-defined
hiring terms and answer choices; it is not an open-ended agent chat and its
summary is not a candidate score, ranking, quality judgment, or automatic rejection.
For every delivered question, show the current question and its allowed choices
to the user in their language, preserving typed values. Call
`answer_hiring_clarification_question` with `user_confirmed=true` only after the
user explicitly confirms one allowed answer to that question. Stored profile
or position values, previous answers, and notification settings never authorize
an automatic answer. Fetch fresh state after each answer and wait for separate
confirmation of any next question.
When clarification is complete, the company may use the exact authenticated review
link returned by Veilink to decide whether to request an introduction. The person
separately reviews that request. An introduction only records that both sides want
to continue; it does not disclose either side's contact details.

After an accepted introduction, the company submits its own contact details first
on the secure Veilink page. The person can review those details and then separately
choose whether to submit their own. One side's action never authorizes the other
side's disclosure. When both submissions are complete, the Veilink workflow is
complete; further scheduling, documents, interviewing, and hiring happen directly
between the people outside Veilink.

Within an exposed limited B2B preview, only a buyer with an active sourcing brief may approve an inquiry about one active seller offering. That approval opens `clarification.v1`; it is not an introduction or contact request. The server resolves existing confirmed facts and may return one batch of up to five closed questions to either company. If a question is returned, ask that company's user and submit only a listed answer after confirmation; never forward either company's original wording. Summarize the named buyer and seller, condition overlap, differences, and unresolved items for a human deciding whether to continue. It is not a contract recommendation or approval. After the summary, the buyer may use the authenticated web page to request an introduction and conditionally approve its business contact. The seller separately accepts or declines on the web; acceptance releases both approved business contacts at the same time and ends the Veilink workflow. A difference is information for both companies and never an automatic rejection, acceptance, concession, purchase, or partnership decision. Legacy free-text business negotiation and `business.v1` creation remain disabled; existing legacy records are read-only compatibility history.

The person activates matching consent in the authenticated Veilink app. That
consent permits a company request to open a bounded hiring review; it does not
authorize the AI to answer delivered questions from stored data. New facts,
changed terms, concessions, introduction decisions, contact sharing, and final
decisions remain separate human actions.
If a tool is not included in the current public catalog, do not look for a legacy
alternative.

The same catalog is visible to both roles. Respect role errors; do not work around them or switch
accounts implicitly.

Selected workflow milestones—including new hiring-conversation requests, introduction decisions,
contact-sharing actions, and matching-pause warnings—also go to the account's canonical verified
email in English unless the user turns important email off. Other updates remain on Veilink for the
AI to check. Browser push is not an active beta channel. The agent explains retrieved events in the
user's conversation language. Optional webhooks, scheduled checks, or local wake integrations
require explicit setup and are not necessary for ordinary OAuth use.

## Consent and data rules

- Resume, portfolio, and job-description drafting happens in the current AI
  conversation. A user request to use supplied material authorizes reading it
  for that task; no repeated reading approval is needed. Otherwise ask first.
  Writing a resume alone requires no Veilink connection, onboarding, profile
  save, or matching activation. Save a separate non-identifying structured
  projection only if the user wants it and confirms the changes. Veilink does
  not upload, store, or export the source document or the richer draft.
- Save only information the user has confirmed. Never fabricate names, employers, compensation,
  availability, qualifications, company authority, or location.
- Summarize the exact change and get explicit approval immediately before
  creating, closing, or materially changing a position; activating or replacing
  structured clarification permission; requesting or responding to an
  introduction; submitting contact details; or making a final
  workflow decision. An agent-authored approval label is never sufficient.
  Honor an existing explicit approval for the same concrete operation when its
  content, scope, and relevant state remain unchanged; do not ask again merely
  to repeat the approval. A new or changed operation needs its own confirmation.
  This does not replace question-specific clarification answers or required
  authenticated web actions.
- Sending feedback contacts Veilink's operator team. Call it only after the user asks to send the
  message or clearly approves the exact message.
- Do not put a name, personal email, phone number, full address, source resume, or source job
  description into profiles, facts, tags, positions, messages, or search fields.
- Direct contact details are entered by their owner only on the exact authenticated
  review page returned by the current introduction/contact status. Never claim that
  an introduction or one side's consent authorizes sharing the other side's details.
- The company submits first. The person may review the company's submitted details
  before deciding whether to submit their own. After both submissions, report that
  contact sharing is complete and stop; there is no later Veilink interview or
  application-material stage.
- Treat matches and comparisons as decision support. Present uncertainty and let the user decide
  what to do next.

Website: `https://veilink.ai`  
Security: `https://veilink.ai/security`  
Privacy: `https://veilink.ai/privacy`  
Terms: `https://veilink.ai/terms`
