Skip to main content
Glama

StackFast FractWin Expert Brain

Talent Scout Profile Setup Upsert

talent_scout_my_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

B3.3/5.0
Behavior1/5

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

The description says 'Create or update' and 'Stores private owner evidence', which directly contradicts the annotation readOnlyHint: true. This is a serious inconsistency because an agent relying on the annotation would believe the tool has no write side effects. Per the rubric, a contradiction with annotations forces a score of 1.

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

Conciseness5/5

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

Two sentences with no filler. The first sentence establishes the purpose and reuse value, and the second delivers the concurrency requirement and privacy guarantee. Every sentence earns its place, and the key information is front-loaded.

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

Completeness3/5

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

The description covers the core purpose, the main prerequisite, and the privacy behavior, and an output schema exists, so return-value details are not required. Still, given the tool's complexity, it omits merge/replace semantics, dry-run preview, fail-closed behavior, and tenant database routing nuance. These gaps are partly filled by the schema, but the description alone is not fully complete for such a large parameter surface.

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

Parameters3/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 needs to compensate. It does add meaningful semantics for if_match_updated_at (concurrency guard from My Profile Status) and for the private evidence fields (never returned raw). However, it does not cover important parameters like mode merge/replace, dry_run behavior, tenant routing, or auth/database key handling, leaving a meaningful semantic gap for a 26-parameter tool.

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 states the verb and resource: 'Create or update the account owner's private Talent Scout profile setup'. It also explains the purpose of reusing self-entered evidence across compose, fit, and packet tools. It does not explicitly differentiate from the sibling talent_scout_profile_upsert, but 'account owner's', 'private', and 'My Profile' make the scope reasonably distinct.

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 tells the agent when to use this tool: as a one-time setup before compose, fit, and packet tools, so evidence can be reused. It also gives a concrete prerequisite: existing profiles require the current profile_version_updated_at from Talent Scout My Profile Status as if_match_updated_at. It does not spell out exclusions or alternatives, but the usage context is clear.

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