MCP Server Deployment Demo
# MCP Server Deployment Demo
This project is a demonstration of how to create and deploy a simple server that adheres to the Model-Context-Protocol (MCP). It provides a basic tool that can be called by an MCP client, such as an AI model like Claude.
## Overview
The Model-Context-Protocol (MCP) is a specification for communication between a large language model (or other AI agent) and a local development environment. It allows the model to access local context and execute tools securely.
This project implements a simple MCP server using the `mcp` Python library. The server exposes a single tool, `add`, which takes two integers and returns their sum.
## Features
- A simple `FastMCP` server implementation.
- A basic `add(x: int, y: int) -> int` tool.
- Packaged as a Python project using `pyproject.toml` and `setuptools`.
- Ready for installation and deployment.
## Project Structure
- `pyproject.toml`: Defines project metadata, dependencies, and build configuration. The `[project.scripts]` section defines the `mcp-server` command.
- `src/mcpserver/deployment.py`: Contains the core logic for the MCP server, including the definition of the `add` tool.
- `src/mcpserver/__main__.py`: Provides the main entry point to run the server from the command line.
## Getting Started
### Prerequisites
- Python 3.12+
- [uv](https://github.com/astral-sh/uv) (a fast Python package installer and resolver)
### Installation
1. **Clone the repository:**
```bash
git clone https://github.com/AdarshChaudhary03/mcp-server-deployment.git
cd mcp-server-deployment
```
2. **Install dependencies:**
Create a virtual environment and install the project in editable mode.
```bash
uv venv
source .venv/bin/activate
uv pip install -e .
```
### Running the Server
Once installed, you can run the MCP server using the script defined in `pyproject.toml`:
```bash
mcp-server
```
## Claude Integration
To use this server as an MCP host for a client like Claude, you need to update your Claude configuration file (`claude-config.json`). Add the following entry to the `mcpHosts` section.
This configuration tells the Claude client how to launch and communicate with your MCP server. It uses `uvx` to run the server directly from the Git repository, ensuring you are always using the latest version.
**Note:** Make sure to replace the `command` and `directory` paths with the correct absolute paths for your system.
```json
"MCPServer": {
"command": "/Library/Frameworks/Python.framework/Versions/3.13/bin/uvx",
"args": [
"--directory",
"/Users/adarshchaudhary/Desktop/ai-projects/mcp-servers/mcp-server-deployment",
"--from",
"git+https://github.com/AdarshChaudhary03/mcp-server-deployment",
"mcp-server"
]
}
```
TDQS
Scored across 1 tool
With only one tool, there is no possibility of confusion or overlap between tools. The tool 'add' has a clear and distinct purpose that cannot be mistaken for any other tool in the set.
A single tool inherently has perfect naming consistency, as there are no other tools to compare it against. The tool name 'add' follows a simple verb pattern, which is appropriate for its function.
A single tool for a server named 'MCP Server Deployment Demo' is too few for the apparent scope, which suggests deployment-related operations. This minimal set feels thin and inadequate for handling deployment tasks beyond basic arithmetic.
The tool set is severely incomplete for a deployment domain. With only an 'add' tool for integers, there are obvious gaps in deployment operations such as deploying, configuring, monitoring, or managing servers, making the surface unusable for its stated purpose.