tezos-mcp
RAG-powered MCP server that indexes and searches Tezos protocol specs, TZIPs, and Octez source code, enabling semantic search and expert guidance on Tezos topics.
README
tezos-mcp
RAG-powered MCP server for Tezos protocol specs, TZIPs, and Octez source code.
What It Does
Indexes and searches across:
- Octez Protocol - OCaml protocol implementations (
src/proto_*/lib_protocol/) - Octez Node - Shell architecture, RPC specs, P2P, storage (
src/,docs/) - TZIPs - Tezos Improvement Proposals (FA2, metadata, wallet standards)
Installation
# From PyPI
pip install tezos-mcp
# From source
pip install -e .
# With Voyage API embeddings (best quality)
pip install -e ".[voyage]"
# With tree-sitter OCaml parsing
pip install -e ".[ocaml]"
Quick Start
# Build the index (downloads repos + creates embeddings)
tezos-mcp build
# Search
tezos-mcp search "FA2 token standard"
# Check status
tezos-mcp status
Features
Incremental Indexing
Only re-embeds changed files instead of rebuilding the entire index. Reduces update time from minutes to seconds.
# Update repos and incrementally re-index (fast!)
tezos-mcp update
# Incremental index (default behavior)
tezos-mcp index
# Force full rebuild
tezos-mcp index --full
How it works:
- Tracks file hashes and modification times in a manifest
- Detects which files changed since last index
- Only re-embeds the changed content
- Updates LanceDB incrementally (add/delete operations)
Configurable Embedding Models
Choose from multiple embedding models based on your quality/speed tradeoff:
# List available models
tezos-mcp models
# Use a specific model
tezos-mcp index --model codesage/codesage-large
| Model | Dims | Quality | Speed | Notes |
|---|---|---|---|---|
all-MiniLM-L6-v2 |
384 | Fair | Fast | Default, good for quick searches |
all-mpnet-base-v2 |
768 | Good | Medium | Better quality |
codesage/codesage-large |
1024 | Good | Medium | Code-specialized |
voyage:voyage-code-3 |
1024 | Excellent | API | Best quality, requires API key |
Configure in ~/.tezos-mcp/config.yaml:
embedding_model: all-MiniLM-L6-v2
chunk_size: 1000
chunk_overlap: 200
protocol_depth: 3 # Number of past protocols to index
Expert Guidance
Curated knowledge beyond what's in the code:
# Via MCP tool
tez_expert_guidance("baking")
tez_expert_guidance("governance")
tez_expert_guidance("smart_rollups")
Topics include: baking, delegation, staking, tenderbake, governance, smart_rollups, dal, michelson, fa2, adaptive_issuance, slashing
CLI Commands
# Full build pipeline
tezos-mcp build # Download + compile + index
tezos-mcp build --full # Force full rebuild
# Individual steps
tezos-mcp download # Clone octez + tzip repos
tezos-mcp compile # Parse OCaml/markdown into JSON
tezos-mcp index # Build vector embeddings
tezos-mcp index --full # Force full rebuild
tezos-mcp index --model MODEL # Use specific embedding model
# Update (git pull + incremental index)
tezos-mcp update
tezos-mcp update --full # Update + force rebuild
# Search
tezos-mcp search "stake delegation"
tezos-mcp search "tenderbake consensus" --protocol paris
tezos-mcp search "FA2 transfer" --limit 10
# Lookup
tezos-mcp constant max_operations_ttl
tezos-mcp function apply_operation
# Info
tezos-mcp status # Index status, manifest info
tezos-mcp models # List embedding models
tezos-mcp serve # Start MCP server
MCP Tools
When running as an MCP server:
| Tool | Purpose |
|---|---|
tez_search |
Semantic search across all indexed content |
tez_search_tzip |
Search TZIP standards (FA2, metadata, wallet specs) |
tez_search_protocol |
Search protocol specs and OCaml source |
tez_search_octez |
Search Octez node docs and source code |
tez_grep_constant |
Fast OCaml constant lookup |
tez_analyze_function |
Get OCaml function source code |
tez_get_current_protocol |
Current mainnet protocol (Tallinn) |
tez_list_protocols |
Full amendment history (Athens through Tallinn) |
tez_expert_guidance |
Curated guidance on Tezos topics |
Protocol Amendments
Tezos upgrades through on-chain governance. The index covers the full amendment history:
| Protocol | Date | Notable Features |
|---|---|---|
| Athens | 2019-05 | First amendment |
| Ithaca | 2022-03 | Tenderbake consensus |
| Mumbai | 2023-03 | Smart rollups |
| Paris | 2024-06 | Adaptive issuance, staking |
| Quebec | 2025-02 | Universal baker attestation |
| Tallinn | 2026-01 | 6s block time |
Project Structure
src/tezos_mcp/
├── server.py # MCP server (FastMCP)
├── cli.py # CLI commands (Click)
├── config.py # Configuration management
├── models.py # Pydantic input validation
├── protocols.py # Protocol amendment history
├── logging.py # Structured logging
├── indexer/
│ ├── downloader.py # Git clone with sparse checkout
│ ├── compiler.py # Markdown/RST extraction
│ ├── ocaml_compiler.py # OCaml parsing (tree-sitter + regex)
│ ├── chunker.py # Document chunking + chunk IDs
│ ├── embedder.py # Embeddings + LanceDB + incremental
│ └── manifest.py # File tracking for incremental updates
└── expert/
└── guidance.py # Curated expert knowledge
Data Location
~/.tezos-mcp/
├── config.yaml # Configuration (optional)
├── manifest.json # Index state tracking
├── repos/
│ ├── tezos/ # Octez protocol + node (sparse checkout)
│ └── tzip/ # TZIP standards (full clone)
├── compiled/ # Extracted JSON specs
│ ├── tzips/
│ └── octez_docs/
└── lancedb/ # Vector index
Expert Guidance Topics
The tez_expert_guidance tool provides curated knowledge on:
Consensus & Baking:
baking- Block production, endorsing, rightsdelegation- Delegating to bakers, rewardsstaking- Direct staking (Paris+), frozen depositstenderbake- Deterministic finality consensusslashing- Double-baking/endorsing penalties
Governance & Standards:
governance- On-chain amendment processfa2- FA2 token standard (TZIP-012)michelson- Smart contract language
Scaling & Data:
smart_rollups- L2 scaling (WASM rollups)dal- Data Availability Layeradaptive_issuance- Dynamic reward adjustment
Development
# Install with dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Run tests with coverage
pytest --cov=tezos_mcp
# Lint
ruff check src/
Running as MCP Server
# Start the server
tezos-mcp serve
Add to your Claude Code MCP configuration:
{
"mcpServers": {
"tezos-mcp": {
"command": "tezos-mcp",
"args": ["serve"]
}
}
}
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.