Skip to main content
Glama
nhype

OWA Exchange MCP Server

by nhype

login

Authenticate to Exchange OWA using credentials and two-factor authentication. The first call launches browser-based login and requests 2FA approval; the second call finalizes authentication after user approves.

Instructions

Authenticate to Exchange OWA (handles credential setup and 2FA login).

Call this tool when the session has expired or before first use. It performs browser-based SSO login with 2FA mobile push approval. Session cookies are encrypted at rest with the master password.

Two-call 2FA flow: The first call starts the browser login in the background and returns immediately asking you to tell the user to approve 2FA on their phone. Call login again with the same master_password after the user approves — the second call picks up the result.

Args: master_password: Decrypts stored credentials (and cookies), or encrypts new ones if username/password are also provided. username: Email address. Provide together with password for first-time credential setup (replaces login.py --setup). password: Account password. Required together with username for setup.

Returns: JSON result with success status and any error details.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
master_passwordYes
usernameNo
passwordNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior5/5

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

With no annotations provided, the description fully discloses behavioral traits: browser-based SSO, 2FA mobile push, encrypted session cookies, and the two-call flow. It details the immediate return vs. second call pickup.

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

Conciseness4/5

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

The description is well-structured with sections (Args, Returns) and front-loaded purpose. While slightly verbose, every sentence is informative and necessary for understanding the complex flow.

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?

Given zero schema descriptions and no annotations, the description covers parameters, flow, encryption, and return value structure. It is complete for a tool with an output schema, though some edge cases (e.g., error handling) are not detailed.

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

Parameters5/5

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

Schema description coverage is 0%, so the description compensates fully. It explains each parameter's role: master_password decrypts/encrypts, username is email for setup, password for setup. It adds behavior context for combined vs. solo use.

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 clearly states the tool authenticates to Exchange OWA, handling credential setup and 2FA login. It distinguishes itself from siblings (e.g., check_session) by explicitly mentioning session expiry and first-use scenarios.

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 specifies when to call the tool ('session has expired or before first use') and outlines a two-call 2FA flow. While it provides clear context, it does not explicitly state when not to use it or compare directly with all siblings.

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/nhype/owa-exchange-mcp'

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