Skip to content

PolyCodeGraph v0.4.0 — Multi-language MCP code intelligence

Choose a tag to compare

@RolandDumit RolandDumit released this 01 Oct 13:59

PolyCodeGraph's first GitHub release brings local, compiler-backed code intelligence to coding agents through a compact stdio MCP server.

Highlights

  • Ten languages: Dart/Flutter, TypeScript, JavaScript, Java, Go, Python, Rust, Swift, Objective-C and Kotlin.
  • Semantic repository graph: symbols, imports/exports/parts, references, inheritance, implementations, static callers/callees, neighbors and dependencies, where supported by each language provider.
  • Focused agent queries: search_symbol, get_architecture, callers, callees, implementations, neighbors, dependencies, affected_by_change / blast_radius, and bounded source snippets. Stable IDs, pagination and compact output keep retrieval focused.
  • Incremental indexing: persistent content-hash caching, dependency-aware invalidation and diagnostics that expose unresolved or unavailable provider coverage.
  • Optional Flutter classification: Widget/Screen, Bloc/Cubit, Riverpod Provider, Repository, UseCase, Route, GetIt registration and recognizable Freezed models.
  • CLI and harness integration: init, index, serve, status and doctor; YAML/JSON configuration; Codex and Claude Code setup examples; reusable AGENTS.md guidance.

Installation

This release is distributed as source code through GitHub's ZIP/tar.gz downloads or the tagged checkout. It does not include standalone native executable assets. Install Dart SDK 3.11.0 or newer first.

git clone --branch v0.4.0 --depth 1 https://github.com/RolandDumit/polycodegraph.git
cd polycodegraph
dart pub get

Dart/Flutter analysis uses the built-in Dart Analyzer provider. For other languages, prepare only the adapters you need, with the corresponding host runtimes installed. For example, TypeScript/JavaScript requires Node.js 22+:

dart run tool/setup_providers.dart --typescript

Resolve the target project's dependencies before indexing (dart pub get or flutter pub get for Dart/Flutter), then run:

dart run bin/polycodegraph.dart index --root /path/to/project
dart run bin/polycodegraph.dart serve --root /path/to/project

The source commands work on Linux, macOS and Windows. Provider requirements depend on the selected languages; UIKit/iOS SDK analysis requires macOS and Xcode. Android analysis uses a prepared Android SDK and dependency classpath.

See the versioned README for complete runtime requirements, provider setup, configuration and Codex/Claude Code MCP connections. Copy the harness guidance into your project's AGENTS.md to integrate graph queries into your agent workflow.

Validation

All 12 CI jobs passed on the released commit across Linux, macOS and Windows, covering Dart checks, semantic polyglot providers, real Flutter integration, mobile providers and Android SDK analysis. The macOS mobile job also verifies UIKit and bridging-header analysis.

Analysis boundaries

This is static code intelligence: dynamic dispatch, reflection and runtime callbacks can leave relationships unresolved. Blast radius is a conservative graph traversal, not a guarantee of complete runtime impact. Missing dependencies, generated code or toolchains are reported through diagnostics.

Cross-language runtime/FFI edges, including Swift-to-Objective-C and Kotlin-to-Java call edges, are not currently inferred. Kotlin covers JVM/Android rather than full Kotlin Multiplatform semantics. Rust indexing does not execute indexed build scripts or expand procedural macros; the server does not run target-project dependency managers or code generation. Swift's compiler JSON AST is toolchain-dependent. No performance or token-savings benchmark is claimed for this initial release.

See the provider contract and README for provider-specific precision and coverage.

Released from commit 2501034b84fab0ca0c0194d95be74a7660bb8a56.