Skip to main content

A terminal-based UI for LLMs with PydanticAI and MCP integration

Project description

LLM Terminal

A terminal-based UI for interacting with LLMs through PydanticAI, featuring dynamic configuration and MCP tool integration.

Features

  • Terminal UI: Built with Textual.
  • LLM Interaction: Powered by PydanticAI with streaming markdown responses.
  • Model & Prompt Configuration: Change the LLM model identifier and system prompt on-the-fly.
  • MCP Integration: Executes tools (like Python code) via MCP servers defined in mcp_config.json.
  • Dynamic Configuration: Load MCP servers from mcp_config.json.
  • Chat Management: Start new chat sessions easily.
  • Logging: Session activity logged to app.log.

Prerequisites

  • Python 3.10 or higher
  • Deno (required by the default MCP Python server)

Installation

git clone https://github.com/ferdousbhai/llm-terminal.git
cd llm-terminal
uv sync

Configuration

The application uses mcp_config.json to define MCP servers. A default configuration for running Python code is created if the file doesn't exist. You can edit this file directly via the "Edit MCP Config" button within the app and reload it using the "Reload MCP Config" button.

Usage

uv run llm-terminal

License

MIT

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

llm_terminal-0.1.0.tar.gz (69.0 kB view details)

Uploaded Source

Built Distribution

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

llm_terminal-0.1.0-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file llm_terminal-0.1.0.tar.gz.

File metadata

  • Download URL: llm_terminal-0.1.0.tar.gz
  • Upload date:
  • Size: 69.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.0

File hashes

Hashes for llm_terminal-0.1.0.tar.gz
Algorithm Hash digest
SHA256 de5ea4f925405a0cbe5c58c070eeb71969ade6daf0de684317066a94d0168911
MD5 8a0c093d4f5529fba231dcb450dabdd6
BLAKE2b-256 ca583f626ab34b6fbccc2c1ec8c40c231d383a5542ed77ebd49b782086317e7c

See more details on using hashes here.

File details

Details for the file llm_terminal-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: llm_terminal-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.0

File hashes

Hashes for llm_terminal-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 11db58b7632a8c9d73c7060696afff5f422b5c3a1d905043ed6d30e09093a80c
MD5 8da1dd1fff1d5132f2475f95cbfd36f9
BLAKE2b-256 fe8b58c8b2d69d92c481d6fcd6dfc6fbe50a4cc99ae2f8fe5ff3346b09a9bed3

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