contact.get
contact_get[需要登录] 查询指定体检人的完整信息(含脱敏证件号)。本体: contact → Action: get
鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| contactId | No | ||
| contactid | No |
contact_get[需要登录] 查询指定体检人的完整信息(含脱敏证件号)。本体: contact → Action: get
鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。
| Name | Required | Description | Default |
|---|---|---|---|
| contactId | No | ||
| contactid | No |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden and does add real behavioral context: it discloses the login-token requirement, the 401 on unauthenticated calls, and the code=40003 + data.bindUrl response for unbound cloud-marketplace instances. What it omits is confirmation that the operation is non-mutating and any indication of what the returned payload looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the login caveat and the core purpose, then a compact auth/error paragraph. The '本体: contact → Action: get' line is ontology metadata that restates the name and earns little space, but overall the text is tight and free of padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Purpose and auth failure modes are well covered, which matters given zero annotations and no output schema. However, for a two-parameter lookup with a duplicate-casing schema, the description leaves the agent without enough to construct a correct call or to know what fields come back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description mentions neither parameter. Worse, the schema contains both 'contactId' and 'contactid' as separate optional properties, and the description does nothing to resolve which casing is authoritative or whether one is a legacy alias — precisely the ambiguity the description should clear up.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: '查询指定体检人的完整信息(含脱敏证件号)' — retrieve the full record of one examinee, including a masked ID number. That is clear enough to distinguish a single-record fetch from a list, but it never names the near-identical sibling contact_profile_get or contact_list, so the boundary is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by '指定体检人' (a specific examinee), meaning it applies when an ID is already known. There is no explicit statement of when to prefer this over contact_list or contact_profile_get, and no note that the 0-required-parameter schema means an ID must still be supplied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.