MCP代码智能

中文文档
一个IntelliJ平台插件,它公开 13个IDE级代码智能工具 通过AI代理 模型上下文协议(MCP).与合作 安卓工作室, 智能J IDEA以及其他JetBrains IDE。
而不是让AI代理摸索通过 grep 以及文件读取,让他们直接访问IDE内部使用的相同语义理解——类型解析、引用图、调用层次结构、数据流分析和安全重构 nextAction 提示代理自动链式调用。
______________________________________________________________________
为什么存在
| 任务 | 无MCP | 有MCP |
|---|---|---|
| “UserRepository在哪里?” | grep → 嘈杂的文本匹配 | find_symbol(name="UserRepository") → 使用文件+行+列的精确声明 |
| “这是什么类型的?” | 读取整个文件,根据上下文猜测 | resolve_symbol(file, line, col) → 50个令牌中的精确限定类型 |
| “谁叫这种方法?” | grep → 噪声文本与误报匹配 | find_references(qualified_name="com.Foo.bar", mode="CALLERS") → 语义调用链,不需要位置 |
| “这可以为null吗?” | 通过CLI不可能 | analyze_data_flow(NULLABILITY) → PSI级别推断 |
| “安全重命名” | sed → 缺少XML/Manifest引用 | refactor(RENAME) → 更新跨语言的所有引用 |
| “项目架构?” | 手动读取20多个文件 | query_project(OVERVIEW) → 1次通话中的完整画面 |
基准(单个项目,仅供参考)
对一个159级Android项目(Room+Hilt+Compose)进行了评估:
| 维度 | MCP | CLI |
|---|---|---|
| 代币效率 | 8x 更少的令牌 | 基线 |
| 信噪比 | 100% 结构化数据 | 33%(67%噪声) |
| 任务完成 | 12/12 | 8/12(没有IDE不可能有6个) |
| 安全 | 检查点+语义重构 | 无 |
*来自单个项目评估的数据。结果可能因项目规模和架构而异。*
______________________________________________________________________
13个工具概览
| 工具 | 它做什么 |
|---|---|
resolve_symbol | 解析代码位置(文件+行+列)处的符号——返回类型、种类、限定名、声明 |
find_symbol | 通过简单或完全限定的名称查找符号--替换 grep 用于符号查找 |
find_references | 语义用法、调用者、被调用者、类型层次结构——按位置或限定名 |
get_scope | 给定位置的所有可见符号 |
query_project | 项目概述、依赖关系影响、API表面、构建变体 |
query_framework | 房间/改装/Hilt/作曲/导航分析 |
analyze_data_flow | 可归零性推断、正向/反向值跟踪 |
analyze_quality | 圈复杂度、死代码、克隆、错误处理 |
check_rules | 验证自定义体系结构依赖性规则 |
structural_search | IntelliJ SSR引擎——基于模板变量的模式搜索 |
refactor | 重命名、移动、提取、安全删除、更改签名 |
checkpoint | 创建/列出/回滚IDE本地历史快照 |
sandbox | 分解库类,Java到Kotlin,批量检查 |
v2.0重大变更:resolve_symbol现在只是位置。将基于名称的查找迁移到新的find_symbol工具。
______________________________________________________________________
入门指南
先决条件
- 基于IntelliJ的集成开发环境 平台构建252+ (安卓工作室2025.2+/IntelliJ IDEA 2025.2+)
- JDK 21+
构建和安装
git clone https://github.com/StarsMilky/android-studio-mcpserver.git
cd android-studio-mcpserver
./gradlew buildPlugin从安装生成的ZIP build/distributions/ 通过:
IDE → 设置→ 插件→ ⚙️ → 从磁盘安装插件。..
连接到光标
插件自动启动MCP服务器 http://127.0.0.1:17532/mcp IDE打开项目时。
添加到您的 ~/.cursor/mcp.json:
{
"mcpServers": {
"mcp-code-intel": {
"url": "http://127.0.0.1:17532/mcp"
}
}
}或者使用 “配置光标” 插件工具窗口中的按钮(MCP Code Intelligence IDE底部的面板)。
______________________________________________________________________
建筑
┌─────────────────────────────────────────────────────┐
│ Cursor / AI Agent │
│ (MCP Client, JSON-RPC) │
└──────────────────────┬──────────────────────────────┘
│ HTTP (Streamable MCP)
▼
┌─────────────────────────────────────────────────────┐
│ Embedded Ktor CIO Server │
│ (MCP Streamable HTTP Transport) │
├─────────────────────────────────────────────────────┤
│ ToolRegistrar │
│ 13 tools × ToolMetricsService │
├──────────┬──────────┬──────────┬────────────────────┤
│ Symbol │Reference │ Project │ Quality / Rules / │
│ Resolver │ Searcher │ Analyzer │ DataFlow / SSR / │
│ │ │ │ Refactor / Sandbox │
├──────────┴──────────┴──────────┴────────────────────┤
│ IntelliJ Platform PSI + SDK │
│ (ReadAction / WriteCommandAction / VFS) │
└─────────────────────────────────────────────────────┘关键技术:
- Kotlin MCP SDK (
io.modelcontextprotocol:kotlin-sdk)——MCP协议实现 - 哪个CIO --用于流式MCP传输的嵌入式HTTP服务器
- IntelliJ PSI --语义代码模型(类型、引用、数据流)
- IntelliJ SSR --使用模板变量的结构搜索
- kotlinx系列化 --JSON序列化
______________________________________________________________________
工具窗口
该插件添加了一个 MCP代码智能 IDE的工具窗口:
- 服务器状态和URL
- 光标配置状态
- 每个工具调用计数、令牌使用情况、执行时间
- 实时执行指标
______________________________________________________________________
光标集成
技能
现成的光标技能包含在 .cursor/skills/MCP Code Intelligence/SKILL.md它教导AI代理:
- 何时使用每个MCP工具与CLI
- 4种工作流程模式(错误调查、功能开发、代码审查、代码库探索)
- 工具链模式
- 应避免的常见错误
MCP第一规则
始终在线的游标规则 .cursor/rules/mcp-first.mdc 强制执行 MCP优先政策:AI代理必须更喜欢MCP工具而不是CLI等效工具(例如。 find_references 而不是 grep, refactor 而不是 sed).
______________________________________________________________________
技术栈
| 组件 | 版本 |
|---|---|
| Kotlin | 2.1.20 |
| JVM目标 | 21 |
| IntelliJ平台 | 252+(安卓工作室2025.2+/IntelliJ IDEA 2025.2+) |
| Kotlin MCP SDK | 0.9.0 |
| Ktor | 3.2.3 |
| kotlinx序列化 | 1.7.3 |
______________________________________________________________________
