Skip to main content
Glama

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

Related MCP server: MCP Chat

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

Step 2: Install dependencies

uv is a fast Python package installer and resolver.

  1. Install uv, if not already installed:

pip install uv
  1. Create and activate a virtual environment:

uv venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  1. Install dependencies:

uv pip install -e .
  1. Run the project

uv run main.py

Option 2: Setup without uv

  1. Create and activate a virtual environment:

python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  1. Install dependencies:

pip install anthropic python-dotenv prompt-toolkit "mcp[cli]==1.8.0"
  1. Run the project

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.

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.

Available Tools

2 tools
edit_documentA

Edit a document by replacing a string in the documents content with a new string

Inputs: doc_id (required), new_str (required), old_str (required).

read_doc_contentsA

Read the contents of a document and return it as a string.

Inputs: doc_id (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.6/5.0

    Scored across 2 tools

    Disambiguation5/5

    read_doc_contents and edit_document perform clearly distinct operations: reading versus modifying content. There is no functional overlap between the two tools.

    Naming Consistency4/5

    Both names follow a verb_noun snake_case pattern, but 'doc' in read_doc_contents is abbreviated while 'document' is spelled out in edit_document. This is a minor inconsistency rather than a systemic problem.

    Tool Count3/5

    Two tools is borderline: the set is small but each tool serves a clear purpose. It feels thin for a general document server, though it could be sufficient for a very narrow read/edit-only use case.

    Completeness2/5

    The domain appears to be document manipulation, but the surface is missing obvious operations like creating, deleting, listing, or searching documents. Edit is also limited to simple string replacement, which leaves significant workflow gaps.

    Maintenance

    ActivitySlowing
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers