Community研究&データ分析github.com

Heymonth/kmp-api-lookup-mcp

Kotlin/Native iOS klib APIをインデックス化するMCPサーバーで、高速なシンボル検索とローカルデータベース管理を実現します。

kmp-api-lookup-mcp とは?

このMCPサーバーは、Kotlin Multiplatform(KMP)プロジェクトで生成されるKotlin/Native iOSのklib(Kotlinライブラリ)APIを効率的にインデックス化し、ローカルデータベースに保存します。開発者はこのツールを使って、公開シンボル(関数、クラス、プロパティなど)を素早く検索・参照できるため、IDEやCI/CDパイプラインとの統合に理想的です。ローカルデータベースはオフラインでも動作し、一度インデックス化したデータは繰り返し利用可能です。主にClaude CodeやCursorなどのAIエージェント環境と連携することを想定しており、自然言語からコード生成する際の文脈としてAPIシンボル情報を提供します。

対応~Claude Code~Codex CLI~Cursor
npx skills add Heymonth/kmp-api-lookup-mcp

Installed? Explore more 研究&データ分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

kmp-api-lookup-mcp は何をしますか?

Kotlin/Native iOS klib APIをインデックス化するMCPサーバーで、高速なシンボル検索とローカルデータベース管理を実現します。

概要

このMCPサーバーは、Kotlin Multiplatform(KMP)プロジェクトのiOSターゲットで生成されるklibファイルから公開APIを抽出し、SQLiteベースのローカルデータベースに格納します。これにより、AIエージェントや開発ツールがネイティブiOSシンボルを即座に検索・参照できるようになります。

主な機能

  • klibのインデックス化: Kotlin/Nativeコンパイラが出力する.klibファイルを解析し、公開シンボルを抽出します。
  • 高速シンボル検索: データベースに対して部分一致または完全一致のクエリを実行し、関連する関数、クラス、プロパティを瞬時に返します。
  • ローカルデータベース管理: インデックスデータはSQLiteデータベースに保存され、オフラインでも利用可能です。データベースの作成、更新、クリアがサポートされています。
  • MCPプロトコル対応: Model Context Protocol(MCP)に準拠しており、Claude Code、Cursor、CodexなどのAIエージェントと統合できます。

使用方法

前提条件

  • Node.js v18以上
  • KMPプロジェクト(iOSターゲットを含むこと)

インストール

npx @heymonth/kmp-api-lookup-mcp

または、プロジェクトにローカルインストール:

npm install @heymonth/kmp-api-lookup-mcp

設定(Claude Codeの場合)

claude_desktop_config.jsonに以下を追加:

{
  "mcpServers": {
    "kmp-api-lookup": {
      "command": "npx",
      "args": ["@heymonth/kmp-api-lookup-mcp"]
    }
  }
}

利用可能なツール

ツール名説明
index_klib指定されたklibファイルを解析し、データベースにインデックスを追加します。
search_symbolsインデックスからシンボルを検索します。部分一致および完全一致に対応。
list_indexed_klibs現在データベースに登録されているklibの一覧を表示します。
clear_databaseローカルデータベースを初期化し、すべてのインデックスデータを削除します。

動作の仕組み

  1. KMPビルド後、iOSフレームワークの出力ディレクトリ(例:build/bin/iosArm64/releaseFramework)にある.klibファイルを特定します。
  2. MCPサーバーがklibファイルを読み取り、Kotlin/Nativeのシリアル化形式を解析して公開シンボルを抽出します。
  3. 抽出されたシンボルはSQLiteデータベースに保存されます。各エントリにはシンボル名、種類(関数/クラス/プロパティ)、モジュール名、ソースファイルのパスなどが含まれます。
  4. AIエージェントがsearch_symbolsツールを呼び出すと、データベースをクエリし、該当するシンボル情報を返します。

注意事項

  • このツールはKotlin/Nativeが生成するklibファイルのみを対象としています。Javaバイトコードや他のプラットフォームのライブラリはサポートしていません。
  • データベーススキーマは将来のバージョンで変更される可能性があります。互換性についてはリリースノートを参照してください。

ライセンス

MIT License

関連スキル