MCP Server Example
# MCP Server Example
This project is an example of a simple web server, `mcp-server`, designed to be run easily and without a complex setup process.
It uses `uv`, a fast Python package manager, to execute the server directly from its GitHub repository in a temporary environment.
## Prerequisites
Before you can run the server, you need to have **`uv`** installed on your system.
### Install `uv`
**On macOS and Linux:**
```shell
curl -LsSf https://astral.sh/uv/install.sh | sh
```
**On Windows (PowerShell):**
```shell
irm https://astral.sh/uv/install.ps1 | iex
```
## Running the Server
You can run the server with a single command in your terminal. This command uses `uvx` to fetch the code from GitHub, set up a temporary environment, and run the `mcp-server` application.
```shell
uvx --from git+https://github.com/sakthigcp/mcpserverexample.git mcp-server
```
After running this, the server will start and be accessible on your local machine (typically at `http://127.0.0.1:8000`).
## Task Runner Configuration
The JSON snippet below is an example of how you might configure a task runner (like `just` or a custom script) to create a convenient alias for the run command.
In this configuration, a task named `addnumbers` is defined to execute the server.
```json
{
"addnumbers": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/sakthigcp/mcpserverexample.git",
"mcp-server"
]
}
}
```
If you were using a tool that reads this configuration, you could simply run `your-task-runner addnumbers` to start the server.
TDQS
Scored across 1 tool
With only one tool, there is no possibility of confusion or overlap between tools, making disambiguation perfect. The tool's purpose is clearly defined as adding two numbers, with no other tools to potentially conflict with.
With a single tool, naming consistency is inherently perfect as there are no other tools to compare against. The tool name 'add' follows a simple verb pattern, which is appropriate for its function.
A single tool for a server is generally too few for meaningful functionality, as it limits the server's scope and utility. While the tool is well-defined, the count feels thin and inadequate for most practical applications, indicating a mismatch in scope.
The server's domain appears to be basic arithmetic, but with only an addition tool, there are significant gaps in coverage (e.g., subtraction, multiplication, division). This incomplete surface will likely cause agent failures when other arithmetic operations are needed.