Token导航 LogoToken导航

MCP Server · 开发工具

My Chat Bot

一个完全在本地运行的AI代码助手,通过RAG架构和MCP协议提供精确的代码问题解答,适用于离线开发环境。

stdio官方级别未说明来源级核验工具 0
本地运行PythonClaudeClaude DesktopVS Code

快速开始

作者 / 组织
Ruy41321
提供方
Ruy41321
运行时
Python

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

1

仓库热度

收录来源

1 个

MCP World

选型结论

My Chat Bot 属于开发工具类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude、VS Code,有可以直接复制的安装命令;接入前先确认权限范围。

分类

开发工具

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

python -m venv venv

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

🧠 MyChatBot — Local AI Code Assistant

Un assistente AI locale che gira interamente sulla tua macchina, anche offline. Usa deepseek-r1:32b tramite Ollama per rispondere a domande sui tuoi progetti di codice, grazie a un'architettura RAG (Retrieval-Augmented Generation) e un server MCP (Model Context Protocol).

"Nel progetto IceSkating come funziona la fisica del movimento del player?"
→ L'AI cerca nel tuo codice, trova i file rilevanti, e risponde con dettagli precisi.

📐 Architettura

┌─────────────────────────────────────────────────────────┐
│                    Browser (localhost:8000)              │
│              Dark theme chat UI + streaming              │
└──────────────────────┬──────────────────────────────────┘
                       │ WebSocket
┌──────────────────────▼──────────────────────────────────┐
│                  FastAPI Server (UI)                      │
│                 src/ui/server.py                          │
└────────┬─────────────────────────────┬──────────────────┘
         │                             │
┌────────▼────────┐          ┌─────────▼─────────┐
│  RAG Retriever  │          │   LLM Client      │
│  ChromaDB +     │          │   Ollama async     │
│  rapidfuzz      │──context─▶   deepseek-r1:32b │
└────────┬────────┘          └─────────┬─────────┘
         │                             │
┌────────▼────────┐          ┌─────────▼─────────┐
│  Sentence-      │          │   Ollama Server    │
│  Transformers   │          │   localhost:11434  │
│  (embeddings)   │          └───────────────────┘
└─────────────────┘

┌─────────────────────────────────────────────────────────┐
│              MCP Server (porta 8001)                     │
│         Strumenti indipendenti per client esterni        │
└─────────────────────────────────────────────────────────┘

🧩 Cos'è cosa? (Guida ai concetti)

🔄 RAG — Retrieval-Augmented Generation

Il problema: un LLM sa solo quello che ha appreso durante il training. Non conosce i tuoi file.

La soluzione RAG aggiunge un passaggio prima di chiedere al modello:

1. CHUNKING     Il tuo codice viene diviso in pezzi da ~1500 caratteri
                Ogni funzione/classe diventa un "chunk"

2. EMBEDDING    Ogni chunk viene convertito in un vettore di 384 numeri
                Frasi simili → vettori vicini nello spazio
                Modello: all-MiniLM-L6-v2 (22MB, gira su CPU)

3. INDEXING     I vettori vengono salvati in ChromaDB (database vettoriale)
                Persistente su disco in data/chroma_db/

4. RETRIEVAL    Quando fai una domanda, la tua domanda viene convertita
                nello stesso spazio vettoriale e si cercano i chunk più simili
                (cosine similarity = quanto due vettori puntano nella stessa direzione)

5. AUGMENTATION I chunk trovati vengono aggiunti al prompt come "contesto"
                "Ecco del codice rilevante: [chunk1] [chunk2] ..."

6. GENERATION   Il modello legge il contesto e genera una risposta informata

Perché funziona anche con errori di battitura?

  • La ricerca semantica (embeddings) cattura il significato, non le parole esatte
  • rapidfuzz aggiunge fuzzy matching sui nomi di progetto/file per casi limite
  • Esempio: "fisika del movimiento" → vettorialmente vicino a "physics of movement"

🔌 MCP — Model Context Protocol

MCP è un protocollo standard (creato da Anthropic) per dare strumenti all'AI:

Senza MCP:  L'AI può solo "parlare" — genera testo e basta
Con MCP:    L'AI può "agire" — leggere file, cercare codice, eseguire query

Concetti chiave:

  • Tool — una funzione che l'AI può chiamare (es. read_file(path))
  • Resource — un dato che l'AI può consultare (es. project://IceSkating/structure)
  • Transport — come client e server comunicano (stdio per CLI, streamable-http per web)

Il nostro MCP server gira sulla porta 8001, separato dalla UI. Questo significa che in futuro puoi collegarlo a Claude Desktop, VS Code, o qualsiasi client MCP senza modificare nulla.

🦙 Ollama

Ollama è il runtime locale per modelli LLM:

  • Scarica e gestisce i pesi del modello (~20GB per deepseek-r1:32b)
  • Espone un'API HTTP su localhost:11434
  • Gestisce automaticamente CPU/GPU, quantizzazione, context window
  • Nel nostro progetto, il Python ollama package chiama questa API

⚡ Quickstart

Prerequisiti (da installare manualmente)

SoftwareVersioneVerifica
Python3.12+python --version
Ollamalatestollama --version
deepseek-r1:32b—ollama list (deve comparire)
Hardware consigliato: 32GB RAM, SSD. Il modello 32B usa ~20GB di RAM quando attivo.

Setup (una volta sola)

# 1. Clona o entra nella cartella del progetto
cd C:\Users\Luigi\Developing\Personal\MyChatBot

# 2. Crea un virtual environment
python -m venv venv

# 3. Attivalo
# Windows:
venv\Scripts\activate
# Linux/Mac:
# source venv/bin/activate

# 4. Installa PyTorch CPU-only (risparmia ~1.5GB)
pip install torch --index-url https://download.pytorch.org/whl/cpu

# 5. Installa le dipendenze
pip install -r requirements.txt

# 6. (Opzionale) Copia e personalizza la configurazione
copy .env.example .env

Avvio

# Un solo comando avvia TUTTO (Ollama, indicizzazione, MCP, UI)
python launch.py

Il browser si aprirà automaticamente su http://localhost:8000.

Chiusura

  • Ctrl+C nel terminale → tutti i servizi si fermano ordinatamente
  • Oppure chiudi il terminale → stessa cosa

📁 Struttura del Progetto

MyChatBot/
├── launch.py                  # 🚀 Entry point — avvia tutto
├── requirements.txt           # 📦 Dipendenze Python
├── .env.example               # ⚙️ Template configurazione
├── .gitignore
├── copilot_instructions.md    # 🤖 Regole per GitHub Copilot
├── README.md                  # 📖 Questo file
│
├── src/
│   ├── config.py              # ⚙️ Configurazione centralizzata
│   │
│   ├── rag/                   # 🔍 Retrieval-Augmented Generation
│   │   ├── chunker.py         #    Divide i file in pezzi
│   │   ├── indexer.py         #    Indicizza i progetti in ChromaDB
│   │   └── retriever.py       #    Cerca i chunk più rilevanti
│   │
│   ├── llm/                   # 🧠 Integrazione LLM
│   │   ├── client.py          #    Wrapper async per Ollama
│   │   └── prompts.py         #    Template dei prompt di sistema
│   │
│   ├── mcp/                   # 🔌 Model Context Protocol
│   │   ├── server.py          #    Server MCP (porta 8001)
│   │   └── tools.py           #    Definizione degli strumenti
│   │
│   └── ui/                    # 🎨 Interfaccia utente
│       ├── server.py          #    FastAPI + WebSocket
│       └── static/            #    Frontend (HTML/CSS/JS)
│           ├── index.html
│           ├── style.css
│           └── script.js
│
├── docker/                    # 🐳 Containerizzazione (opzionale)
│   ├── Dockerfile
│   └── docker-compose.yml
│
└── data/                      # 💾 Dati persistenti (gitignored)
    └── chroma_db/             #    Database vettoriale

🐳 Docker (opzionale)

Docker containerizza solo l'app Python. Ollama rimane sull'host per massime performance (accesso diretto a CPU/RAM, nessun overhead).

# Avvia
docker-compose -f docker/docker-compose.yml up --build

# Ferma
docker-compose -f docker/docker-compose.yml down
Nota: il container comunica con Ollama sull'host tramite host.docker.internal:11434. Assicurati che Ollama sia in esecuzione prima di avviare il container.

🔧 Configurazione

Tutte le impostazioni sono in .env (copia da .env.example). Le più importanti:

VariabileDefaultDescrizione
OLLAMA_MODELdeepseek-r1:32bModello LLM da usare
PROJECTS_ROOTC:/Users/Luigi/DevelopingCartella dei progetti da indicizzare
EMBEDDING_MODELall-MiniLM-L6-v2Modello per gli embeddings
UI_PORT8000Porta della web UI
MCP_PORT8001Porta del server MCP
CHUNK_SIZE1500Dimensione chunk in caratteri
RAG_TOP_K8Numero di risultati RAG

🗺️ Roadmap

  • [x] Chat base con streaming
  • [x] RAG su progetti locali
  • [x] MCP server con strumenti base
  • [x] Dark theme UI moderna
  • [ ] Cronologia conversazioni persistente
  • [ ] Multi-modello (switch tra modelli Ollama)
  • [ ] Upload file nella chat
  • [ ] MCP tools aggiuntivi (esegui test, analisi dipendenze)
  • [ ] Indicizzazione incrementale (solo file modificati)
  • [ ] Deploy cloud con Docker

📄 Licenza

Progetto personale di apprendimento. Uso interno.

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

AI代码助手Python本地部署RAG架构本地运行代码检索开发工具

支持客户端

Claude DesktopClaudeVS Code

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude、VS Code,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
My Chat Bot

MCP World · 本页

0stdio有1 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

My Chat Bot 怎么安装?

公开资料给出的安装命令是 python -m venv venv,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

My Chat Bot 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

My Chat Bot 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

My Chat Bot 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

My Chat Bot 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude、VS Code;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP