Skip to main content
Glama
DrawOffer MCP Server

DrawOffer MCP Server

by ql-link

新建投递记录

create_application

Create a job application record for a saved job post. Omit applied_at to mark it as pending; set it to move the application into screening. Existing pending records are reused.

Instructions

为已保存的岗位新建投递记录。不填 applied_at 时记为「待投递」,填了则记为已投递、进入「筛选中」。岗位已有「待投递」记录时直接沿用并更新它;已经投递过的岗位会返回冲突。需要读写权限的 Key。

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "job_description_id": "<job_description_id>"
    },
    "name": "create_application"
  }
}

Input Schema

NameRequiredDescriptionDefault
notesNo备注,例如投递渠道
resume_idNo投递使用的简历 ID
applied_atNo投递时间,ISO 8601,必须带时区,例如 2026-10-30T10:00:00+08:00
job_description_idYes岗位 ID,来自 list_jobs 或 create_job

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.1

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the annotations it discloses real behavior: a de-facto upsert that reuses and updates an existing '待投递' record, a conflict error for already-applied jobs, the state transition triggered by applied_at, and an explicit read-write Key requirement. These are exactly the side effects and failure modes an agent needs before mutating data.

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?

Four short sentences, front-loaded with the core action, then branching semantics, then the conflict edge case, then the auth prerequisite. No redundant restatement of the title or schema.

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

Completeness4/5

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

No output schema exists, and the description does not say what is returned (e.g. the created/updated application ID or its final status), which is the main remaining gap for a create tool. Permissions, conflict behavior, and status effects are all covered, so it is otherwise complete.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds genuine meaning the schema lacks: applied_at is not just a timestamp but a switch that determines the resulting status. notes and resume_id carry no extra semantics in the description beyond their schema text.

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

Purpose5/5

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

States a specific verb and resource ('为已保存的岗位新建投递记录') and scopes it to an existing job, which cleanly separates it from create_job and from read-side siblings like get_application/list_applications. The status semantics that follow make the tool's identity unambiguous.

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?

Gives clear usage context: omit applied_at for a pending record, supply it to move to '筛选中', and expect a conflict if the job was already applied to. It does not name an alternative tool (e.g. get_application to check first) or explicitly say when not to call it, so it stops short of full routing guidance.

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