mcp-server
Click on "Deploy 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-serverlist available tools and resources"
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.
Model Context Protocol (MCP) Server
The Model Context Protocol (MCP) Server is a server implementation that adheres to the Model Context Protocol. It is designed to facilitate communication between clients and models in a standardized way, enabling seamless integration and interaction.
Reference MCP Python SDK
This project aims to provide an example of a simple custom MCP server that can be used locally with tools like Copilot Chat. It demonstrates how to set up a server that can respond to requests and manage context information for clients.
Features
Context Management: The MCP Server manages context information for each client, allowing models to access relevant data and state information.
Protocol Compliance: The server strictly follows the MCP specifications, ensuring compatibility with other MCP-compliant clients and services.
Extensibility: The server is designed to be easily extensible, allowing developers to add new features and capabilities as needed.
Related MCP server: MCP Server Sample
Getting Started
To get started with the MCP Server, follow these steps:
Install UV Trying out UV instead of pip for this project: UV install methods
curl to download the script and pipe it to sh:
$ curl -LsSf https://astral.sh/uv/install.sh | shAdd $HOME/.local/bin to your PATH:
$ source $HOME/.local/bin/envCreate a uv-managed project:
$ uv init .Add MCP to the project dependencies:
$ uv add "mcp[cli]"Test the MCP Server You can test the MCP Server by running the following command:
$ uv run mcp dev main.pyRun the MCP Server
For integration with Copilot Chat, we need to create .vscode/mcp.json in the project root with the following content to the servers section
"mcp-server": {
"type": "stdio",
"command": "<uvPath>",
"args": [
"run",
"main.py"
]
}Then you can add the MCP resource to Copilot chat.. after that Copilot will have access to the defined resources and tools.
Here is an example of Copilot interacting with the greeting tool.
Hello, Ken! 🎉
I can see your MCP server is working beautifully - it just provided me with a
personalized greeting for you! It's fantastic to see your Model Context
Protocol server in action, dynamically generating content based on context.
Your MCP server setup looks solid with UV package management, and it's clearly
functioning well if it's able to serve up dynamic greetings through the protocol.
This is exactly the kind of extensible, context-aware functionality that makes MCP
so powerful!
What would you like to explore or build next with your MCP server, Ken? Whether
it's adding more dynamic resources, enhancing the greeting functionality, or
working on other features, I'm here to help! 🚀To run the MCP Server manually, use the following command:
// With Claude
$ uv run mcp install main
// Else
$ uv run main.pyAPI Reference
The MCP Server exposes a RESTful API for communication with clients. Refer to the API documentation for detailed information on available endpoints, request/response formats, and authentication requirements.
Contributing
Contributions to the MCP Server are welcome! If you would like to contribute, please follow these steps:
Fork the repository.
Create a new branch for your feature or bug fix.
Make your changes and commit them with descriptive messages.
Submit a pull request for review.
License
The MCP Server is licensed under the MIT License. See the LICENSE file for more information.
Available Tools
1 tooladdA
Add two numbers
| Name | Required | Description | Default |
|---|---|---|---|
| a | Yes | ||
| b | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is a pure function with no side effects, and the sole behavior 'Add two numbers' is fully disclosed. With no annotations to contradict, the description provides complete behavioral transparency for this simple operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no unnecessary words; it is front-loaded and earns its place. It communicates everything needed in the most compact form possible.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simple nature and the presence of an output schema (per context signal), the description sufficiently covers the function. There are no complex behaviors, side effects, or conditional logic to document.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description only generically mentions 'two numbers' without explaining the meaning or constraints of parameters a and b. It does not compensate for the lack of schema descriptions, leaving parameter semantics under-specified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Add' and identifies the resource as 'two numbers', clearly distinguishing it from the sibling arithmetic tools subtract, multiply, and divide. It is unambiguous and precisely states the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description is concise but does not explicitly state when to use this tool over alternatives; however, the operation is self-evident for the sibling context. It lacks explicit exclusions or alternative guidance, but the clear context of adding numbers implicitly covers the main use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v0.1.0- First observed
add
TDQS
Scored across 1 tool
Only one tool exists, so there is no possibility of confusion between tools.
With a single tool, naming is consistent and follows a clear pattern.
A single tool for simple arithmetic is far too few for a meaningful server; it feels incomplete.
The server only provides addition, leaving all other math operations and potential use cases uncovered, which is severely incomplete.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP server for AI dialogue using various LLM models via AceDataCloud
Remote MCP server for supportsheep: run AI interviews and manage support content for your blog.
Related MCP Servers
- AlicenseBqualityDmaintenanceAn educational implementation of a Model Context Protocol server that demonstrates how to build a functional MCP server for integrating with various LLM clients like Claude Desktop.1163MIT
- AlicenseBqualityDmaintenanceAn educational implementation of a Model Context Protocol server that demonstrates how to build a functional MCP server integrating with various LLM clients.2MIT
- AlicenseNot gradedqualityDmaintenanceAn implementation of the Model Context Protocol (MCP) server that enables multiple clients to connect simultaneously and handles basic context management and messaging with an extendable architecture.MIT
- AlicenseNot gradedqualityDmaintenanceA minimal WebSocket-based MCP server implementation that enables modern tool integrations with VSCode, Claude, and other applications.9ISC