Skip to main content
Glama
ezitounioussama

Local MCP Study Tools Server

Local MCP Study Tools Server

An MCP server that gives a study assistant three tools — explain a topic, build a study plan, generate a revision checklist — plus two read-only resources, project://course-outline and project://status. It runs over stdio, so the client starts it as a child process and nothing listens on a network port.

The interesting half is what the tools do with bad input. A failure is returned, not raised: an empty topic comes back as {"ok": false, "error": {"code": "EMPTY_TOPIC", "field": "topic", "hint": "..."}}, because an exception inside a tool reaches the agent as a stack trace it can't branch on. Out-of-range values aren't errors at all — days=30 is clamped to 14 and the response says it was clamped, since a caller that silently gets 14 can't tell a limit from a bug. And a topic that reads as an instruction rather than a subject never reaches the model.

uv venv
uv pip install -r requirements.txt

.venv/bin/python client_test.py     # connect over stdio, list tools, call them
.venv/bin/python agent_demo.py      # choose a tool, check it's allowed, then call it
.venv/bin/python tests.py           # 47 tests, no server or model needed

A local Ollama model (qwen3:8b) is used for explanations if it's running, and the response labels which source answered. Everything works without it.

Also in this repo

  • docs/mcp-checkpoint-report.md — the MCP architecture, every tool and resource, the client test output, the documented failure, the security notes, and two things measured while building (including a prompt guard sentence that became the topic, 6 runs out of 6)

  • docs/output.txt — raw log of the client test, the agent demo and the tests


Author: Oussama Ezitouni

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    Enables AI assistants to interact with Mender IoT platform for device management, deployment monitoring, and fleet analysis through natural language commands. Provides read-only access to device status, deployment logs, releases, and system monitoring capabilities.
    2
    MIT
  • F
    license
    A
    quality
    C
    maintenance
    Provides read-only access to Canvas LMS, enabling users to view active courses, grades, and upcoming assignments through natural language queries.
    2
    -