README.md•2.79 kB
# 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"
]
}
```