Connecting Microsoft Teams to Metric Insights MCP Server
If your organization uses MS Teams for communication between employees, you can connect it to the Metric Insights MCP server to receive answers from Concierge service. Team members won't have to open Metric Insights to receive answers that come from the organization's data. Because those answers come from your organization's governed definitions, the numbers match what the reports already show.
Please follow this step-by-step guide to configure your MS Teams account and connect it to the MI MCP server.
PREREQUISITES:
- Concierge MCP server configured.
- Administrator access to Teams Development Portal or Copilot Studio license.
- Administrator access to Microsoft Teams admin center.
MS Teams Developer Portal Vs Copilot Studio
There are two ways to connect Metric Insights MCP server to Teams: via the MS Teams Developer Portal and using Copilot Studio. Go through their differences to define which one suits better for your organization.
Copilot Studio (Recommended)
Pros:
- UI-based configuration—no manual JSON editing.
- Built-in testing in the same interface.
- Supports topics, knowledge sources, flows, instructions, and model configuration.
- Faster to update and test.
- Easy publishing to Teams through Channels.
Cons:
- Requires an appropriate Copilot Studio license for publishing.
- Depends on Power Platform environments, connectors, and DLP policies.
- End-user OAuth for custom MCP connectors may still be unstable.
- Less direct control over the Teams app package.
Microsoft Teams Developer Portal
Pros:
- Full control over the app manifest, declarative agent, and MCP plugin.
- Produces a standalone Teams/M365 .zip app package.
- Can be published through the organization catalog without a Copilot license.
- Better suited to centralized management through Teams Admin Center.
- Explicit control over the App ID, version, valid domains, and OAuth reference.
Cons:
- Multiple JSON files must be maintained manually.
- Schema or version errors can break validation.
- Testing requires building, publishing/uploading, and installing the app.
- Every update requires a version increase and republishing.
- No visual authoring, topics, or flows.
Before any team member can access Metric Insights from their MS Teams chat, an Administrator must set up the agent and connection. Team members will be then able to use the agent created by Administrator to ask questions of MI Concierge.
If you're not the Administrator user, proceed to Step 6.
1. Create an Agent
1.2. Add an Agent
- Give the agent a descriptive name.
- In the right-side menu click Tools option.
- In the Add a tool pop-up window click [+Add] and select "Model Context Protocol (MCP)" option.
1.3. Add MCP Server
- Server name: Give the server a descriptive name.
- Server description: Provide a basic description of the server.
- Server URL: Insert the
https://<mi-host>/mcp/address, replacing<mi-host>with your MI instance address. - Authentication: Select the "OAuth 2.0" option.
- Configuration type: Select the "Manual" option.
- Client ID / secret: Insert the Application ID and Key, copied from the Concierge External Application.
- Endpoint URLs: Insert the Endpoint URLs.
- Scopes: Use the basic "openid profile email" scope.
- [Add]
2. Check Connection
Go to the Preview tab
Try questioning your new agent about something concerning Metric Insights to check if it works correctly.
3. Publish the Agent
Return to the Build tab and proceed with publishing.
3.1. Open Availability Options
- Click [Publish] in the upper right corner of the page.
- Select the "Teams + Microsoft 365" option.
- Click [Availability options] in Agent preview section.
4. Approve Agent Publishing
Before the app appears in your organization's catalog, it must be approved by an administrator.
4.1. Find the Agent
Go to Admin MS Teams portal and access Teams Apps > Manage apps
Click the agent's name to open the editor.
5. Share Connector
To be able to use the agent, team members will also need to be able to create personal custom connectors. To give users permission to create connectors, go to your organization's Power Apps account.
5.1. Open Custom Connectors List
Go to Custom connectors menu option
Find the connection you created and click its name.
6. Check the App
6.1. Add the App
Go to MS Teams portal and access Store > Apps > Built for your org
Click the Agent and [Add] it to the MS Teams.
6.2. Set Up Personal Connector
Open this App and try asking a question about Metric Insights.
You will be asked to set up a connection. Click [Set up connection].
- Click the connection name to open Create or pick connections window.
- Open the connection drop-down list and select "Create new connection" option.
- Display name: Give the connection a descriptive name.
- [Create]
Before any team member can access Metric Insights from their MS Teams chat, an Administrator must set up the agent and connection. Team members will be then able to use the agent created by Administrator to ask questions of MI Concierge.
If you're not the Administrator user, proceed to Step 4.
1. Register Teams OAuth Client
1.1. Access Tools List
In the Developer Portal access Tools and click the Oath client registration option.
1.2. Create OAuth Client
Click [+ New OAuth client registration]
- Registration name: Give the OAuth client a descriptive name.
- Base URL: Insert your MI instance address.
- Restrict usage by organization: Select the "My organization only" option.
- Restrict usage by Teams app: Select "Any Teams app" option.
- Client ID / Secret: Insert the Authentication ID and Key, copied from the Concierge External Application.
- Endpoints: Insert corresponding endpoint addresses.
- Scope: Define what the app will be able to request from Concierge.
- Enable Proof for Code Exchange (PKCE): Enable this toggle switch to ensure correct token exchange between Concierge and MS Teams.
- Client password authentication method: Select the "Request body parameters" option.
- [Save]
Afterwards, copy the Registration ID value.
2. Create Declarative Agent App
2.1. Open Apps List
Go to Apps and click [+ New app]
- Name: Give the app a descriptive name.
- Manifest version: Select the latest stable version.
2.2. Edit Manifest File
In the app editor, open the App package editor tab.
Click the manifest.json file to open the text field and replace default code with the following:
{
"$schema": "https://developer.microsoft.com/json-schemas/teams/v1.27/MicrosoftTeams.schema.json",
"version": "1.0.0",
"manifestVersion": "1.27",
"id": "<YOUR_APP_GUID>",
"name": {
"short": "Concierge-MCP",
"full": "Concierge MCP for Metric Insights"
},
"developer": {
"name": "Metric Insights",
"websiteUrl": "https://www.metricinsights.com",
"privacyUrl": "https://www.metricinsights.com/privacy",
"termsOfUseUrl": "https://www.metricinsights.com/terms"
},
"description": {
"short": "Metric Insights Concierge via MCP",
"full": "Connects Microsoft 365 Copilot to Metric Insights Concierge tools through MCP."
},
"icons": {
"outline": "outline.png",
"color": "color.png"
},
"accentColor": "#FFFFFF",
"validDomains": [
"<mi-host>"
],
"copilotAgents": {
"declarativeAgents": [
{
"id": "conciergeAgent",
"file": "declarativeAgent.json"
}
]
}
}
NOTE: Make sure to copy the <YOUR_APP_GUID> from the default code and replace <mi-host> placeholder with your MI instance address (for example, stg70.metricinsights.com).
2.3. Add Files
Click [New file] and add two more files, named declarativeAgent.json and concierge-plugin.json.
{
"$schema": "https://developer.microsoft.com/json-schemas/copilot/declarative-agent/v1.4/schema.json",
"version": "v1.4",
"name": "Concierge-MCP",
"description": "Metric Insights Concierge tools via MCP",
"instructions": "You help users with Metric Insights Concierge. Use list_domains to discover domains, then ask to answer questions. Prefer concierge tools over guessing.",
"conversation_starters": [
{
"title": "List domains",
"text": "List my concierge domains"
},
{
"title": "Health check",
"text": "Run a health check on Concierge MCP"
},
{
"title": "Ask Concierge",
"text": "Ask Concierge: what can you help me with?"
}
],
"actions": [
{
"id": "conciergeMcp",
"file": "concierge-plugin.json"
}
]
}
{
"$schema": "https://developer.microsoft.com/json-schemas/copilot/plugin/v2.4/schema.json",
"schema_version": "v2.4",
"name_for_human": "Concierge MCP",
"description_for_human": "Metric Insights Concierge via MCP",
"namespace": "conciergemcp",
"functions": [
{
"name": "health_check",
"description": "Simple health check for the MCP server"
},
{
"name": "list_domains",
"description": "List concierge domains available to the authenticated user"
},
{
"name": "ask",
"description": "Ask Concierge. Optional tools: exact domain name from list_domains (not id)."
}
],
"runtimes": [
{
"type": "RemoteMCPServer",
"auth": {
"type": "OAuthPluginVault",
"reference_id": "<Registration ID>"
},
"spec": {
"url": "https://<mi-host>/mcp/",
"mcp_tool_description": {
"tools": [
{
"name": "health_check",
"description": "Simple health check for the MCP server",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
{
"name": "list_domains",
"description": "List concierge domains available to the authenticated user",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
{
"name": "ask",
"description": "Ask Concierge. Optional tools: exact domain name from list_domains (not id).",
"inputSchema": {
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Question for Concierge"
},
"tools": {
"type": "string",
"description": "Optional exact domain name from list_domains"
}
},
"required": ["q"],
"additionalProperties": false
}
}
]
}
},
"run_for_functions": ["health_check", "list_domains", "ask"]
}
]
}
NOTE: Don't forget to replace <mi-host> placeholder with your MI instance address (for example, stg70.metricinsights.com) and <Registration ID> with the Registration ID copied in Step 1.2.
[Save] the changes and [Update] the contents of the package.
3. Upload the App
Go to the Microsoft Teams admin center and open Teams apps > Manage apps
Click [Upload new app] and upload the app ZIP file you downloaded.
4. Install and Check the App
Go to MS Teams page. Open Store > Apps > Built for your org
The app you downloaded will appear in the list.
- Click the app to open the editing window.
- [Add] the app.


























