-
Notifications
You must be signed in to change notification settings - Fork 10
Description
Problem
The mock tool definitions in mocks/*.json no longer match the tool catalogs
exposed by the real M365 MCP servers. Agents developed and tested against the
mocks will encounter tool-not-found or schema-mismatch errors when switched to
a real M365 environment.
There is currently no mechanism to detect or prevent this drift.
Evidence
The following mismatches were found by querying the real M365 MCP server endpoints
directly via the tools/list JSON-RPC method:
mcp_CalendarTools
- All 9 tool names use camelCase in the mock but PascalCase on the real server
(e.g.,createEvent→CreateEvent,deleteEvent→DeleteEventById) - 3 tools in the mock do not exist on the real server:
getEvent,getOrganization,getSchedule - 4 tools on the real server are missing from the mock:
TentativelyAcceptEvent,
ForwardEvent,GetUserDateAndTimeZoneSettings,GetRooms
mcp_MeServer
- All 5 tool names are wrong (e.g.,
getMyProfile→GetMyDetails,
listUsers→GetMultipleUsersDetails,getUser→GetUserDetails)
mcp_MailTools
- All 20 tool names carry an incorrect
Asyncsuffix
(e.g.,SendEmailWithAttachmentsAsyncinstead ofSendEmailWithAttachments) - The tool
FlagEmailis missing entirely
mcp_KnowledgeTools
- The file contains 3 disabled placeholder entries with invented names.
The real server exposes 5 enabled tools with snake_case names.
Impact
Any agent that relies on tool names as registered with the mock will silently
break when pointed at the real M365 environment. This makes local mock-based
development unreliable as a proxy for real behavior.
Expected behavior
Mock tool names, casing, and required input parameters should exactly match
what the real M365 MCP servers expose, and there should be a way to verify
and maintain that alignment over time.