astra-mcp
Astra — это локальный сервис кодовой аналитики для ИИ-агентов. Он разбирает файлы репозитория в структурный граф NetworkX и индексируемый локальный индекс фрагментов кода, с обогащением на уровне AST для корректных Python-файлов. Тот же движок доступен через CLI astra и официальный MCP Python SDK.
Архитектура
Знак созвездия представляет связи, которые Astra обнаруживает в кодовой базе. Его конвейер состоит из четырёх этапов: обнаружение файлов без их выполнения, построение структурного графа, индексация фрагментов кода и получение семантических совпадений с расширением графа.
Компонент | Роль | Выход |
Парсер AST и текста | Читает объявления Python, docstring-и, символы и вызовы; индексирует другие читаемые файлы проекта как фрагменты уровня файла. | Фрагменты кода и ссылки |
Структурный граф | Строит направленные связи NetworkX между модулями, объявлениями и вызывающими. |
|
Векторный индекс | Хранит искомые фрагменты локально, с опциональным ускорением Sentence Transformers и Chroma. |
|
Двойные интерфейсы | Делает один и тот же движок доступным для пользователей терминала и MCP-хостов. |
|
Поверхность MCP предоставляет четыре инструмента: astra_index_repo, astra_semantic_search, astra_get_callers и astra_hybrid_context.
Related MCP server: Axon
Установка
Требуется Python 3.10+. Выберите один из этих путей установки.
Установка напрямую из GitHub
Это самый простой вариант для использования Astra. Он устанавливает команды astra и astra-mcp без размещения копии в текущей папке:
python -m pip install "git+https://github.com/nimelkot/astra.git"Для изолированной установки из командной строки используйте pipx:
pipx install "git+https://github.com/nimelkot/astra.git"Клонирование для разработки
Используйте этот вариант, если хотите редактировать Astra или запускать его тесты. Запустите редактируемую установку из корня клонированного репозитория — каталога, содержащего pyproject.toml:
git clone https://github.com/nimelkot/astra.git
cd astra
Get-ChildItem pyproject.toml
python -m venv .venv
.venv\Scripts\Activate.ps1
python -m pip install -e ".[dev]"Если Get-ChildItem pyproject.toml не может найти файл, вы ещё не в корне репозитория Astra. Папка, которую вы хотите анализировать, может находиться где угодно; она не обязана быть внутри копии Astra.
Быстрый старт
Сначала проиндексируйте проект. Замените пример пути на папку, которую Astra должна анализировать:
astra index C:\Users\YourName\Downloads\my-projectКоманда рекурсивно сканирует вложенные папки на предмет файлов, не импортируя и не выполняя их. Корректные Python-файлы получают объявления и связи вызовов на уровне AST; другие читаемые исходные, конфигурационные, разметочные и документационные файлы получают искомые фрагменты уровня файлов. Бинарные файлы, неподдерживаемые кодировки, файлы размером более 2 МБ, а также сгенерированные или зависимые каталоги, такие как .git, .venv, node_modules и .astra_vectors, пропускаются.
Полную матрицу поддержки см. в docs/supported-file-types.md.
my-project/
├── .astra_graph.json # structural modules, declarations, and call relationships
└── .astra_vectors/ # local searchable code chunksЗапустите astra index снова после изменения исходного кода. Индексация заменяет предыдущий граф и индекс фрагментов для этого целевого каталога.
CLI
Семантический поиск
Поиск по концепции, поведению, имени символа или тексту docstring:
astra search "authentication token validation" --path C:\Users\YourName\Downloads\my-project --limit 8Таблица результатов показывает оценку совпадения, вид объявления, путь к файлу, символ и строки исходного кода. Результаты поиска пусты, когда ни один индексированный фрагмент не разделяет термины с запросом.
Структурные вызывающие
Найти функции, которые вызывают целевую функцию:
astra query callers calculate_total --path C:\Users\YourName\Downloads\my-projectЗапрос callers использует сохранённый AST-граф и сообщает о совпадающих узлах-вызывающих в формате JSON. Текущий тип структурного запроса CLI — callers.
Поведение поиска
Индекс по умолчанию детерминирован и работает офлайн с использованием локального лексического сопоставления. Чтобы включить Sentence Transformers и векторный поиск Chroma, установите это перед индексацией и поиском:
$env:ASTRA_ENABLE_EMBEDDINGS = "1"
astra index C:\Users\YourName\Downloads\my-project
astra search "rate limiting and retries" --path C:\Users\YourName\Downloads\my-projectПервый запуск с включёнными эмбеддингами может загрузить модель all-MiniLM-L6-v2. Если доступ к модели или векторному хранилищу недоступен, Astra возвращается к локальной реализации поиска.
Визуализация индекса
После индексации создайте локальный HTML-отчёт для целевой папки:
astra visualize C:\Users\YourName\Downloads\my-projectЭто записывает .astra_visualization.html в целевую папку. Откройте этот файл в браузере, чтобы просмотреть два представления:
Структурный граф: интерактивные модули, классы, функции, методы и рёбра определений/вызовов из
.astra_graph.json.Векторные фрагменты: искомые карточки файлов и символов из
.astra_vectors/chunks.jsonс раскрывающимися предпросмотрами исходного кода.
Вы можете выбрать другой путь вывода:
astra visualize C:\Users\YourName\Downloads\my-project --output C:\Users\YourName\Desktop\astra-report.htmlОтчёт использует библиотеку браузера Vis Network из её CDN для структурного холста. Векторное представление и сгенерированные данные остаются локальными; интернет-соединение требуется только для загрузки интерактивной библиотеки графов при открытии отчёта.
Примеры визуализации
Представление структурного графа отображает связанные модули, объявления и связи по всему индексированному проекту:
Представление векторных фрагментов предоставляет искомые карточки с путями к файлам, символами, диапазонами строк и расширяемыми предпросмотрами исходного кода:
MCP
Astra также предоставляет свой движок как официальный MCP-сервер через stdio. Настройте ваш MCP-хост на запуск astra-mcp; сервер должен быть установлен в среде, используемой этим хостом.
Четыре нативных инструмента:
Инструмент | Назначение |
| Индексирует локальный репозиторий. |
| Ищет по индексированным фрагментам кода. |
| Находит вызывающих через структурный граф. |
| Объединяет семантические совпадения с расширением графа. |
| Создаёт локальный HTML-отчёт графа и возвращает его путь и URL. |
Репозиторий включает .vscode/mcp.json для MCP-клиентов VS Code. Для других хостов зарегистрируйте сервер в конфигурации хоста:
[mcp_servers.astra]
command = "astra-mcp"
args = []Если хост не может найти команды из вашей оболочки, используйте абсолютный путь к исполняемому файлу: .venv\Scripts\astra-mcp.exe на Windows или .venv/bin/astra-mcp на macOS/Linux. Сервер общается через stdio, поэтому не перенаправляйте его stdout.
Разработка
pytest
ruff check .Astra никогда не импортирует и не выполняет файлы, которые индексирует. Ошибки разбора пропускаются и сообщаются только через итоговые счётчики, что сохраняет индексацию полезной для частично сломанных рабочих деревьев.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceProvides semantic code search and retrieval capabilities for AI agents, enabling them to query codebases using natural language with automatic learning, hybrid search, and intelligent chunking of functions and classes.429ISC
- AlicenseNot gradedqualityCmaintenanceA graph-powered code intelligence engine that indexes codebases into a structural knowledge graph to provide AI agents with deep context on function calls, types, and execution flows. It offers local, zero-dependency tools for hybrid search, impact analysis, and dead code detection across Python, JavaScript, and TypeScript projects.730MIT

Semantic Code Search MCPofficial
FlicenseNot gradedqualityDmaintenanceProvides AI coding agents with structured access to indexed codebases via semantic search, symbol analysis, and file reading tools.12- FlicenseNot gradedqualityDmaintenanceEnables AI agents to semantically search and navigate code repositories using natural language, with support for multiple repos, incremental indexing, and no local install needed.
Related MCP Connectors
Code intelligence for coding agents: semantic, AST, graph, and full-text search. 279+ languages.
Give your AI agent a persistent map of your project's structure, dependencies, and bugs.
Codebase intelligence for agents: 152 structured artifacts across 21 programs, one call.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nimelkot/astra'
If you have feedback or need assistance with the MCP directory API, please join our Discord server