mcp-workshop
This server exposes two tools that can be used via MCP clients like GitHub Copilot or inspected with MCP Inspector:
hello_world: Returns a friendly "Hello, world!" message with no input required. Useful for verifying the server is connected and responding.add_numbers(first_number: float, second_number: float): Takes two numbers as input and returns their sum (supports integers or decimals).
The server can run in two modes: stdio (for automatic startup by clients) or HTTP (served at a local URL).
Provides tools (hello_world and add_numbers) that can be used from GitHub Copilot Chat in VS Code to perform simple operations.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-workshopAdd 3.5 and 2.5."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Build your first MCP server
This workshop is for beginners. You do not need to have used GitHub Copilot or MCP before.
By the end, you will have:
used two example tools;
created a Python tool of your own; and
asked Copilot to run your tool.
What are Copilot, MCP, and tools?
GitHub Copilot is an AI assistant inside VS Code. You can type requests into Copilot Chat.
An MCP server is a small program that gives Copilot extra abilities.
A tool is one of those abilities. In this project, each tool is a Python function.
For example, this server has an add_numbers tool. Copilot can choose that
tool, send it two numbers, and show you the answer.
Related MCP server: Demo Server
Part 1: Open the workshop
Use GitHub Codespaces so that everything is installed for you.
Open this repository on GitHub.
Select the green Code button.
Select the Codespaces tab.
Select Create codespace on main.
Wait until VS Code appears and the terminal says:
Devcontainer setup complete.
You are now using VS Code in your browser. The files are on the left, the code editor is in the middle, and the terminal is at the bottom.
If GitHub asks you to sign in or enable Copilot, follow the message on screen. Ask your teacher if your account does not have access to Copilot.
Part 2: Open Copilot Chat
Find the Copilot icon near the top of VS Code.
Select it to open Copilot Chat.
If asked to sign in, sign in with your GitHub account.
Type this prompt into the chat box and press Enter:
Say hello in one short sentence.
If Copilot replies, it is ready.
Part 3: Try the MCP server
This project is already configured to connect the server to Copilot.
Reload VS Code: open the Command Palette with Ctrl+Shift+P, type
Developer: Reload Window, and press Enter.Open Copilot Chat again.
Type this prompt:
Use the hello_world tool from mcp-workshop.Copilot may ask for permission to use the tool. Select Allow or Continue.
You should see
Hello, world!.Now type this prompt:
Use the add_numbers tool from mcp-workshop to add 7 and 5.
You should get 12.
Part 4: Create your own tool
Open src/mcp_workshop/server.py from the file list on the left.
Find the comment that says STEP 3. Directly above that comment, copy and
paste this tool:
@mcp.tool()
def favourite_colour(name: str) -> str:
"""Tell someone your favourite colour."""
return f"{name}, my favourite colour is blue!"Change blue to your favourite colour, then save the file with
Ctrl+S.
What each line means:
@mcp.tool()tells the server that Copilot is allowed to use the function.def favourite_colour...gives the tool a name and one input calledname.strmeans the input and answer are text.The text inside
"""explains the tool to Copilot.returngives the answer back to Copilot.
Part 5: Use your tool
Reload VS Code again using
Developer: Reload Window.Open Copilot Chat.
Type this prompt:
Use the favourite_colour tool from mcp-workshop. My name is Alex.Allow the tool if Copilot asks for permission.
You have built and used your first MCP tool.
Create a tool of your own
Choose something small and fun. For example, your tool could:
create a superhero name;
convert minutes to seconds;
recommend a film genre;
calculate the area of a rectangle; or
give a random study suggestion.
Use this template:
@mcp.tool()
def your_tool_name(your_input: str) -> str:
"""Explain clearly what your tool does."""
return "Replace this with your answer"Change the function name, input, explanation, and returned answer. Save the file, reload VS Code, and ask Copilot to use the new tool.
If something does not work
Try these checks in order:
Copilot does not open: make sure you are signed in to GitHub and ask your teacher to check that you have Copilot access.
Your tool does not appear: save
server.py, then reload VS Code.Copilot does not use the tool: ask it to
Use the TOOL_NAME tool from mcp-workshop.There is a red line in your code: compare your tool with the template. Check the brackets, colon, quotation marks, and indentation.
The server reports an error: undo your latest change with Ctrl+Z, save, and reload VS Code.
It still does not work: show your code and the complete error message to your teacher.
Optional: run the tests
In the terminal at the bottom of VS Code, enter:
pytestThe result should say 2 passed.
Optional: work without Codespaces
Install Python 3.10 or newer, open a terminal in this repository, and run:
python -m venv .venv
source .venv/bin/activate
pip install -e .[dev]On Windows PowerShell, replace the second command with:
.venv\Scripts\Activate.ps1Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/RossTarrant/mcp-workshop'
If you have feedback or need assistance with the MCP directory API, please join our Discord server