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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de5ea4f925405a0cbe5c58c070eeb71969ade6daf0de684317066a94d0168911
|
|
| MD5 |
8a0c093d4f5529fba231dcb450dabdd6
|
|
| BLAKE2b-256 |
ca583f626ab34b6fbccc2c1ec8c40c231d383a5542ed77ebd49b782086317e7c
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11db58b7632a8c9d73c7060696afff5f422b5c3a1d905043ed6d30e09093a80c
|
|
| MD5 |
8da1dd1fff1d5132f2475f95cbfd36f9
|
|
| BLAKE2b-256 |
fe8b58c8b2d69d92c481d6fcd6dfc6fbe50a4cc99ae2f8fe5ff3346b09a9bed3
|