Skip to main content
This guide is for MSP staff and API consumers. The connection uses browser OAuth, so you do not create or store an API key.
GitHub Copilot’s cloud coding agent and code review do not support remote MCP servers that use OAuth. Connect MSPortal through Copilot Chat in your local VS Code or through Copilot CLI.

Before you start

  • An MSPortal account you can sign in to.
  • The MCP Server write permission in MSPortal. If the setup cards are disabled, ask your MSP administrator for it.
  • Your Server URL from Settings > MCP Server.
  • For VS Code, a current VS Code with GitHub Copilot installed and signed in.
  • For Copilot CLI, GitHub Copilot CLI installed and signed in. Run copilot login if needed.

Connect GitHub Copilot in VS Code

1

Open the MSPortal MCP settings

In MSPortal, go to Settings > MCP Server. Under Connect your client, click GitHub Copilot (VS Code).
2

Add the server to VS Code

Click Add to GitHub Copilot (VS Code) in the dialog and allow VS Code to open the configuration.You can also open the VS Code Command Palette, run MCP: Add Server, choose HTTP, and paste your Server URL. Name the server msportal, then choose whether to install it globally or in the current workspace. Choose global if you want MSPortal in every workspace.
3

Trust and authenticate the server

Allow VS Code to start the server. When your browser opens, sign in to MSPortal, review the access you are asked for and click Allow access.
4

Enable the MSPortal tools

Open GitHub Copilot Chat, select Agent mode, and click Configure Tools in the chat input. Make sure the MSPortal tools you want are enabled.
5

Test the connection

Ask Copilot to call get_current_user. The answer should show your user, tenant and company. A list of tool names without a real tool call does not prove the connection works.

Configure VS Code by hand

If you prefer, run MCP: Open User Configuration from the Command Palette and add:
Save the file. Then use the actions above the msportal entry to start and authenticate the server.

Connect GitHub Copilot CLI

1

Copy your Server URL

In MSPortal, go to Settings > MCP Server and copy the Server URL.
2

Add the remote server

Run this command, with your URL in place of the placeholder:
3

Authenticate with MSPortal

Start Copilot CLI with copilot, then enter:
In the browser window that opens, sign in to MSPortal, review the access and click Allow access. Signing in to GitHub does not authorize MSPortal, so you need this separate step.
4

Verify the connection

In Copilot CLI, enter:
Check that the server is connected and lists its tools. Then ask Copilot to call get_current_user and check the user and tenant.

Configure Copilot CLI by hand

You can set up the same connection in ~/.copilot/mcp-config.json:
VS Code and Copilot CLI use different formats. VS Code uses a servers object in its mcp.json. Copilot CLI uses an mcpServers object in ~/.copilot/mcp-config.json and does not read .vscode/mcp.json.

Use the grouped tools

The MSPortal catalog groups operations into up to 114 public tools that cover 359 existing operations. Copilot sees tools such as query_projects and manage_planner and picks the action from each tool’s schema. What you see depends on the server version and your access. Calls with the old single-operation names, such as list_projects, still work with their original arguments. Pending confirmations keep their operation and expiry. You do not need a new Server URL or more access. When you move to the grouped catalog, refresh Copilot’s tool list. In VS Code, open Configure Tools and enable the new tool names. In Copilot CLI, check any explicit tools list. The "tools": ["*"] example above does not name old tools and grants no extra permissions. A custom client that needs the old names in tools/list must update its discovery logic. See the tool reference.

Ask Copilot for changes safely

1

Start with read tools

Ask Copilot to use read tools for the company you name. Check the tool calls and what they returned.
2

Request a change

Ask for the change. Most changes return a proposal first. Read it.
3

Approve, then check

Approve only a proposal that matches your intent. Then open the record to check the result.
Copilot’s tool-approval prompt, MSPortal’s access prompt and a proposal confirmation are three different steps. A client-wide approval setting does not replace the proposal. Some tools run at once. Marking notifications changes state, and feedback submission sends the message you asked for. See Confirmation before changes.

Review or remove the connection

1

Open MCP Server settings

In MSPortal, go to Settings > MCP Server and find Connected clients.
2

Revoke the Copilot connection

Click Revoke beside the Copilot client and confirm.
The access you approve is limited by your MSPortal role, tenant and company visibility. Revoking does not delete your local Copilot configuration or take back data already returned. An issued access token can work for up to about 15 minutes. Ask your MSP administrator to remove your MCP permission if requests must stop sooner.

Troubleshooting

Frequently asked questions

No. Sign in to MSPortal and approve access separately for the server connection.
No. The formats and file locations differ. Do not copy one into the other.
No. MSPortal still applies your OAuth access, role permissions, company scope and tool limits.
No. It revokes the MSPortal grant and refresh sessions. Remove the local entry yourself if you do not want it.
No. Check the server status and ask Copilot to call get_current_user with the right user and tenant before you ask for company data.
No. They are separate. Review the proposal before you approve it.