Skip to main content
Glama

people_list_contacts

Read-onlyIdempotent

List the signed-in user's Outlook contacts to retrieve names, email addresses, and phone numbers from their personal address book, including external contacts not found in directory searches.

Instructions

List the signed-in user's saved Outlook contacts, with names, email addresses and phone numbers. This is the user's personal address book and is the only place external contacts live — people with no account in the tenant, invisible to people_search and directory_search_users. Use it for phone numbers. Requires Contacts.Read.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
max_resultsNoMaximum contacts to return (1-100)
Behavior4/5

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

Annotations (readOnlyHint: true, idempotentHint: true) already establish a safe, non-destructive read operation. The description adds that the tool returns names, email addresses, and phone numbers, and requires the Contacts.Read permission, giving context beyond the structured hints. It also clarifies that results are limited to the signed-in user's saved contacts, not the broader directory.

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?

All three sentences are purposeful: the first explains the action/output, the second provides key differentiation, and the third adds a use case and permission requirement. There is no redundancy with the schema or annotations.

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

Completeness5/5

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

For a one-param list tool with strong annotations, the description fully covers purpose, usage boundaries, permission, and expected return fields. It even contextualizes the relationship to sibling tools, making it self-sufficient.

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?

The schema already covers the only parameter (max_results) with a full description and range (1-100), so schema_coverage is 100%. The description adds no further param-specific semantics, meeting the baseline of 3 for high coverage.

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?

The description opens with 'List the signed-in user's saved Outlook contacts' – a specific verb and resource. It further distinguishes itself by stating it's the only place external contacts live and references specific sibling tools (people_search, directory_search_users). This clearly defines its purpose.

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

Usage Guidelines5/5

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

The description explicitly conditions usage: it's the personal address book where external contacts live, and it's invisible to directory searches. It even says 'Use it for phone numbers,' providing a concrete trigger condition. It names the alternatives (people_search, directory_search_users) and implies when not to use them.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nitin27may/ms-graph-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server