Token导航 LogoToken导航

MCP Server · 开发工具

Android Codesearch MCP

一个MCP服务器,允许AI助手远程搜索和浏览Android开源项目(AOSP)源代码,无需本地检出。

stdio官方级别未说明来源级核验工具 5
代码搜索远程访问PythonClaude

快速开始

作者 / 组织
JiaweiHan88
提供方
JiaweiHan88
运行时
Python

工具数量

5

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

2

仓库热度

收录来源

1 个

MCP World

选型结论

Android Codesearch MCP 属于开发工具类 MCP Server,公开资料标注 5 个工具,通过stdio 本地进程接入,适配 Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

开发工具

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

uv run androidcodesearchmcp

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 5 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

安卓代码搜索MCP服务器

一 MCP(模型上下文协议) 允许AI助手搜索和浏览 安卓开源项目(AOSP) 远程源代码——无需本地签出。

它连接到与电源相同的后端 cs.android.com 并通过MCP stdio传输公开了五个工具。

建筑

┌──────────────┐  stdio   ┌──────────────────────┐  HTTPS  ┌─────────────────────────────────┐
│  MCP Client  │ ◄──────► │  androidcodesearchmcp│ ──────► │ grimoireoss-pa.clients6.google  │
│  (Claude,    │  JSON-RPC│  (this server)        │         │   /batch  (search, suggest)     │
│   VSCode…)   │          │                       │ ──────► │   /$rpc/… (file content, gRPC)  │
└──────────────┘          │  Python / httpx       │         └─────────────────────────────────┘
                          │                       │  HTTPS  ┌─────────────────────────────────┐
                          │                       │ ──────► │ android.googlesource.com        │
                          └──────────────────────┘         │   Gitiles JSON API (dir browse) │
                                                           └─────────────────────────────────┘

后端API

能力端点协议
代码搜索grimoireoss-pa.clients6.google.com/batch → /v1/contents/search多部分包装的JSON POST
符号建议相同 /batch → /v1/contents/suggest多部分包装的JSON POST
文件内容grimoireoss-pa.clients6.google.com/$rpc/devtools.grimoire.FileService/GetContentsStreaminggRPC web(JSON+protobuf)
目录列表android.googlesource.com/{repo}/+/refs/heads/{branch}/{path}/Gitiles JSON(?format=JSON)

所有端点都是公共的,不需要身份验证。服务器使用嵌入cs.android.com前端的相同API密钥。

______________________________________________________________________

工具

1. search_android_code

在所有AOSP存储库中进行全文和正则表达式搜索。

参数:

名称类型必填默认描述
query字符串是--搜索查询(请参阅下面的运算符)
projectenum否"android"其中之一: android, androidx, android-studio, android-llvm
repositorystringno--仅限于特定的仓库,例如。 platform/frameworks/base
branchstring否"master"要搜索的分支或引用
page_size整数否20每页结果(最多50个)
page_tokenstring否""来自先前响应的分页标记
context_lines整数否2围绕每个匹配的源上下文行

搜索运算符:

运算符示例它的作用
*(无)*ActivityThread普通关键字/正则表达式搜索
file:file:ActivityManager.java将匹配限制为文件名
class:class:Activity匹配类定义
function:function:dispatchTouchEvent匹配函数/方法名称
package:package:android.app匹配包声明

操作员可以组合: class:Activity file:Activity.java

退货: 匹配文件的列表,每个文件都有代码片段,显示匹配的行及其周围的上下文,以及一个直接的cs.android.com URL。如果存在更多结果 page_token 包含用于分页。

它在内部是如何工作的:

  1. 使用以下命令构建JSON正文 queryString, searchOptions (页面大小、上下文行、存储库范围),以及 snippetOptions
  2. 将其包装在多部分/混合批处理信封中(模仿cs.android.com前端)
  3. POST到 grimoireoss-pa.clients6.google.com/batch → /v1/contents/search
  4. 解析多部分响应,提取包含以下内容的内部JSON searchResults[] 包含文件规格和代码片段

______________________________________________________________________

2. get_file_content

检索单个文件的完整源代码。

参数:

名称类型必填默认描述
path字符串是--存储库中的文件路径(例如。 core/java/android/app/Activity.java)
projectenum否"android"项目ID
repositorystring否"platform/superproject"存储库名称
branchstring否"master"分支机构或参考

退货: 文件元数据(大小、MIME类型)后面是用语法突出显示的代码块包裹的完整源代码。

它在内部是如何工作的:

  1. 构建一个包含存储库密钥、分支和文件路径的位置JSON数组(protobuf样式)
  2. 到gRPC web端点的POST /$rpc/devtools.grimoire.FileService/GetContentsStreaming
  3. 响应是一个深度嵌套的JSON数组;解析器递归地遍历它以找到:

- 源内容(第一个包含换行符的长字符串) - MIME类型(以开头的字符串 text/) - 文件大小(短数字字符串)

______________________________________________________________________

3. suggest_symbols

类名、方法名和文件路径的自动补全。有助于在搜索或获取之前发现符号的确切名称或位置。

参数:

名称类型必填默认描述
query字符串是--要填写的部分名称(例如。 ActivityThr)
max_results整数否10返回的最大建议数

退货: 一份建议清单,每项建议都包括:

  • 符号标题和类型(类、方法等)
  • 定义符号的文件路径和行号
  • 匹配的源线

它在内部是如何工作的:

  1. 将部分查询发送到 /v1/contents/suggest 通过批量信封
  2. 作语法分析 suggestions[] 从响应中提取文件规格、行号和匹配文本

______________________________________________________________________

4. browse_directory

列出给定路径下的文件和子目录。使用 Gitiles JSON API 上 android.googlesource.com (与Grimoire搜索后端分开)。

参数:

名称类型必填默认描述
pathstring否"" (root)列表的目录路径
branchstring否"master"分行名称
repositorystring否"platform/superproject"要浏览的存储库

退货: 按字母顺序排列的条目列表(先是目录,然后是文件)。每个条目都显示其名称、类型图标和完整路径。子模块用链接图标标记。

重要提示: AOSP超级项目包含许多 子模块 (例如。 frameworks/base).这些显示为类型 submodule 在目录列表中。浏览 *里面* 子模块,您必须明确指定其存储库:

# Lists the superproject root — frameworks/base shows as a submodule link
browse_directory(path="frameworks")

# To browse inside frameworks/base, specify the repo:
browse_directory(repository="platform/frameworks/base", path="core/java/android/app")

它在内部是如何工作的:

  1. 构造一个Gitiles URL: https://android.googlesource.com/{repo}/+/refs/heads/{branch}/{path}/
  2. 附加 ?format=JSON 请求JSON而不是HTML
  3. 剥去 )]}' 响应中的XSSI前缀
  4. 解析条目,将每个条目分类为 dir (树), file (blob),或 submodule (承诺)

______________________________________________________________________

5. list_projects

返回可搜索的可用Android源项目列表。

参数: 没有。

退货:

项目ID名称默认存储库默认分支
android安卓系统(AOSP)platform/superprojectmaster
androidxAndroidX/Jetpackplatform/frameworks/supportandroidx-main
android-studio安卓工作室platform/tools/adt/ideamirror-goog-studio-main
android-llvm安卓LLVMtoolchain/llvm-projectmain

______________________________________________________________________

安装

需要Python 3.11+和 紫外线.

# Clone and install
cd androidcodesearchmcp
uv sync

跑步

# Via the installed entry point
.venv/Scripts/androidcodesearchmcp.exe      # Windows
.venv/bin/androidcodesearchmcp              # Linux/macOS

# Or via uv
uv run androidcodesearchmcp

# Or as a Python module
uv run python -m androidcodesearchmcp

服务器通过以下方式进行通信 标准 (stdin/stdout JSON-RPC),因此它看起来会挂起——这是正常的。它正在等待MCP客户端连接。

MCP客户端配置

克劳德代码(VS代码扩展/CLI)

增添 ~/.claude.json:

Linux/macOS:

{
  "mcpServers": {
    "androidcodesearch": {
      "type": "stdio",
      "command": "/absolute/path/to/.venv/bin/androidcodesearchmcp",
      "args": []
    }
  }
}

窗户:

{
  "mcpServers": {
    "androidcodesearch": {
      "type": "stdio",
      "command": "C:\\absolute\\path\\to\\.venv\\Scripts\\androidcodesearchmcp.exe",
      "args": []
    }
  }
}

或添加到 .mcp.json 在项目根目录中,用于项目范围的访问。

克劳德桌面

增添 claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%\Claude\claude_desktop_config.json

Linux/macOS:

{
  "mcpServers": {
    "androidcodesearch": {
      "command": "/absolute/path/to/.venv/bin/androidcodesearchmcp",
      "args": []
    }
  }
}

窗户:

{
  "mcpServers": {
    "androidcodesearch": {
      "command": "C:\\absolute\\path\\to\\.venv\\Scripts\\androidcodesearchmcp.exe",
      "args": []
    }
  }
}

项目结构

androidcodesearchmcp/
├── pyproject.toml                          # Project metadata, dependencies, entry point
├── .mcp.json                               # Project-scoped MCP config
├── src/androidcodesearchmcp/
│   ├── __init__.py
│   ├── __main__.py                         # python -m support
│   ├── api.py                              # Async API client (httpx)
│   │   ├── _batch_request()                #   Multipart batch transport (search, suggest)
│   │   ├── _grpc_request()                 #   gRPC-web transport (file content)
│   │   ├── search_code()                   #   → /v1/contents/search
│   │   ├── suggest_symbols()               #   → /v1/contents/suggest
│   │   ├── get_file_content()              #   → /$rpc/.../GetContentsStreaming
│   │   ├── browse_directory()              #   → Gitiles JSON API
│   │   └── list_projects()                 #   Static project list
│   └── server.py                           # MCP server (tool definitions + handlers)
│       ├── _lifespan()                     #   Creates shared httpx.AsyncClient
│       ├── list_tools()                    #   Registers 5 tools with schemas
│       ├── call_tool()                     #   Dispatches tool calls → api.py
│       └── main()                          #   Entry point (asyncio + stdio transport)
└── uv.lock                                 # Locked dependencies

工具与能力

工具数量

5

资源数量

0

提示词数量

0

能力标签

代码搜索Python本地部署Android开发远程访问MCP协议AOSP

支持客户端

Claude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 5 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Android Codesearch MCP

MCP World · 本页

5stdio有1 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Android Codesearch MCP 怎么安装?

公开资料给出的安装命令是 uv run androidcodesearchmcp,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Android Codesearch MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Android Codesearch MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Android Codesearch MCP 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Android Codesearch MCP 支持哪些客户端?

公开资料标注支持 Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP