Chapter 8 Β· Integrate & Ship
Copilot Studio & Atlassian OAuth Setup
Connect the pieces a user actually sees: create an Atlassian OAuth app, import the MCP connector into Power Platform, and add it to a Copilot Studio agent so a person can sign in and use your tools.
π― What you'll be able to do
- Create an Atlassian OAuth 2.0 app with the right scopes and callback
- Explain why offline_access is required
- Import the MCP connector with the correct host and security settings
- Add the connector to a Copilot Studio agent and test it
Create the Atlassian OAuth app
In the Atlassian Developer Console:
- Create an OAuth 2.0 integration.
- Add Jira API permissions.
- Add scopes:
read:jira-work,read:jira-user,write:jira-work,offline_access. - Set the callback URL:
https://global.consent.azure-apim.net/redirectWhy offline_access is needed
offline_access, the user may have to reauthenticate too frequently, or the connector may fail once the short-lived access token expires. Adding it lets the platform obtain a refresh token and keep the connection working.Import the MCP connector
Edit openapi\\mcp-connector.swagger.json and replace the host placeholder with your APIM host:
"host": "REPLACE-WITH-APIM-NAME.azure-api.net"Keep the base path aligned with APIM, and keep the agentic-protocol extension:
"basePath": "/jira-mcp"
"x-ms-agentic-protocol": "mcp-streamable-1.0"Import the Swagger as a custom connector and configure security:
| Setting | Value |
|---|---|
| Identity provider | Generic OAuth 2 |
| Authorization URL | https://auth.atlassian.com/authorize |
| Token URL | https://auth.atlassian.com/oauth/token |
| Refresh URL | https://auth.atlassian.com/oauth/token |
| Scope | read:jira-work read:jira-user write:jira-work offline_access |
x-ms-agentic-protocol extension β the connector was treated as plain REST. Re-import and preserve it.Add the connector to a Copilot Studio agent
- Open the target agent.
- Go to tools.
- Add a Model Context Protocol tool.
- Select the custom connector.
- Create a connection and sign in to Atlassian.
- Let Copilot Studio discover the tools.
Test prompts:
| Prompt | Expected tool |
|---|---|
| "Who am I in Jira?" | jira_whoami |
| "Find my open Jira issues." | jira_search |
| "List projects I can see in Jira." | jira_get_projects |
| "Create a task in PROJ called Test from Copilot." | jira_create_issue |
β Concept check
A user connects successfully and jira_whoami works, but an hour later every call fails until they reconnect. Which scope is most likely missing, and why?
Recommended video needed
No specific video is linked here on purpose β we don't invent URLs. Search an official source (Microsoft, Azure, Atlassian, GitHub, VS Code, Python, or Model Context Protocol) using:
Copilot Studio add Model Context Protocol tool custom connector (Microsoft official)
- Reinforces
- Adding an MCP / custom connector tool to a Copilot Studio agent
- Level
- intermediate
π Chapter summary
- The Atlassian app needs scopes
read:jira-work,read:jira-user,write:jira-work, andoffline_access. - Client ID and secret live in the connector β never in the MCP server.
- Keep
x-ms-agentic-protocolwhen importing, and set the generic OAuth 2 URLs.