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 loginif 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: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 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.
copilot, then enter: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 asquery_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.
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.
Troubleshooting
Frequently asked questions
Does enabling a tool bypass company scope?
Does enabling a tool bypass company scope?
No. MSPortal still applies your OAuth access, role permissions, company scope and tool limits.
Does Revoke delete my local MCP setup?
Does Revoke delete my local MCP setup?
No. It revokes the MSPortal grant and refresh sessions. Remove the local entry yourself if you do not want it.
Does Copilot listing tools prove the connection works?
Does Copilot listing tools prove the connection works?
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.
Does Copilot's approval prompt replace the proposal confirmation?
Does Copilot's approval prompt replace the proposal confirmation?
No. They are separate. Review the proposal before you approve it.