Описание
MCP server for ctags-based code navigation in Claude Code
README
A Model Context Protocol (MCP) server that transforms ctags from a command-line utility into a native code navigation system for Claude Code. Built with a functional programming approach and comprehensive type safety.
Quick Start
# Install the package
pip install ctags-mcp
# Generate tags for your project
ctags -R .
# Add to Claude Desktop config
{
"mcpServers": {
"ctags": {
"command": "ctags-mcp"
}
}
}
# Optional: Auto-regenerate tags when code changes
# Copy .claude/settings.json to your project root
📖 Full Installation Guide | 🔄 Auto-Regeneration Setup
✨ Features
- 🚀 20x Performance: Index-based symbol lookup vs reading entire files
- 🔍 Smart Search: Regex patterns, type filtering, scope-aware queries
- 📁 Universal Support: Works with any ctags-supported language
- 🎯 Precise Context: Get source code around symbols with configurable line counts
- 🔧 Auto-Detection: Finds tags files in current and parent directories
- ⚡ Zero Configuration: Works out of the box with standard ctags files
🎯 What It Does
Transform code exploration from this:
# Traditional approach - slow, imprecise
find . -name "*.py" | xargs grep "async def"
grep -r "class.*Service" src/
To this:
# Natural language with Claude
"Find all async functions in this project"
"Show me service classes with their locations"
"Get the AsyncBatchProcessor definition with context"
📊 Performance Comparison
| Task | Traditional | MCP Ctags | Improvement |
|---|---|---|---|
| Find symbols | ~530ms | ~7ms | 79x faster |
| Files read | 53+ files | 0 files | ∞x better |
| Query accuracy | Manual parsing | Structured data | More reliable |
| Scalability | Linear O(n) | Constant O(1) | Scales infinitely |
🛠️ MCP Tools Available
ctags_detect
Auto-detects and validates ctags file in working directory.
ctags_find_symbol
Finds symbols by name or regex pattern with comprehensive filtering.
ctags_list_symbols
Lists all symbols of a specific type (functions, classes, methods, variables).
ctags_get_location
Gets source code context around a specific symbol.
ctags_search_in_files
Searches across multiple file patterns simultaneously.
🎯 Usage Examples
Once configured with Claude Desktop:
- "Find all async functions" → Instantly locates async functions across the codebase
- "Show me the AsyncBatchProcessor class" → Gets class definition with source context
- "List service classes in this project" → Finds all classes with "Service" in the name
- "Find authentication-related symbols" → Pattern-matches auth symbols across all types
📁 Project Structure
ctags-mcp/
├── src/ctags_mcp/ # Main package
│ ├── ctags_parser.py # Functional ctags file parsing
│ ├── symbol_search.py # Search and filtering functions
│ ├── ctags_server.py # FastMCP server with tool definitions
│ └── main.py # CLI entry point
├── src/tests/ # Comprehensive test suite
├── pyproject.toml # Package configuration
├── LICENSE # MIT License
├── README.md # This file
└── INSTALL.md # Installation guide
🧪 Testing
The implementation includes comprehensive testing:
# Run all tests
pytest
# With coverage
pytest --cov=src/ctags_mcp
# Results: 31 tests passing, covering all functionality
🏗️ Architecture
Built with functional programming principles:
- Pure functions for parsing and searching
- Pydantic models for type safety
- Zero classes except for data models
- Comprehensive error handling for malformed files
- Performance optimized for large codebases
🔧 Development
# Clone and setup
git clone <repository-url>
cd ctags-mcp
pip install -e ".[dev]"
# Code quality
black src/ # Format code
ruff check src/ # Lint code
mypy src/ # Type check
pytest # Run tests
📈 Performance Insights
Real-world testing with 1,050 symbols:
📁 Tags File Information:
Format: exuberant
Total entries: 1050
Functions: 304, Classes: 89, Methods: 512, Variables: 145
🔍 Search Examples:
• Async functions: 4 found in ~7ms
• Service classes: 15 found in ~7ms
• Auth symbols: 23 found in ~7ms
• CLI symbols: 129 found in ~7ms
🚀 Efficiency: 79x faster than traditional file scanning
🤝 Contributing
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Make changes with tests:
pytest - Submit a pull request
📜 License
MIT License - see LICENSE for details.
🙏 Acknowledgments
- Built with FastMCP from Anthropic
- Uses Universal Ctags for symbol indexing
- Inspired by the need for efficient code navigation in Claude Code
Transform your code navigation today! Install ctags-mcp and experience the power of index-based code exploration with Claude.
Установка Ctags
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/gladiatr72/mcp-ctagsFAQ
Ctags MCP бесплатный?
Да, Ctags MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Ctags?
Нет, Ctags работает без API-ключей и переменных окружения.
Ctags — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Ctags в Claude Desktop, Claude Code или Cursor?
Открой Ctags на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Ctags with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
