Skip to main content

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., npx packages)
  • 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

claude_sdk_tutor-0.1.7.tar.gz (90.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

claude_sdk_tutor-0.1.7-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file claude_sdk_tutor-0.1.7.tar.gz.

File metadata

  • Download URL: claude_sdk_tutor-0.1.7.tar.gz
  • Upload date:
  • Size: 90.2 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

Hashes for claude_sdk_tutor-0.1.7.tar.gz
Algorithm Hash digest
SHA256 a4329a25b9d634f6a4a783a3e8cc13c28fc59946e590e24239e581abc7a066ff
MD5 4d59b5fc3388fa92eaa5e88cfeb4317b
BLAKE2b-256 5700b84c65efea7956a9c4ebf53f60263787520b38b64868005ae75be92d67ff

See more details on using hashes here.

File details

Details for the file claude_sdk_tutor-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: claude_sdk_tutor-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 14.8 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

Hashes for claude_sdk_tutor-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 eb0a3c27fc8ee69bc619ae250c221eaf5ffc6933a6724393ce8ad5661ca43800
MD5 637bfa5f614570d73c42b32f55e4fc9a
BLAKE2b-256 c9e337cfc2417b3ddc068a8784bb6063f571776ed9ba0495b34da842b72bf6f7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page