Scrape documentation websites, index in Chroma, expose retrieval through MCP
Project description
Guide d'Installation et d'Utilisation - docsite-ingest-mcp
Guide simple pour installer et utiliser docsite-ingest-mcp dans votre projet.
Installation
Prérequis
- Python 3.11+
- pip
Installer le package
pip install docsite-ingest-mcp
Vérifier l'installation
python -m docsite_ingest_mcp --help
Ou si la commande n'est pas reconnue:
python -m docsite_ingest_mcp --help
Configuration Rapide
1. Créer un fichier sites.json
Créer un fichier sites.json pour définir les documentations à indexer:
{
"sites": [
{
"site_id": "haystack",
"site_name": "Haystack Documentation",
"start_url": "https://docs.haystack.deepset.ai/docs/intro",
"allowed_host": "docs.haystack.deepset.ai",
"allowed_path_prefix": "/docs/"
}
]
}
Paramètres:
site_id: Identifiant unique (utilisé pour nommer les fichiers)site_name: Nom de la documentationstart_url: URL de départ du crawlallowed_host: Domaine du siteallowed_path_prefix: Préfixe des URLs à crawler
2. Indexer les documentations
Première fois (peut prendre plusieurs minutes):
python -m docsite_ingest_mcp ingest --sites-config sites.json
python -m docsite_ingest_mcp ingest --sites-config sites.json
Les données seront stockées dans data/:
data/raw/: Documents scrapésdata/chroma/: Base de données vectorielle
Mises à jour futures:
python -m docsite_ingest_mcp ingest --incremental
Intégrer dans Claude (via MCP)
1. Lancer le serveur MCP
python -m docsite_ingest_mcp mcp-server
Le serveur expose une recherche sémantique des documentations indexées.
2. Configurer Claude pour utiliser votre MCP
Option A: Avec claude-desktop (Recommandé)
Éditer %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"docsite_ingest_mcp": {
"command": "python",
"args": ["-m", "docsite_ingest_mcp", "serve"],
"env": {
"MCP_SYSTEM_PROMPT": "You have access to indexed documentation for: FastApi, Python, Django. ALWAYS search this documentation first before using your training data. For ANY technical question about these products, call list_indexed_doc_sites() then search_documentation() immediately. Provide source URLs in all answers."
}
},
}
À personnaliser :
- Remplacez
Django, FastAPI, Pythonpar les noms exacts des documentations que vous avez indexées (visibles avec la commandelist_indexed_doc_sites())
Impact : L'orchestrateur comprendra exactement quelles documentations sont disponibles et cherchera en priorité dans votre MCP plutôt que dans sa mémoire d'entraînement.
Puis redémarrer Claude Desktop.
Option B: Via cURL (Test rapide)
# Terminal 1: Lancer le serveur
python -m docsite_ingest_mcp serve
Option C: Intégration Programmatique
Dans votre application Python:
import subprocess
import json
# Démarrer le serveur
process = subprocess.Popen(
["docsite_ingest_mcp", "serve"],
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE
)
Commandes Utiles
Indexer un seul site (ad-hoc)
python -m docsite_ingest_mcp ingest \
--site-id my-docs \
--site-name "My Docs" \
--start-url "https://docs.example.com/" \
--allowed-host "docs.example.com" \
--allowed-path-prefix "/"
Limiter l'indexation à N pages
python -m docsite_ingest_mcp ingest --sites-config sites.json --max-pages 500
Réinitialiser la base (efface tout ⚠️)
python -m docsite_ingest_mcp ingest --sites-config sites.json --reset
Dépannage
La commande docsite-ingest-mcp ne fonctionne pas
# Vérifier l'installation
pip list | grep docsite-ingest-mcp
# Réinstaller
pip install --upgrade docsite-ingest-mcp
# Ou utiliser la commande module
python -m docsite_ingest_mcp --help
Le serveur MCP ne démarre pas
# Lancer avec logs détaillés
python -m docsite_ingest_mcp mcp-server 2>&1 | more
Pas de données indexées
# Vérifier que les données existent
ls -la data/chroma/
# Réindexer depuis zéro
python -m docsite_ingest_mcp ingest --sites-config sites.json --reset
Documentation Complète
- Pour les développeurs: Voir DEVELOPMENT.md
- Pour le README général: Voir README.md
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file docsite_ingest_mcp-0.3.0.tar.gz.
File metadata
- Download URL: docsite_ingest_mcp-0.3.0.tar.gz
- Upload date:
- Size: 19.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4ec94dfda9014c1f60d86c9beb50b86206fac73b5942805363c6c8f9d17d9402
|
|
| MD5 |
1f1456f36b13fabbc36195fcea94aadd
|
|
| BLAKE2b-256 |
eef51216953bc43aa3dcb7854907f0bd31f4a339d9bfb187f76300d8c496a162
|
File details
Details for the file docsite_ingest_mcp-0.3.0-py3-none-any.whl.
File metadata
- Download URL: docsite_ingest_mcp-0.3.0-py3-none-any.whl
- Upload date:
- Size: 16.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
49ea57e59b754f0b3fb8412f6626251c3f58b2d173b325dd6e8f0f1b2fc58c79
|
|
| MD5 |
90e4b8ba025887a3740c0ae0502d31cb
|
|
| BLAKE2b-256 |
ca093d1f685c00417b73fd0c66cf878a8ec7579d710a1cbdf710e942e9e4bec0
|