Skip to main content
Glama
cmaalto03
by cmaalto03
README.md
# py-mcp-students

A learning project that pairs a simple FastAPI student server with an MCP server, so an LLM like Claude can manage student records through natural language. The HTTP server stores students in memory and exposes endpoints for listing, adding, and deleting records. The MCP server wraps those endpoints as tools that Claude can call directly.

## Running the simple server

```bash
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python server/server.py
```

The server runs at `http://127.0.0.1:8000`.

| Tool             | Method     | Description                   |
| ---------------- | ---------- | ----------------------------- |
| `get_students`   | GET `/`    | List all students             |
| `add_student`    | POST `/`   | Add a student by name and age |
| `delete_student` | DELETE `/` | Remove a student by name      |

## Setting up the MCP server

Add the following to your Claude Desktop config under the `mcpServers` block:

```json
"students-server": {
  "command": "/path/to/py-mcp-students/.venv/bin/python",
  "args": ["/path/to/py-mcp-students/mcp_server.py"]
}
```

Replace `/path/to/py-mcp-students` with the absolute path to this repo. The MCP server communicates over stdio and requires the simple server to be running separately.

## Notes (to self)

- I want to expand upon the comments for each method in the mcp server and
  see which comments are most effective
- I want to use this as a learning basis for later mcp projects and look into
  effective routing for many mcp servers hosted on one url

Maintenance

ActivityStale
ResponsivenessNo issues