Building and customizing solutions using Microsoft 365 Copilot APIs and tools
CoWork does not connect to MCP servers directly. A Teams plugin is required as the packaging and discovery mechanism for MCP integrations.
From the documented model:
- CoWork “supports plugins with MCP servers and/or skills, packaged as Teams apps. CoWork performs dynamic tool discovery — when a plugin declares an MCP server, CoWork calls initialize and tools/list at runtime to discover available tools automatically.”
- MCP servers are declared in the plugin’s
manifest.jsonviaagentConnectors[], and CoWork then uses MCP core methods (initialize,tools/list,tools/call,notifications/initialized) against those declared servers.
This implies:
- A plugin (Teams app) is required for each MCP integration that CoWork should use. The plugin is the unit that:
- Declares the MCP server endpoint and auth model.
- Is installed/acquired for a tenant or user.
- Controls which tools CoWork can discover and call.
- CoWork does not support “bare” or direct MCP server connections that are not surfaced through a plugin. There is no documented path where CoWork is pointed at an arbitrary MCP endpoint without going through a plugin manifest.
- All supported architectures for MCP usage in CoWork are plugin-based:
- Store-published plugins that declare MCP servers.
- Sideloaded plugins (for development/testing) that declare MCP servers.
- Plugins may be “skills-only”, “MCP-only”, or a mix, but MCP usage always flows through a plugin package.
If plugins are disabled at the tenant level, CoWork will not load plugin skills or connectors, which also means no MCP servers are used in that configuration.
References: