Scroll MCP Server
by zengdard
README.md
# Scroll MCP Server v0.2
π― **Vesuvius Challenge submission** β Automated quality audit & corpus navigation for the Herculaneum scrolls.
MCP Server for the Vesuvius Challenge papyrological corpus & open data.
Exposes scroll metadata, transcriptions, CT volumes, ML models, and documentation via the [Model Context Protocol](https://modelcontextprotocol.io).
## Quick Start
```bash
pip install scroll-mcp-server
scroll-mcp-server
```
Or with Claude Desktop β add to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"scroll": {
"command": "scroll-mcp-server"
}
}
}
```
## URI Scheme
```
scroll:// β Root
βββ catalog/scrolls β Scroll inventory
βββ catalog/vocabulary β Papyrological glossary
βββ scroll/{id}/metadata β Scroll metadata
βββ scroll/{id}/transcriptions β Deciphered text
βββ scroll/{id}/volumes β CT scan info
βββ model/ink-detection β ML models
βββ docs/tutorials β Tutorials
βββ docs/formats/tifxyz β Format specs
βββ docs/open-problems β Research challenges
```
## Tools
| Tool | Description |
|---|---|
| `search_corpus` | Search transcriptions & metadata |
| `get_scroll_catalog` | Filtered scroll inventory |
| `get_segment_data` | Segment metadata + download links |
| `get_tutorial` | Tutorial content |
| `get_format_spec` | Technical format specification |
| `get_model_info` | ML model metadata |
| `list_available_models` | Filtered model list |
## Prompts
| Prompt | Purpose |
|---|---|
| `explain_papyrus_context` | Historical/philosophical context of a passage |
| `suggest_research_direction` | Research recommendations from corpus state |
## Architecture
```
Client β FastMCP β ScrollDataLayer β Catalog (JSON) + Vesuvius (streaming) + Cache (LRU)
```
- **Catalogue JSON** β Lightweight index (~50 KB) for instant metadata responses
- **Data Layer** β Orchestrator with LRU cache, routes to the right source
- **Vesuvius Client** β Streaming proxy for CT volumes (no local storage)
## Development
```bash
git clone https://github.com/zengdard/scroll-mcp-server
cd scroll-mcp-server
pip install -e .
pytest tests/ -v
```
## Real Example β Scroll 1 Segment Audit
Un exemple complet avec donnΓ©es rΓ©elles du Scroll 1 (PHerc. Paris 4) est dans [`examples/`](./examples/) :
```bash
# Audit du mesh noisy (84k vertices) contre le volume CT
python examples/audit_demo.py --quick
```
RΓ©sultat :
```
Quality score: 0.431 β mesh bruitΓ©, besoin de raffinement
Mean confidence: 0.942 β bonne qualitΓ© CT
Mean distance: 3.88 voxels
π΄ CRITIQUE β 55650 vertices en drift
π’ ANCRE β 6418 vertices stables
```
Voir le rapport complet : [`examples/AUDIT_REPORT.md`](./examples/AUDIT_REPORT.md)
## Submission
Ce projet est soumis au Scroll Prize. Voir [`SUBMISSION.md`](./SUBMISSION.md) pour les dΓ©tails.
- **Team**: Individual β zengdard
- **Repo 1**: https://github.com/zengdard/scroll-mcp-server
- **Repo 2**: https://github.com/zengdard/scroll-label-refiner
## License
MIT
This server cannot be deployed
Maintenance
ActivityStale
ResponsivenessNo issues