mcpField
M
mcp-chatbot

mcp-chatbot

github.com/mctrinhChat Apps20Updated 75w ago

About mcp-chatbot

mcp-chatbot is a modular async research assistant that pairs Anthropic Claude 3 with MCP. It targets academics and engineers who need on-demand literature search and summarisation. It offers both an interactive REPL and one-shot queries from the command line.

Key features

  1. 01Tool use through Claude 3
  2. 02Asynchronous modular architecture
  3. 03Research MCP server for paper search
  4. 04REPL mode and one-shot queries
  5. 05Model and port settings via environment variables

Use cases

  1. 01Searching and summarising recent papers on a topic
  2. 02Querying Claude with research tools from the command line
  3. 03Caching paper metadata organised by topic

MCP support

The project includes a research MCP server exposing search_papers and extract_info tools, which the chatbot invokes through MCP.

Details

From the project README

mcp-chatbot

A modular, async research assistant that combines Anthropic Claude 3 with the Model Context Protocol (MCP), delivering on‐demand literature search and summarisation for academics and engineers.


1. Project Structure

mcp-chatbot/
├── Dockerfile
├── pyproject.toml
├── uv.lock
├── README.md
├── server_config.json
├── research_server.py
├── papers/                  # Cached paper metadata by topic
├── mcp_chatbot/
│   ├── __init__.py
│   ├── cli.py               # Typer-based CLI
│   └── core.py              # Main chatbot engine
└── tests/
    └── test_core.py

2. Quick Start

2.1. Clone the Repository
git clone https://github.com/mctrinh/mcp-chatbot.git
cd mcp-chatbot
2.2. Install Dependencies
Install uv (recommended)
# Git Bash or WSL on Windows, doesn't work in standard Command Prompt or PowerShell
curl -LsSf https://astral.sh/uv/install.sh | sh

# Scoop (Windows)
scoop install uv

# Chocolatey (Windows - Administrator Command Prompt - Recommended)
choco install uv
uv --version
Install Python packages in project.dependencies in pyproject.toml
pip install -e .

3. Build and Run with Docker

# Build image
docker build -t mcp-chatbot:0.1 .

# Run server and CLI (ports 8001 and 8000)
docker run --rm -it -p 8001:8001 -p 8000:8000 mcp-chatbot:0.1

4. Run Without Docker (Local Dev)

# Install dependencies
uv pip install -e .[dev]

# Start the research server (MCP tool)
python research_server.py

# In a new terminal, launch the chatbot CLI
mcp-chatbot run

5. Try the Chatbot

5.1. REPL Mode
python -m mcp_chatbot.cli run

Or using the installed script:

mcp-chatbot run

Once inside the REPL (Read-Eval-Print Loop), you can interact with the chatbot directly by typing commands or queries. Example commands:

/prompts            # list Claude prompts
@folders            # list downloaded paper topics
AI alignment        # ask anything – Claude decide whether to invoke tools
5.2. One-shot Query
mcp-chatbot once "What are the latest trends in diffusion models?"

6. Configuration (Optional)

Environment variables and server_config.json control model and ports:

export ANTHROPIC_MODEL="claude-3-opus-20240229"
export RESEARCH_PORT=8001
export PAPER_DIR=./papers

7. Testing

# Installs pytest, coverage, etc.
uv pip install -e .[dev]

# Run unit tests
pytest -q

# With coverage (optional)
pytest --cov=mcp_chatbot

8. Road map

  • Research MCP server with search_papers and extract_info (done)

  • Tool usage via Claude 3 (done)

  • Prompt orchestration (done)

  • Vector search over stored papers (Faiss / Chroma)

  • Web UI using FastAPI + React

  • GitHub Actions for CI/CD

9. License

MIT License. Copyright © 2025.

10. Current Issues

Issues occur when running mcp-chatbot run

  • ⚠ Could not connect to server 'fetch': Method not found
  • ⚠ Could not connect to server 'filesystem': Method not found

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.