- Hands-on time
- About 20 minutes — provisional, from reading the steps, not from timing anyone.
- You will need
- An MCP server configured for Copilot that shows as failed, or connects and exposes no tools
- Access to the client's MCP configuration and its error output
of 5 steps ticked
Get the actual error text
Before changing anything, capture the exact error your client shows for the server. Guessing from the symptom skips the one piece of evidence that names the stage.
Get the actual error first — the lesson section this comes from
Before you tick it: The error text, copied, with the client and server named.
Check whether the process starts at all
Run the server's command by hand, from the same working directory and environment the client uses. A command that cannot be found or exits immediately is a startup failure, not an MCP one.
Command not found, or exits immediately — the lesson section this comes from
Before you tick it: The process either stays running under your hand, or you have its exit message.
Check the transport and environment
For a stdio server, confirm nothing writes to stdout except protocol messages, and that every environment variable the server needs is set where the client launches it.
stdout noise and missing variables — the lesson section this comes from
Before you tick it: A clean stdout under a manual run, and the required variables listed with where they are set.
Make the client pick up the change
After any configuration edit, confirm the client reloaded it — many clients need a restart. A fix that has not been loaded looks identical to a fix that did not work.
The client never picked up the change — the lesson section this comes from
Before you tick it: The client's server list reflects the edit you made.
Check tool availability, not just connection
A server can connect and expose nothing. Confirm the tools you expect are listed, and if not, whether the server's own tool list is empty or the client is filtering.
It connected, and it has no tools — the lesson section this comes from
Before you tick it: The client's tool list for the server, and the stage at which your sequence stopped.
The finish lineFinished
You can name the stage — discovery, startup, transport, reload, or tools — where the problem sits, what you checked there, and the one change to make next. Finishing the checklist is not the same as the server working; that is the next run.
Ticks are your own record that you did each step. They are kept in this browser under one key and do not mark the source lessons complete — a step is one section of a lesson, not the lesson.
One next step
Now decide what the server is allowed to do
A server that connects is a server with tools an agent can call. The next decision is which of them, and the MCP lesson's security model is where that is made.
Only this session. Lessons, labs and other sessions are untouched.