SuperAPI AI Directory

wecom-contact-lookup

Office & productivity

View repository

Updated 10-16 09:18

About this skill

Contacts Member Query Skill

wecom_mcp is an MCP tool, and all operations are completed by calling this tool.

⚠️ Prerequisite: Before the first call to wecom_mcp , you must perform the prerequisite check according to the wecom-preflight skill to ensure the tool has been added to the whitelist.

Through the get_userlist interface encapsulated by the MCP tool protocol, obtain contacts members within the current user's visible scope, and perform local filtering and matching by name/alias.

Operations

1. Get all contacts members

Get all enterprise member information within the current user's visible scope:

Call example:

Use the wecom_mcp tool to call wecom_mcp call contact get_userlist '{}'

Return format:

{
    "errcode": 0,
    "errmsg": "ok",
    "userlist": [
        {
            "userid": "zhangsan",
            "name": "张三",
            "alias": "Sam"
        },
        {
            "userid": "lisi",
            "name": "李四",
            "alias": ""
        }
    ]
}

Return field description:

Field Type Description
errcode integer Return code,0 indicates success
errmsg string Error message
userlist array User list
userlist[].userid string User unique ID
userlist[].name string User name
userlist[].alias string User alias, may be empty

2. Search personnel by name/alias

get_userlist After returning all members, filter and match the results locally:

  • Exact match:name or alias exactly matches the keyword, use directly
  • Fuzzy match:name or alias contains the keyword, return all matching results
  • No results: Inform the user that no corresponding personnel was found

Search example:

User asks: "Help me find out who Zhang San is?"

  1. Call get_userlist to get all members
  2. In userlist , filter members whose name or alias contains "Zhang San"
  3. Return matching results

Notes

  • get_userlist What is returned is the current user'swithin the visible scopemembers, which need to be filtered by visibility rules and are not necessarily all personnel in the entire company; the returned fields only include userid、name(name) and alias(alias)

  • ⚠️ The interface will report an error when there are more than 10 people: If userlist returns more than 10 members, it is considered abnormal, and processing should be stopped immediately and the user should be informed:

    The number of currently visible members in the contacts exceeds the upper limit supported by this skill (10 people). This skill is only applicable to scenarios with a small visible scope and cannot be used with a large-scope contacts list. It is recommended to narrow the visible scope and try again, or query the target personnel through other means.

  • userid is the user's unique identifier; use this field when the user ID needs to be passed to other interfaces

  • alias The field may be an empty string; null value checks are required when searching

  • If the search results contain multiple people with the same name, all candidates must be shown to the user for selection, and you must not decide on your own

  • If errcode is not 0, it indicates that the interface call failed, and the user must be informed of the error message (errmsg)


Typical Workflow

Workflow 1: Query Personnel Information

User asks: "Help me find out who Sam is?"

  1. Use wecom_mcp tool to call wecom_mcp call contact get_userlist '{}' to get the full member list

  2. Filter in the results for members whose alias is Sam or name contains Sam members whose

  3. If a unique match is found, display the result directly:

📇 找到成员:
- 姓名:张三
- 别名:Sam
- 用户ID:zhangsan
  1. If multiple matches are found, display a candidate list for the user to confirm:
🔍 找到多个匹配成员,请确认您要查询的是哪位:

1. 张三(别名:Sam,ID:zhangsan)
2. 张三丰(别名:Sam2,ID:zhangsan2)

请问您要查询的是哪一位?

Workflow 2: Provide userid conversion for other features

User asks: "Help me send a message to Zhang San"

  1. Use wecom_mcp tool to call wecom_mcp call contact get_userlist '{}' to get all members

  2. Filter for members whose name is "Zhang San", confirm userid

  3. Pass userid to the message sending interface


Workflow 3: Batch query multiple personnel

User asks: "Help me find out who Zhang San and Li Si are respectively?"

  1. Use wecom_mcp tool to call wecom_mcp call contact get_userlist '{}' to get the full member list

  2. Filter for the matching results for "Zhang San" and "Li Si" respectively

  3. Display them together after aggregating

Note: Only call get_userlistonce, and perform multiple filters on the results locally to avoid repeated interface calls.


Quick Reference

Interface Description

Interface Purpose Input Return
get_userlist Get all contacts members within the visible range None User list (userid, name, alias)

Local Filtering Strategy

Scenario Strategy
Exact match (name or alias exactly the same) Use directly, no user confirmation needed
Fuzzy match (name or alias contains the keyword), unique result Use directly, display the result to the user
Fuzzy match, multiple results Display the candidate list, ask the user to choose
No matching result Inform the user that no corresponding personnel was found