Add your description here
Project description
Claude Tutor
A terminal-based programming tutor powered by Claude. Built with Textual and the Claude Agent SDK.
Features
- Tutor Mode - Claude guides your learning instead of writing code for you
- Web Search - Optional online lookup capability
- MCP Servers - Extend Claude with external tools via Model Context Protocol
- Command History - Navigate previous commands with up/down arrows (persisted across sessions)
- Query Interruption - Cancel long-running queries with Escape or Ctrl+C
- File Access - Claude can read files in your codebase to provide contextual help
Overview
Claude Tutor is a TUI (Terminal User Interface) application designed to help you learn programming concepts. Unlike a typical coding assistant, Claude Tutor focuses on teaching rather than writing code for you. It will:
- Explain concepts clearly and thoroughly
- Guide you toward understanding with questions and hints
- Provide small examples to illustrate concepts
- Encourage you to write code yourself
- Review code you share, pointing out what works well and what could be improved
Installation
uv sync
Or install from PyPI:
uvx claude_tutor
Running
uv run python app.py
Using the TUI
When you launch Claude Tutor, you'll see a simple interface with:
- A welcome header at the top
- A chat log area in the middle showing your conversation
- A text input field at the bottom for typing messages
Type your programming questions in the input field and press Enter to send. Claude's responses will appear in the chat log. The interface uses color-coded panels to distinguish between different message types:
- Blue - Your messages
- Red - Claude's responses
- Grey - Tool usage (when Claude reads files in your codebase)
- Green - Slash command feedback
Keyboard Shortcuts
| Key | Action |
|---|---|
Enter |
Send message |
Up / Down |
Navigate command history |
Escape or Ctrl+C |
Cancel running query |
Command history is automatically saved between sessions.
Slash Commands
| Command | Description |
|---|---|
/help |
Shows a list of available commands. |
/clear |
Clears the conversation history and starts fresh. Your settings are preserved. |
/tutor |
Toggles tutor mode on/off. When on (default), Claude acts as a teacher. When off, Claude responds normally without the tutoring constraints. |
/togglewebsearch |
Toggles web search on/off. When on, Claude can use WebSearch and WebFetch tools to look up information online. Disabled by default. |
/mcp |
Manage MCP servers. Use /mcp help for detailed subcommands. |
MCP Server Support
Claude Tutor supports Model Context Protocol (MCP) servers, allowing you to extend Claude's capabilities with external tools.
MCP Commands
| Command | Description |
|---|---|
/mcp list |
List all configured servers with connection status |
/mcp test [name] |
Test MCP server connections |
/mcp add |
Add a new server (interactive wizard) |
/mcp add <name> <type> <cmd|url> [args] |
Add server directly |
/mcp remove <name> |
Remove a server |
/mcp enable <name> |
Enable a disabled server |
/mcp disable <name> |
Disable a server without removing it |
/mcp status [name] |
Show server configuration details |
Server Types
- stdio - Local process that communicates via stdin/stdout (e.g.,
npxpackages) - sse - Server-Sent Events endpoint
- http - HTTP endpoint
Example: Adding an MCP Server
/mcp add filesystem stdio npx -y @anthropic/mcp-filesystem
Or use the interactive wizard:
/mcp add
After adding or modifying servers, use /clear to reconnect with the updated configuration.
MCP server configurations are persisted to ~/.local/share/claude-sdk-tutor/mcp_servers.json.
Tech Stack
- Python 3.13+
- Textual - TUI framework
- Claude Agent SDK - Claude integration
- uv - Package manager
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file claude_sdk_tutor-0.1.6.tar.gz.
File metadata
- Download URL: claude_sdk_tutor-0.1.6.tar.gz
- Upload date:
- Size: 88.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb148290edb9fe3a8891a43f14ad600deb0b9cd599685258f8609d661b708086
|
|
| MD5 |
afe9abc815bc5c734f04ca27bc315b33
|
|
| BLAKE2b-256 |
a0e1d78ad9d5c28242cb3986e699d716b1c8a5782079ea2d2f21c7e7ddba45ed
|
File details
Details for the file claude_sdk_tutor-0.1.6-py3-none-any.whl.
File metadata
- Download URL: claude_sdk_tutor-0.1.6-py3-none-any.whl
- Upload date:
- Size: 14.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
980d1d0761f48d0ae81da97e33e1822b4099e46952ec849b514140cb7f226e1f
|
|
| MD5 |
1f1ad27bacf27ed9d75881ecf5657e36
|
|
| BLAKE2b-256 |
1406322b3b92ab78315d8ad1a2b9c261c7917e3f2bc3140585730ebd20612c39
|