Simple Remote MCP Server
# Simple MCP Server (FastMCP)
This repository demonstrates how to create, test, and deploy a **simple remote MCP server** using **FastMCP**, **uv**, and **GitHub**.
---
## Prerequisites
Make sure you have the following installed:
- Python 3.10+
- `uv` (Python package manager)
- Git
- VS Code (recommended)
- Node.js (for MCP Inspector)
---
## Step-by-Step Guide
### 1. Install `uv`
`uv` is a fast Python package manager and runtime.
```bash
pip install uv
```
---
### 2. Create a new project folder
```bash
mkdir simple-mcp-server
cd simple-mcp-server
```
---
### 3. Open the folder in VS Code
```bash
code .
```
---
### 4. Initialize the project
```bash
uv init
```
This creates:
- `pyproject.toml`
- Virtual environment configuration
---
### 5. Install FastMCP
```bash
uv add fastmcp
```
FastMCP allows you to build MCP-compatible servers easily.
---
### 6. Create a simple server
Create a file called `main.py`:
```python
from fastmcp import FastMCP
mcp = FastMCP("Simple MCP Server")
@mcp.tool()
def hello(name: str) -> str:
return f"Hello, {name}! Welcome to MCP."
if __name__ == "__main__":
mcp.run()
```
---
### 7. Run the server
```bash
uv run main.py
```
Your MCP server will start locally.
---
### 8. Test using MCP Inspector
Use **MCP Inspector** to:
- Connect to the server
- Verify tools are listed
- Send test requests
This confirms your server is MCP-compliant.
---
### 9. Create a GitHub repository
Create a new repo on GitHub named:
```
simple-mcp-server
```
---
### 10. Initialize Git locally
```bash
git init
git add .
git commit -m "Initial commit: Simple MCP server"
```
---
### 11. Add GitHub remote & push
```bash
git remote add origin https://github.com/yourusername/simple-mcp-server.git
git push -u origin main
```
---
### 12. Deploy on FastMCP Cloud
1. Create an account on **FastMCP Cloud**
2. Connect your GitHub repository
3. Deploy the project
After deployment:
- Your MCP server gets a public endpoint
- It can be used by MCP clients and LLM agents
---
## Project Structure
```
simple-mcp-server/
│── main.py
│── pyproject.toml
│── README.md
```
---
## Next Steps
- Add more MCP tools
- Connect this server to LLM agents
- Add authentication & logging
---
Happy building 🚀
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: 'add' performs arithmetic addition on two numbers, while 'random_number' generates a random integer within a specified range. There is no overlap in functionality, making it easy for an agent to select the correct tool based on the task.
The naming is mixed: 'add' is a simple verb, while 'random_number' uses a noun phrase with an underscore. This lacks a consistent pattern like verb_noun, but the names are still readable and descriptive enough to understand their functions.
With only 2 tools, the server feels thin and under-scoped for a 'Simple Remote MCP Server' that might imply broader utility. While the tools are functional, the count is too low to cover a meaningful domain, limiting the server's coherence and usefulness for agents.
Inferred as a basic utility server, the tool set is severely incomplete; it lacks common operations like subtraction, multiplication, or other random generation methods (e.g., floats). This creates significant gaps that could lead to agent failures when trying to perform basic mathematical or random tasks.