Skip to main content
Glama

StackFast FractWin Expert Brain

Talent Scout Profile Setup Upsert

talent_scout_profile_upsert
Read-only

Create or update the account owner's private Talent Scout profile setup once so compose, fit, and packet tools can reuse self-entered resume, LinkedIn, proof-point, preference, and voice evidence without re-pasting it for every role. Existing profiles require the current profile_version_updated_at from Talent Scout My Profile Status as if_match_updated_at. Stores private owner evidence for proof mapping and never returns raw resume or LinkedIn text.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNomerge
dry_runNoPreview the redacted owner-profile update without writing stored resume, LinkedIn, proof, or rail evidence. Use this for connector smoke tests.
tenant_idNo
sqlite_pathNoOptional local SQLite path for BYOC receipts; hosted cloud calls fail closed instead of reading local files.
proof_pointsNo
target_lanesNo
work_historyNo
claims_ledgerNo
voice_profileNo
auth_token_keyNoOptional wallet/env key name for the tenant Turso auth token. Never pass a raw token.
database_url_keyNoOptional wallet/env key name for the tenant Turso database URL. Never pass a raw URL or secret.
negative_filtersNo
outreach_historyNo
interview_historyNo
owner_profile_textNoPrivate owner profile setup notes. Stored tenant-scoped and never returned raw.
resume_variant_idsNo
travel_preferencesNo
work_style_profileNoPrivate, owner-provided work-style guidance. Stored tenant-scoped and never returned raw.
application_historyNo
if_match_updated_atNoOptimistic concurrency guard. Required for every update to an existing profile so concurrent merge or replace writes cannot shrink or overwrite stored history.
baseline_resume_textNoPrivate baseline resume text. Stored tenant-scoped and never returned raw.
tenant_database_typeNoOptional physical database routing mode. Omit for the default internal StackFast DB; use sovereign_cloud only with wallet-resolved tenant DB credentials.
geography_preferencesNo
linkedin_profile_textNoPrivate LinkedIn profile paste/export when LinkedIn blocks automated fetch. Stored tenant-scoped and never returned raw.
compensation_preferencesNo
replace_string_array_fieldsNoReplace only the named preference array under if_match_updated_at. Use for a superseding travel policy without replacing profile history or other preference arrays.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultNo
public_toolYes
drafts_never_sendsNo
no_autonomous_outboundNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / replace_string_array_fields
      Added value: +{
      +  "description": "Replace only the named preference array under if_match_updated_at. Use for a superseding travel policy without replacing profile history or other preference arrays.",
      +  "items": {
      +    "enum": [
      +      "travel_preferences"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / if_match_updated_at / description
      Previous value: -"Optimistic concurrency guard. Required when replace would shrink any stored array; rejects stale profile writes."New value: +"Optimistic concurrency guard. Required for every update to an existing profile so concurrent merge or replace writes cannot shrink or overwrite stored history."
  3. Changed1 schema field changed
    • addedInput schema / properties / if_match_updated_at
      Added value: +{
      +  "description": "Optimistic concurrency guard. Required when replace would shrink any stored array; rejects stale profile writes.",
      +  "type": "string"
      +}
  4. Changed1 schema field changed
    • addedInput schema / properties / work_style_profile
      Added value: +{
      +  "description": "Private, owner-provided work-style guidance. Stored tenant-scoped and never returned raw.",
      +  "type": "string"
      +}
  5. Changed2 schema fields changed
    • removedInput schema / properties / applicant_profile_text
      Removed value: -{
      -  "description": "Private owner profile setup notes. Stored tenant-scoped and never returned raw.",
      -  "type": "string"
      -}
    • addedInput schema / properties / owner_profile_text
      Added value: +{
      +  "description": "Private owner profile setup notes. Stored tenant-scoped and never returned raw.",
      +  "type": "string"
      +}
  6. Changed1 schema field changed
    • changedInput schema / properties / applicant_profile_text / description
      Previous value: -"Private owner job-search profile setup notes. Stored tenant-scoped and never returned raw."New value: +"Private owner profile setup notes. Stored tenant-scoped and never returned raw."
  7. Added

TDQS

C2.9/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotation Contradiction: the annotations declare readOnlyHint=true, but the description says 'Create or update', 'Stores private owner evidence', and describes write behavior. This is a direct contradiction that leaves an agent uncertain whether the tool mutates state. The added facts about concurrency and not returning raw text are overshadowed by this inconsistency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three purposeful sentences, front-loaded with the main operation and followed by the concurrency requirement and privacy behavior. Each sentence earns its place, though the density of technical details makes it slightly heavy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 26-parameter tool with low schema coverage and a misleading readOnlyHint, the description is not complete enough. It omits guidance on mode semantics, dry_run behavior, tenant routing, and the meaning of most array fields. The output schema exists, but the input behavior remains under-specified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 42%, so the description should compensate for the many undocumented parameters. It adds specific meaning for if_match_updated_at and privacy semantics for stored text fields, but leaves the large array parameters and mode/dry_run behavior unexplained beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the operation as 'Create or update the account owner's private Talent Scout profile setup' and explains the purpose: so compose, fit, and packet tools can reuse self-entered evidence without re-pasting. It is specific about the resource and outcome, but does not explicitly differentiate from the similarly named sibling talent_scout_my_profile_upsert.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives useful context: set up once for reuse by compose/fit/packet tools, and existing profiles require the current profile_version_updated_at as if_match_updated_at. It implies the tool is the prerequisite setup step, but does not name alternatives or state when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources