Atlas / MCP servers / keli-wen / Mcp Chatbot

Mcp ChatbotSAFE

mcp/keli-wen/mcp-chatbot-1

A chatbot implementation compatible with MCP (terminal / streamlit supported)

Verdict
SAFE
Grade
B
Trust score
89 /100
Exposed tools
2 1r · 1w · 0d
Transport
—
License
MIT
Stars
251
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

This project demonstrates how to integrate the Model Context Protocol (MCP) with customized LLM (e.g. Qwen), creating a powerful chatbot that can interact with various tools through MCP servers. The implementation showcases the flexibility of MCP by enabling LLMs to use external tools seamlessly.

[!TIP] For Chinese version, please refer to README_ZH.md.

Overview

Chatbot Streamlit Example

Workflow Tracer Example

  • 🚩 Update (2025-04-11):
  • Added chatbot streamlit example.
  • 🚩 Update (2025-04-10):
  • More complex LLM response parsing, supporting multiple MCP tool calls and multiple chat iterations.
  • Added single prompt examples with both regular and streaming modes.
  • Added interactive terminal chatbot examples.

This project includes:

  • Simple/Complex CLI chatbot interface
  • Integration with some builtin MCP Server like (Markdown processing tools)
  • Support for customized LLM (e.g. Qwen) and Ollama
  • Example scripts for single prompt processing in both regular and streaming modes
  • Interactive terminal chatbot with regular and streaming response modes

Requirements

  • Python 3.10+
  • Dependencies (automatically installed via requirements):
  • python-dotenv
  • mcp[cli]
  • openai
  • colorama

Installation

  1. Clone the repository:
git clone [email protected]:keli-wen/mcp_chatbot.git
cd mcp_chatbot
  1. Set up a virtual environment (recommended):
cd folder

# Install uv if you don't have it already
pip install uv

# Create a virtual environment and install dependencies
uv venv .venv --python=3.10

# Activate the virtual environment
# For macOS/Linux
source .venv/bin/activate
# For Windows
.venv\Scripts\activate

# Deactivate the virtual environment
deac
Read from source at commit de34968d42e4OBSERVED · 2026-10-06
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code
claude mcp add mcp-simple-chatbot --env LLM_API_KEY=${LLM_API_KEY} -- uvx mcp-simple-chatbot
claude-desktop
{
  "mcpServers": {
    "mcp-simple-chatbot": {
      "command": "uvx",
      "args": [
        "mcp-simple-chatbot"
      ],
      "env": {
        "LLM_API_KEY": "${LLM_API_KEY}"
      }
    }
  }
}
03

Exposed tools (2)

1 read · 1 write · 0 destructive.

ToolRiskDescription
read_markdown_filereadRead markdown files from a directory.
write_markdown_filewriteWrite content to a markdown file in a specified directory,
04

Trust audit

SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
declared (2 observation(s))
Shell
none-observed
Dependencies
not all pinned
Secrets in source
none-found

Findings (3)

LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
requirements.txt
python-dotenv, mcp, colorama, openai, requests, streamlit
Why it matters. 6 requirement(s) not pinned with ==
Fix. pin exact versions
LOWPrompt injection · prompt.authority_framing · CWE-94, CWE-1427
data-example/mcp-python-sdk-readme.md:417
For more control, you can use the low-level server implementation directly. This gives you full access to the protocol and allows you to customize every aspect of your server, including lifecycle mana
INFOInventory / provenance · inv.oversize · CWE-1104
assets/mcp_chatbot_streamlit_demo_low.gif
assets/mcp_chatbot_streamlit_demo_low.gif
Why it matters. 7795345 bytes not read

Gates applied: no_behavioural_pass.

Audited 2026-10-06 · audit v0.4.1 · source sha de34968d42e4full audit observations/trust-audit/mcp-server/keli-wen__mcp-chatbot-1.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-06de34968d42e4SAFEB89first audit
06

Questions

What is the Mcp Chatbot MCP server?

A chatbot implementation compatible with MCP (terminal / streamlit supported)

What tools does Mcp Chatbot expose?

2 in total: 1 read-only, 1 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is Mcp Chatbot safe to connect to an agent?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.

What credentials does Mcp Chatbot need?

It reads LLM_API_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How current is this page?

The grade is for one exact copy of the source (de34968d42e4), read on 2026-10-06. The repository is watched and re-audited when it changes.

Advertisement