dataciviclab
OfficialProvides tools for interacting with GitHub Discussions: listing discussions and categories, reading discussion details and comments, searching discussions, and creating discussions and comments. Also enables triggering context rebuilds via GitHub Actions.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@dataciviclabfind rifiuti urbani and explore the dataset"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
dcl-mcp — il MCP del DataCivicLab
Server MCP unico per partecipare all'ecosistema del Lab: contesto org-wide, GitHub Discussions e query read-only sui dati pubblici.
pip install "lab-connectors[mcp,duckdb] @ git+https://github.com/dataciviclab/lab-connectors.git"
pip install "dcl-mcp @ git+https://github.com/dataciviclab/dcl-mcp.git"Cosa espone
Un solo server, nome dataciviclab — 15 tool in tre famiglie:
Famiglia | Tool | Cosa fa |
Context |
| Orientamento rapido (markdown) |
| Albero domains → repos → sources (dominio sconosciuto → elenco domini validi) | |
| Ricerca ranked cross-entity (AND cross-field su token) | |
| Deep-dive di dataset/repo/domain/source/analysis — ref tipizzabili ( | |
| Stato Lab: radar, PR, issues, discussions… | |
| Trigger rebuild CI degli artefatti (serve | |
Discussions |
| Elenca discussioni (cursor pagination, filtro categoria) |
| Categorie valide per la creazione (nome + slug) | |
| Leggi una discussion e i commenti | |
| Full-text search nel repo | |
| Partecipa (scrittura) | |
GCS |
| SELECT/CTE read-only sui parquet pubblici |
Flusso tipico (onboarding)
find("rifiuti urbani") # scopri dataset/analisi/repo
→ explore("ispra_ru_base") # card: description, anni, colonne,
# clean_rows, marts, gcs_path, query_hint
→ gcs_query(slug=…, sql=…) # SELECT o WITH…SELECT su `_data`,
# layer=mart per le tabelle mart
→ find(…, include_github=true) # issue/PR aperte + discussioni open del tema
→ github_get_discussion / _comments
→ github_list_discussion_categories → github_create_discussionRouting tra MCP del Lab
dcl-mcp (questo) — org-wide: dove cerco, cosa è successo, come partecipo, dati pubblicati
toolkit — repo locale: pipeline, contratti, SQL su raw/clean/mart del workspace
source-observatory — scouting fonti e inventory
Related MCP server: MCPipe Toolchain
Configurazione
{
"mcpServers": {
"dataciviclab": {
"command": "dcl-mcp"
}
}
}Env var | Ruolo | Obbligatoria |
| Discussions (GraphQL richiede auth anche in lettura) + | sì, per discussions/write |
| Path a un file | no |
| Sorgente artefatti contesto (default: ACB, branch | no |
Note di design
Context legge da remoto gli artefatti prodotti dalla CI di agent-context-builder sul branch
context(raw.githubusercontent, cache TTL 120s). Nessuna checkout locale richiesta.exploresulle card dataset espone anche description, periodo (year_min/year_max),clean_rows, listamarts(damart_refs), colonne compatte (name/type/role),gcs_pathequery_hintpronto.clean_rowsè il conteggio dell'ultimo snapshot clean pubblicato dal producer: non è garantito sia la serie completa. Per numeri citabili usaquery_hint(count(*)) viagcs_query.GCS è read-only: solo bucket
dataciviclab-cleanedataciviclab-mart, una sola istruzione per chiamata (SELECT o WITH…SELECT, niente DML/PRAGMA), limite 500 righe (clamp dichiarato). La query deve referenziare la tabella_data(view sul parquet). Per i mart usalayer=marte lo slugdataset__table(inmarts/marts_hintdella card, o dal registry del repo produttore).Ref tipizzati: in caso di collisione di slug (es. repo e analysis con lo stesso nome)
explore("analysis:slug")forza il tipo; senza prefisso l'ordine è dataset → repo → domain → source → analysis.I nomi dei tool sono contratti cross-repo (skill, docs, config utente): non vanno cambiati senza migrazione.
Sviluppo
pip install -e ".[dev]"
pytest tests/ -q -m "not smoke"
ruff check src/ tests/
mypy src/dcl_mcp/Storia: questo server nasce dalla migrazione di dataciviclab-context
(ACB) e github-discussions (lab-connectors) + il nuovo gcs_query,
modellato su tre passate di audit con agenti newcomer. Il builder degli
artefatti resta in ACB; le librerie condivise in
lab-connectors.
Licenza
MIT — vedi LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Read-only Google Search Console and Google Analytics for AI agents.
A read-only verified record of agent-operable GTM tools: search, fetch, compare, track changes.
Query your org's data in natural language — read-only MCP access to SQL, NoSQL, files & warehouses.
Read-only search and Markdown pages from the OpenPlanr docs, for coding agents.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables AI agents to prospect across GitHub, PyPI, and npm, searching repositories, packages, and code patterns with read-only tools.751 PyPI4MIT
- FlicenseNot gradedqualityCmaintenanceProvides read-only access to Confluence, GitHub, Jira, Figma, Outlook, Teams, and browser automation for AI clients, enabling safe discovery, retrieval, and summarization of company knowledge without modifying source systems.-
- AlicenseNot gradedqualityCmaintenanceProvides AI agents with read-only access to various public data sources (web, YouTube, RSS, GitHub, V2EX, Bilibili, and semantic search) without requiring any login credentials or API keys.35MIT
- FlicenseAqualityBmaintenanceEnables AI agents to safely interact with GitHub, query Postgres read-only, check deployment status, and search/read files within an allowlisted sandbox—all with dry-run writes and SQL/path safety gates.8-