
FlutterSDK Telescope
io.github.fluttersdk由 GitHub 帳號 fluttersdk 發布v0.0.5更新於 Oct 24, 2026
Inspect a running Flutter app: HTTP traffic, logs, exceptions and queries. Debug only.
概覽
讓 AI 程式開發助理透過 10 個 telescope 工具直接讀取執行中 Flutter 應用程式的執行期資料:HTTP 請求、日誌、例外、資料庫查詢、快取與事件。
- 可以做什麼
- 讀取 HTTP 請求記錄,包含方法、URL、狀態碼、耗時與標頭
- 讀取日誌輸出與 debugPrint 內容,可依等級、logger 或筆數篩選
- 讀取未攔截的例外,包含類型、訊息與堆疊
- 讀取資料庫查詢的 SQL、繫結參數與耗時,以及快取的命中、寫入、刪除等操作
- 讀取應用程式內事件、Gate 授權檢查結果與逐幀效能耗時
- 在兩次除錯之間清空所有環形緩衝區
- 適用情境
- 適合在用 AI 程式開發助理除錯 Flutter 應用程式時使用,讓助理自行取得堆疊、失敗的 HTTP 回應與查詢耗時,不必從主控台複製貼上。它是僅供開發階段使用的檢查工具,並非正式環境的監控方案。
- 執行需求
- 本機 Flutter 專案需加入 fluttersdk_telescope 套件,並在 main.dart 中以除錯模式守衛呼叫 TelescopePlugin.install()。所有工具都經由 VM Service 擴充功能,因此需要應用程式正在執行。MCP 用戶端需設定為啟動專案本機的 artisan 執行檔並傳入 mcp:serve 參數。不需要帳號、API 金鑰或網路服務。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 FlutterSDK Telescope,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Telescope
Passive runtime inspector for Flutter. Read by humans, queried by AI agents.
HTTP, logs, exceptions, debugPrint, DB queries, and Magic events captured over VM Service extensions, surfaced as telescope:* CLI commands and as 10 MCP tools for Claude Code.
[pub package] [CI] [License: MIT] [pub points] [GitHub stars]
Documentation · pub.dev · Issues
Why Telescope?
Stop pasting stack traces into Claude. Let your agent read them itself.
Debugging a running Flutter app has always required a mix of print statements, custom logging sinks, and network proxies that each tell a different slice of the story. When something breaks, you stitch together log files, Charles captures, and Flutter DevTools windows to reconstruct what happened. The AI workflow is worse: you copy the stack trace out of the console, paste it into Claude Code, copy the failing HTTP response, paste it back, repeat.
Telescope closes that loop. Passive watchers and 14 VM Service extensions register at startup. Every HTTP request, log line, exception, debugPrint call, DB query, and Magic-framework lifecycle event lands in a ring buffer. CLI commands (telescope:tail, telescope:requests) stream the buffers for humans; 10 MCP tools (telescope_requests, telescope_exceptions, telescope_tail, ...) expose the same buffers to AI coding agents like Claude Code, Cursor, and Codex. No copy-paste, no screenshots, no SaaS account. Development-only; a kDebugMode or !kReleaseMode guard at the call site tree-shakes the entire subsystem on release builds.
The install command scaffolds the consumer artisan harness if it is missing, runs plugin:install fluttersdk_telescope, and patches lib/main.dart so TelescopePlugin.install() runs before Magic.init() (or before runApp on vanilla Flutter). Everything is gated under kDebugMode; release builds tree-shake the entire subsystem.
After install, the consumer gets the artisan fast-cli at ./bin/fsa (native AOT, ~110ms warm startup) for every subsequent telescope command. dart run fluttersdk_telescope <cmd> keeps working as a slower (~3s cold) fallback.
Features
Quick Start
Option A (recommended): one-shot install
Add the dependency, then let telescope bootstrap itself via its own CLI entry point. No prior fluttersdk_artisan wiring is required; telescope's binary carries the artisan substrate so the install works from a fresh consumer:
The command scaffolds the consumer artisan harness if it's missing (bin/dispatcher.dart + lib/app/_plugins.g.dart), runs plugin:install fluttersdk_telescope, and patches lib/main.dart so TelescopePlugin.install() runs before Magic.init() (or before runApp on vanilla Flutter). Idempotent; safe to re-run.
For everyday repeat usage, the consumer's ./bin/fsa (artisan native AOT binary built during install) gives ~110ms warm startup:
dart run fluttersdk_telescope <cmd> remains a slower (~3s cold) fallback that always works without the AOT bundle.
Option B: manual wiring
1. Add the dependency
2. Install in main.dart
Install Telescope before Magic.init() (or before runApp for plain Flutter). Wrap every install call in a mode guard at the call site so the entire tooling branch is tree-shaken in release builds: kDebugMode, which is what telescope:install writes, or !kReleaseMode, which also keeps profile builds (what a performance measurement needs, and what magic_devtools uses).
3. Register the Artisan provider (MCP tools)
In the consumer's bin/dispatcher.dart (generated by dart run fluttersdk_artisan install), telescope is auto-discovered through lib/app/_plugins.g.dart after plugin:install fluttersdk_telescope. If you are wiring providers by hand, add FluttersdkTelescopeArtisanProvider() to the baseProviders list so the 10 telescope_* MCP tools are visible to Claude Code and other MCP clients:
Watchers
MCP Tools
Exposed via TelescopeArtisanProvider when the consumer registers it (auto-wired by telescope:install through lib/app/_plugins.g.dart + bin/dispatcher.dart). All tools route through ext.telescope.* VM Service extensions and require a running Flutter app.
CLI Commands
Registered via TelescopeArtisanProvider.commands(). After telescope:install you can invoke any command three ways: through the consumer's fast-cli (./bin/fsa <command>, recommended), through telescope's standalone bin (dart run fluttersdk_telescope <command>), or through the consumer dispatcher fallback (dart run fluttersdk_artisan <command>).
followCursor, the pure Dart loop behind both --follow flags, is exported from package:fluttersdk_telescope/cli.dart.
Examples
example/
Vanilla Flutter app (no Magic framework) that exercises every framework-agnostic capture surface: HTTP traffic via the Telescope Dio interceptor, log output via package:logging, uncaught exceptions via ExceptionWatcher, and debugPrint output via DumpWatcher. Demonstrates the minimal install pattern and the in-app overlay dashboard.
Architecture
Telescope is subsystem-first under lib/src/, every directory owns a single concern:
Boot flow:
Every concrete watcher and record type is a final class. The two adapter contracts (TelescopeWatcher, TelescopeHttpAdapter) are abstract class with frozen 3-method signatures (name, install, uninstall). Magic-side glue (MagicHttpFacadeAdapter, MagicModelWatcher, etc.) depends on these contracts; any signature change requires a coordinated bump across both repos.
Compared to
AI Agent Integration
Telescope is the first Flutter MCP server focused on runtime observability (HTTP, exceptions, queries, cache) rather than UI automation. The 10 telescope_* tools give Claude Code, Cursor, Codex, or any MCP-compatible agent direct read access to every runtime buffer: inspect HTTP traffic without a proxy, read logs without grepping output, catch exceptions without scrolling DevTools.
One-line .mcp.json install
telescope:install auto-writes .mcp.json for you. Or wire it manually for any MCP-compatible client:
After this, restart your MCP client. The 10 telescope_* tools (plus the substrate's artisan_* tools) surface automatically in /mcp.
Before / after
Typical agent session
For agents that read structured project context at attach time, the canonical entry point is llms.txt at the repo root (also published at https://fluttersdk.com/telescope/llms.txt). It enumerates the watcher surface, the VM extension catalog, and every MCP tool input schema in agent-readable form.
Documentation
Full docs with live examples at fluttersdk.com/telescope.
Contributing
The baseline is 497 tests green. New behavior ships with the matching test (red, green, refactor). dart format lib/ test/ bin/ must produce no diff and dart analyze must report zero issues across lib/, test/, and bin/.
Before opening a pull request, also run:
Report a bug · Request a feature
Inspiration
Telescope is inspired by Laravel Telescope, the elegant developer-tools assistant for Laravel that records every request, exception, log, query, cache hit, and event into a queryable timeline. The same pattern, ported to Flutter, with two additions that make sense for 2026: a CLI-first surface for terminal-native developers and a 10-tool MCP server so AI coding agents can read the timeline directly.
Part of the Magic SDK suite
Telescope is one of seven packages in the FlutterSDK Magic suite, a Laravel-inspired Flutter ecosystem:
- magic — Laravel-style framework (facades, ORM, providers, controllers, routing)
- wind — Tailwind-style className UI primitives for Flutter
- fluttersdk_artisan — Pure Dart CLI + MCP substrate that telescope extends
- fluttersdk_dusk — E2E gesture / snapshot driver via VM extensions
- fluttersdk_telescope (this package) — Runtime observability via VM extensions + MCP
- magic_tinker — Connected REPL into the running app
- magic_starter — Auth / profile / teams scaffolding
License
MIT, see LICENSE for details.
Built with care by FlutterSDK
If Telescope saves you debugging time, give it a star, it helps others discover it.
來源:README.md,提交 558dca5
工具
0版本歷史
1- v0.0.5最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分
