MCP Chat
# MCP Chat
MCP Chat is a command-line interface application that enables interactive chat capabilities with AI models through the Anthropic API. The application supports document retrieval, command-based prompts, and extensible tool integrations via the MCP (Model Control Protocol) architecture.
## Prerequisites
- Python 3.9+
- Anthropic API Key
## Setup
### Step 1: Configure the environment variables
1. Create or edit the `.env` file in the project root and verify that the following variables are set correctly:
```
ANTHROPIC_API_KEY="" # Enter your Anthropic API secret key
```
See if u have python installed
Step 1 — Get an API key:
Go to console.anthropic.com
Sign in (or create an account)
Go to API Keys in the left sidebar
Click Create Key, give it a name, and copy it
Step 2 — Paste it in .env
open the .env file at /Users/akritiagrawal/Downloads/cli_project/.env and replace the empty quotes on line 2 with your key. It should look like:
env:\ANTHROPIC_API_KEY="sk-ant-api03-xxxxxxxxxxxxx"
### Step 2: Install dependencies
#### Option 1: Setup with uv (Recommended)
[uv](https://github.com/astral-sh/uv) is a fast Python package installer and resolver.
1. Install uv, if not already installed:
```bash
brew install uv
```
```bash
pip install uv
```
2. Create and activate a virtual environment:
```bash
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
```
3. Install dependencies:
```bash
uv pip install -e .
```
4. Run the project
```bash
uv run main.py
```
#### Option 2: Setup without uv
1. Create and activate a virtual environment:
```bash
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
```
2. Install dependencies:
```bash
pip install anthropic python-dotenv prompt-toolkit "mcp[cli]==1.8.0"
```
3. Run the project
```bash
python main.py
```
## Usage
### Basic Interaction
Simply type your message and press Enter to chat with the model.
### Document Retrieval
Use the @ symbol followed by a document ID to include document content in your query:
```
> Tell me about @deposition.md
```
### Commands
Use the / prefix to execute commands defined in the MCP server:
```
> /summarize deposition.md
```
Commands will auto-complete when you press Tab.
## Development
### Adding New Documents
Edit the `mcp_server.py` file to add new documents to the `docs` dictionary.
To run MCP Inspector server:
run
``` bash
mcp dev mcp_server.py
```
The mcp dev command launches the MCP Inspector — a web-based testing UI where you can interact with your MCP server without needing API credits. It lets you test your tools, resources, and prompts visually.
To run it:
```bash
uv run mcp dev mcp_server.py
```
Note the uv run prefix — you need it so the dependencies are available.
This will open a browser UI (usually at http://localhost:5173) where you can:
See all your tools and call them manually
Browse your resources
Test your prompts
### Implementing MCP Features
To fully implement the MCP features:
1. Complete the TODOs in `mcp_server.py`
2. Implement the missing functionality in `mcp_client.py`
### Linting and Typing Check
There are no lint or type checks implemented.
TDQS
Scored across 2 tools
Each tool handles a distinct operation: one reads document contents, the other edits by replacing a string. There is no overlap or ambiguity, so an agent can easily choose the correct tool based on the desired action.
Both tools follow a verb_noun pattern with snake_case (read_doc_contents, edit_document), which is consistent. However, one uses the abbreviation 'doc' while the other uses the full word 'document', creating a minor inconsistency in naming style.
With only two tools, the server feels very thin. The tools are fundamental but the count is borderline, offering minimal functionality for a document-focused server.
The set covers read and edit operations, but lacks create, delete, list, or search capabilities. These are notable gaps that could prevent agents from completing common document management workflows.