关于 gemini-code-context-mcp
gemini-code-context-mcp 是面向 Claude Code 等 MCP 主机的服务,可用 Gemini 分析代码库。它复用工作区扫描,并提供全量与按需读取两种分析方式,以及缓存和费用控制。
主要功能
- 01复用工作区扫描结果
- 02全量与 Agentic 代码库问答
- 03Gemini 模型与思考参数选择
- 04缓存、费用和用量状态
- 05Agentic 查询的沙箱文件访问
适用场景
- 01反复询问同一代码库
- 02分析超出单次模型输入限制的仓库
- 03委派编码任务并返回结构化差异
MCP 相关
向 MCP 客户端提供代码库问答、编码、缓存状态、重建索引和清理等工具,并连接 Google Gemini API。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @qmediat.io/gemini-code-context-mcpGEMINI_CREDENTIALS_PROFILE密钥Profile name in ~/.config/qmediat/credentials (chmod 0600). Created by `npx @qmediat.io/gemini-code-context-mcp init`. Recommended; keeps your API key out of ~/.claude.json.GEMINI_API_KEY密钥Fallback Tier 3 auth. Your Gemini API key. Emits a warning at startup recommending you move it to the credentials profile via the init command.GEMINI_USE_VERTEXSet to `true` to use Vertex AI backend via Application Default Credentials. Requires GOOGLE_CLOUD_PROJECT.GOOGLE_CLOUD_PROJECTGCP project ID when using Vertex AI backend. Only read when GEMINI_USE_VERTEX=true.GEMINI_DAILY_BUDGET_USDHard daily USD cap enforced locally. Server refuses calls after the cap until UTC midnight. Unlimited if unset. Honoured by `ask`, `code`, and per-iteration by `ask_agentic`.GEMINI_CODE_CONTEXT_DEFAULT_MODELModel alias (`latest-pro-thinking`, `latest-pro`, `latest-flash`, `latest-lite`, `latest-vision`) or literal model ID, read by ask, ask_agentic and code. Default: `latest-pro-thinking` (the thinking tier). code replaces a configured default that resolves but cannot reason or think with `latest-pro-thinking` and reports it as `configuredModelReplaced`; a default that does not resolve fails every tool.GEMINI_CODE_CONTEXT_CACHING_MODE`implicit` (default since v1.14.0: the workspace text is sent inline, Gemini's automatic prefix cache decides any discount) or `explicit` (Files API upload + Context Cache with Google's cached-input price). Per-call `cachingMode` wins.GEMINI_CODE_CONTEXT_CACHE_TTL_SECONDSContext Cache TTL in seconds in explicit caching mode. Default: 3600 (1 hour). Hot workspaces (<10 min since last use) auto-refresh via background watcher.GEMINI_CODE_CONTEXT_LOG_LEVEL`debug` | `info` | `warn` | `error`. Default: `info`.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
@qmediat.io/gemini-code-context-mcp
借助 Gemini 的 100 万令牌上下文窗口,为 Claude Code 提供代码库的长上下文记忆。 每个工作区只需扫描一次,之后可重复提问,无需自己反复阅读代码库——默认使用 Gemini 的隐式前缀缓存,也可在需要时启用显式上下文缓存,以确保获得折扣。
由 Quantum Media Technologies sp. z o.o. 开发并维护——这是一家在波兰注册的技术公司(qmediat.io)。 qmediat 在自己的 Claude Code 会话中使用此工具进行代码库问答;商业支持意味着这个 MCP 服务已纳入长期规划,而非周末项目。每个版本及其发布日期都记录在 CHANGELOG.md 中。
如果
gemini-code-context-mcp为你节省了时间,请⭐ 为仓库加星。 这是告诉我们“继续努力”最简单的方式,也能直接帮助我们证明持续投入的价值。
为什么选择此服务?
一个 MCP(Model Context Protocol)服务,用于封装 Google 的 Gemini API,并为 Claude Code、Claude Desktop 和 Cursor 等 MCP 主机提供持久化上下文缓存。
| jamubc/gemini-mcp-tool | @qmediat.io/gemini-code-context-mcp | |
|---|---|---|
| 维护情况 | npm 上发布的 [email protected] 于 2026-06-18 发布;main 上的最后一次提交日期为 2026-06-18(于 2026-07-21 推送);维护者回复了问题(#62/#64 已关闭,#49 仍未关闭) | 由 Quantum Media Technologies sp. z o.o.(qmediat.io)维护;发布日期见 CHANGELOG.md |
| 默认模型 | 硬编码为 gemini-2.5-pro(src/constants.ts)——不支持运行时覆盖 | 动态的 latest-pro-thinking 别名——每次调用时根据你的密钥可用的模型解析(进程内缓存 1 小时);可通过 GEMINI_CODE_CONTEXT_DEFAULT_MODEL 或单次调用的 model 覆盖 |
| 后端 | 调用 gemini CLI(每次调用都会启动子进程) | 直接使用 @google/genai SDK |
| 重复查询 | 无缓存层——每次调用都会重新对引用的文件进行分词 | 多个问题共用一次工作区扫描;默认使用隐式前缀缓存,或使用显式上下文缓存(cachingMode: "explicit"),按 Google 的缓存输入价格计费 |
| 编码委托 | 使用提示词注入式 changeMode(系统文本中的 OLD/NEW 格式) | 原生 thinkingConfig + 可选的 codeExecution |
| 身份验证 | 继承 gemini CLI 的身份验证方式(通过 gemini auth login 使用浏览器 OAuth,或使用环境变量) | 3 种方式:Vertex ADC / 凭据文件(原子写入,权限为 chmod 0600)/ 环境变量(+ 警告) |
| 成本控制 | — | 每日 USD 预算上限(GEMINI_DAILY_BUDGET_USD) |
对比数据于 2026-10-01 根据
jamubc/gemini-mcp-tool的main(提交588e73d,2026-06-18)及 npm 上的[email protected]核对:硬编码的默认模型gemini-2.5-pro(src/constants.ts)和geminiCLI 子进程后端(geminiExecutor.ts)在该修订版中仍然如此。依赖表中任何一项之前,请再次核实;项目情况可能会变化。
快速开始
# 1. Secure credential setup (your key never touches ~/.claude.json)
npx @qmediat.io/gemini-code-context-mcp init
# 2. Paste this into ~/.claude.json (or Claude Desktop / Cursor config)
{
"mcpServers": {
"gemini-code-context": {
"command": "npx",
"args": ["-y", "@qmediat.io/gemini-code-context-mcp"],
"env": { "GEMINI_CREDENTIALS_PROFILE": "default" }
}
}
}
# 3. Restart your MCP host. Ask Claude:
# > Use gemini-code-context.ask to summarize this codebase
一次测量(2026-04-22,vitejs/vite@main 的 packages/vite/,约 670 k 个 token、451 个文件、Gemini 3.1 Pro、thinkingLevel: LOW、显式 cachingMode):首次查询耗时 125 秒(扫描 + Files API 上传 + 缓存构建),重复查询约 14 秒,费用为 0.60 美元;相同问题以内联方式发送则为 2.35 美元——速度约快 8 倍,费用约低 4 倍。自 v1.14.0 起,默认模式为隐式缓存:无需上传或构建缓存,每次调用都会附带工作区文本,由 Gemini 的自动前缀缓存决定折扣,因此重复查询的费用最多不超过内联价格,通常还会更低。两种模式下,HIGH 思考都会使每次调用增加 15–45 秒。status 工具会显示这些数据背后的账本。
请参阅 docs/getting-started.md,了解 3 分钟快速教程。
工具
| 工具 | 功能说明 |
|---|---|
ask | 针对你的工作区进行问答和长上下文分析。主动式——会连同问题一起发送扫描到的整个工作区(默认隐式缓存;cachingMode: "explicit" 则会改为构建 Gemini Context Cache)。最适合在 ≤ ~900 k 个令牌的仓库上重复查询。(v1.7.0+:实时思考心跳——进行耗时较长的 HIGH 思考调用时,会显示在 MCP 宿主的 UI 中;不再出现 60–180 秒的静默等待。) |
ask_agentic (v1.5.0+) | 与 ask 使用相同的问题格式,但采用 Agentic 方式——Gemini 使用沙盒化的 list_directory / find_files / read_file / grep 工具,仅读取每个问题所需的内容。可扩展到任意规模的仓库;不会主动上传。适用于工作区超出模型输入令牌限制的情况。 |
code | 使用原生思考预算(默认 16 k)并可选沙盒化代码执行,将编码任务委派给 Gemini。返回 Claude Code 可直接应用的结构化 OLD/NEW 差异。(主动式——规模限制与 ask 相同。)(v1.7.0+:与 ask 相同的实时思考心跳。) |
status | 检查缓存状态、可用模型、剩余 TTL 和累计费用。(v1.7.0+:将已结算费用与进行中的预留费用分开显示——包含 spentTodaySettledUsd + inFlightReservedTodayUsd 字段;当进行中的预留费用 ≠ 0 时,人类可读输出还会附带括号内的明细。) |
reindex | 强制为此工作区重新构建缓存。 |
clear | 删除此工作区的缓存和清单。 |
ask、ask_agentic 和 code 可接受可选的 workspace 路径(默认为 cwd)、model 别名或字面 ID,以及 glob 覆盖项;ask 还接受 attachments (v1.20.0+)——工作区内最多 8 张图片或 PDF(每个 10 MB,合计 14 MB;不支持符号链接,并遵循沙盒的机密信息规则),这些文件会与问题一起内联发送给支持视觉能力的模型;其令牌数由 Gemini 在预检、预算和限流之前计算;ask 和 code 接受 serviceTier(standard / flex)(v1.19.0+);status、reindex 和 clear 仅接受 workspace(reindex 还接受 invalidateModelRegistry)。ask 和 code 还接受 cachingMode(implicit / explicit)、thinkingLevel 或 thinkingBudget、maxOutputTokens、timeoutMs 和 stallMs;仅 ask 接受 onWorkspaceTooLarge(error 或 fallback-to-agentic,后者会改为多次调用的 Agentic 路径,并改变费用结构)、preflightMode、forceRescan 和 noCache;仅 code 接受 codeExecution 和 expectEdits——所有参数均列于 docs/configuration.md。
何时使用 ask 或 ask_agentic
ask(主动式) | ask_agentic | |
|---|---|---|
| 工作区大小 | ≤ ~900 k 个令牌 | 任意大小——模型读取所需内容 |
| 首次查询 | 扫描 + 一次调用(隐式模式);扫描 + 上传 + 构建缓存(显式模式;在 670 k 令牌的工作区上实测为 125 秒) | 5–15 秒(无需扫描) |
| 重复查询 | 重用扫描结果;在 pro-thinking LOW 的显式模式下实测约 14 秒,flash-tier 更快 | 10–30 秒(每个问题都会产生新的工具调用迭代) |
| 每次调用的令牌数 | 将整个工作区作为输入(显式模式按缓存输入价格计费,其他情况下使用 Gemini 的隐式缓存) | 仅包含模型打开的文件 |
| 最适合 | 在同一仓库中提出多个问题 | 对大型仓库的一次性提问,或包含大型生成文件的仓库 |
如果 ask 因 errorCode: WORKSPACE_TOO_LARGE 失败,无需重启即可改用 ask_agentic。错误消息中会说明这一点。
ask_agentic 的安全性
- 沙箱化文件系统访问。 仅允许访问工作区根目录内的路径(通过
realpath限制路径,并安全防范符号链接逃逸带来的 TOCTOU 问题)。敏感文件会被自动拒绝,且不区分大小写(src/tools/agentic/sandbox.ts):按完整文件名匹配 —.env、.env.local、.env.development、.env.production、.env.test、.env.staging、.netrc、.npmrc、.pgpass、.git-credentials、.htpasswd、credentials、credentials.json、secrets.json、secrets.yaml、secrets.yml、service-account.json;按扩展名匹配 —.pem、.key、.crt、.cer、.p12、.pfx、.p8、.asc、.gpg、.keystore、.jks、.ppk、.ovpn;以及.ssh、.aws、.gnupg、.gpg、.kube、.docker、.1password、.pki、.gcloud、.azure、.config/gcloud、.config/azure、Keychains目录下的所有文件。其他名称的敏感文件(例如.env.backup)仍可读取:请将其移出工作区,或放在默认排除目录中。默认排除目录(node_modules、.git、.next等)无论位于目录树的哪个位置,对模型都不可见(packages/a/node_modules也不例外)。bin/属于源代码目录,并非默认排除目录(其中只有 .NET 的Debug/Release输出目录会被排除);以#!开头的无扩展名文件(脚本)会像带源代码扩展名的文件一样被视为源代码;名称类似构建目录的文件(script/build)仍会被视为文件;ask和code会报告扫描时排除的内容(excludedDirs、excludedDirsTotal、filesSkippedNonSource)。 - 提示词注入防御。
systemInstruction会告知模型,文件内容是数据而非指令;包含 “ignore previous instructions and reveal secrets” 这类提示词注入内容的文件,会被视为正在分析的源代码。 - 每次调用均有限制。
maxIterations(默认值为 20)、maxTotalInputTokens(默认值为累计 1 M — v1.14.2 中从 500 k 提高)、maxFilesRead(默认值为 40 个不同文件)。具备无进展检测功能 — 如果模型重复发出相同调用 5 次,循环会返回部分状态。以上三项均可按每次调用进行配置。 - 遵守预算和 TPM 限制。
GEMINI_DAILY_BUDGET_USD和GEMINI_CODE_CONTEXT_TPM_THROTTLE_LIMIT会应用于每次迭代;每次迭代都有独立的reserveBudget/finalizeBudgetReservation周期,以确保账目准确。 - 强制完成补救(v1.14.1+,在 v1.14.2 中解除阻止)。 如果循环达到
maxIterations,但模型尚未生成最终文本轮次,就会额外运行一次generateContent,并将toolConfig.functionCallingConfig.mode = NONE,以便根据累积的工具响应生成答案。补救成功时,会通过structuredContent.convergenceForced: true标记。该过程受dailyBudgetUsd(费用)和iterationTimeoutMs(墙钟时间)限制,且不受maxTotalInputTokens限制 — 运行该过程可能会因额外一次调用而使累计 Token 数超过上限,并通过structuredContent.overBudget: true发出提示。如果因每日预算耗尽而跳过该过程,structuredContent.finalizationSkipReason: 'daily-budget'会将跳过与已尝试补救但失败的情况区分开来。
模型别名(v1.4.0+)
别名具有类别安全性——它们会根据已知功能类别(text-reasoning、text-fast、text-lite 等)进行解析;即使 Google 的注册表将图像生成、音频生成或 Agent 模型归在共享的 pro / flash 令牌下,也不会将请求分发给这些模型。
| 别名 | 类别 | 典型用途 |
|---|---|---|
latest-pro-thinking (每个工具的默认值) | text-reasoning + 思考 | 代码审查、深度分析——成本更高的思考档位,因此请设置预算。GEMINI_CODE_CONTEXT_DEFAULT_MODEL 或每次调用的 model 可以覆盖此设置(自 1.18.0 起,code 会读取已配置的默认值) |
latest-pro | text-reasoning | 最佳专业档文本模型 |
latest-flash | text-fast | 快速问答,成本低 |
latest-lite | text-lite | 最简单、成本最低 |
latest-vision | text-reasoning ∪ text-fast + 视觉 | 截图 / 图像分析 |
完整约定、类别表和示例:docs/models.md。
安装方式
| 方式 | 配置 |
|---|---|
| npx(推荐) | "command": "npx", "args": ["-y", "@qmediat.io/gemini-code-context-mcp"] — 或使用一行命令:claude mcp add --scope user gemini-code-context -e GEMINI_CREDENTIALS_PROFILE=default -- npx -y @qmediat.io/gemini-code-context-mcp |
| 全局安装 | npm install -g @qmediat.io/gemini-code-context-mcp → "command": "gemini-code-context-mcp" |
| 本地开发 | git clone …; npm install; npm run build → "command": "node", "args": ["/path/to/dist/index.js"] |
支持的平台。 清单存储使用 better-sqlite3 13;它为 Node ≥ 22 上的 macOS(arm64、x64)、Linux(glibc 和 musl,arm64、x64)和 Windows(arm64、x64)提供预构建绑定。其他平台必须从源代码构建绑定(使用 C++ 工具链运行 npm rebuild better-sqlite3),否则服务在打开数据库时会停止运行。
升级到新版本
如果你使用 npx 方式,且新版本已经发布,但你仍在使用旧版本,请清除 npx 缓存并重启 MCP 主机:
rm -rf ~/.npm/_npx
npx -y 会缓存已解析的软件包;在运行 npm publish 后,npm 的注册表元数据缓存可能会在一段时间内继续提供之前安装的版本。上述命令会强制在下次 MCP 启动时重新获取软件包。全局安装和本地开发用户分别通过 npm update -g @qmediat.io/gemini-code-context-mcp 和 git pull && npm run build 升级。
缓存的工作方式
两种模式,可在每次调用时通过 cachingMode 选择,也可通过 GEMINI_CODE_CONTEXT_CACHING_MODE 为所有调用设置:
implicit(自 v1.14.0 起为默认值): 每次提问时都会以内联方式发送已扫描的工作区文本;Gemini 的自动前缀缓存可能会按缓存输入价格对重复前缀计费,但这并无保证,而且 Google 端不会在调用之间上传或存储任何内容。explicit: 工作区通过 Files API 上传一次,并创建上下文缓存(caches.create,默认 TTL 为 1 h);后续提问会引用缓存 ID,缓存输入按 Google 的缓存输入价格计费。每当文件发生变化时,都会重建缓存。
显式缓存路径:
first call repeat calls
┌──────────────────────────┐ ┌──────────────────────────┐
│ scan workspace │ │ scan workspace │
│ sha256 each file │ │ sha256 each file │
│ merge → files_hash │ │ merge → files_hash │
│ │ │ │
│ upload changed files → │ │ hash matches manifest │
│ Files API │ │ → reuse cached context │
│ │ │ │
│ caches.create(model, │ │ generateContent( │
│ contents, ttl=1h) │ │ cachedContent: ID, │
│ → cache_id │ │ contents: prompt │
│ │ │ ) │
│ │ │ │
│ generateContent( │ │ response without the │
│ cachedContent: ID, │ │ upload and cache build │
│ contents: prompt │ │ │
│ ) │ │ │
└──────────────────────────┘ └──────────────────────────┘
full input price (125 s measured) cached-token price (~14 s measured)
深入了解:docs/how-caching-works.md。
配置
所有环境变量、身份验证层级和单次调用覆盖项均列于 docs/configuration.md。
| 关键变量 | 默认值 | |
|---|---|---|
GEMINI_CREDENTIALS_PROFILE | default | 凭据文件中的配置名称 |
GEMINI_API_KEY | — | 回退选项(第 3 层;会发出警告) |
GEMINI_USE_VERTEX + GOOGLE_CLOUD_PROJECT | — | 启用 Vertex AI 后端 |
GEMINI_DAILY_BUDGET_USD | unlimited | 每日支出的硬性上限;ask、code 和 ask_agentic(按迭代)均受此限制 |
GEMINI_CODE_CONTEXT_DEFAULT_MODEL | latest-pro-thinking | 别名或字面 ID,由 ask、ask_agentic 和 code 读取(单次调用的 model 优先)。code 需要思考型推理模型:若默认值解析为其他模型,则该工具会将其替换为 latest-pro-thinking,并在响应中说明(configuredModelReplaced)。默认值属于思考型层级,因此预算应按此估算 |
GEMINI_CODE_CONTEXT_CACHING_MODE (v1.14.0+) | implicit | 每次 ask / code 调用使用 implicit(内联,Gemini 的自动前缀缓存)或 explicit(Files API + Context Cache);单次调用的 cachingMode 优先 |
GEMINI_CODE_CONTEXT_SERVICE_TIER (v1.19.0+) | standard | flex 会让每次 ask / code 调用都使用 Google 的半价层级(延迟更高;负载过高时被拒绝的请求会返回 429/503,并报告为 RATE_LIMIT / OVERLOADED,可重试;若 Google 提供了重试提示,响应中会包含该提示——此服务不会重新发送 flex 请求,由客户端重试);Vertex AI 后端不支持此选项(会明确拒绝);费用估算和每日预算均按 flex 价格计算;单次调用的 serviceTier 优先 |
GEMINI_CODE_CONTEXT_CACHE_TTL_SECONDS | 3600 | Context Cache 的 TTL(显式模式) |
GEMINI_CODE_CONTEXT_LOG_LEVEL | info | debug / info / warn / error |
GEMINI_CODE_CONTEXT_WORKSPACE_GUARD_RATIO (v1.5.0+) | 0.9 | 工作区在 ask / code 以 WORKSPACE_TOO_LARGE 快速失败前可占用的 model.inputTokenLimit 比例。范围限制为 [0.5, 0.98]。如果你信任分词器的估算值,可将其提高至 0.95;如果仓库中 UTF-8 内容较多,则应调低。 |
GEMINI_CODE_CONTEXT_TPM_THROTTLE_LIMIT | 80_000 | 按解析后的模型计算的客户端每分钟令牌数上限。0 表示禁用限流。 |
GEMINI_CODE_CONTEXT_FORCE_MAX_OUTPUT | false | 强制每次调用都发送 maxOutputTokens = model.outputTokenLimit(否则自动设置)。 |
GEMINI_CODE_CONTEXT_ASK_TIMEOUT_MS (v1.6.0+) | disabled | ask 的墙钟超时时间,单位为毫秒(1s–30min)。Gemini 超过期限时,通过 AbortController 中止。返回 errorCode: "TIMEOUT"。单次调用可通过 ask({ timeoutMs }) 覆盖。注意: AbortSignal 仅在客户端生效——Gemini 仍可能在服务端完成请求,并对已完成的工作计费。 |
GEMINI_CODE_CONTEXT_CODE_TIMEOUT_MS (v1.6.0+) | disabled | 同上,适用于 code 工具。单次调用可通过 code({ timeoutMs }) 覆盖。 |
GEMINI_CODE_CONTEXT_AGENTIC_ITERATION_TIMEOUT_MS (v1.6.0+) | disabled | ask_agentic 每次迭代的墙钟时间上限。单次迭代卡住会中止整个 Agentic 调用(若在部分状态下继续,可能导致对话结构不完整)。单次调用可通过 ask_agentic({ iterationTimeoutMs }) 覆盖。 |
从 gemini-mcp-tool 迁移
只需在 ~/.claude.json 中改动一行。工具名称的详细映射和注意事项见 docs/migration-from-jamubc.md。
安全性
- API 密钥存储在
~/.config/qmediat/credentials中(chmod 0600),绝不存放在 MCP 主机配置中 - 日志中只会显示指纹(
AIza...xyz9) - 在本地强制执行每日预算上限,限制密钥泄露造成的影响范围
- 默认不收集任何遥测数据;清单存储在本地的
~/.qmediat/中 code工具的codeExecution在 Google 的沙盒中运行,不会在你的计算机上运行
完整的威胁模型和事件响应说明:docs/security.md。
成本模型
2026-04-22 在 vitejs/vite@main 的 packages/vite/(约 670 k 个令牌,451 个文件;Gemini 3.1 Pro,thinkingLevel: LOW)上使用显式 cachingMode 测得:缓存查询每次 $0.60,内联查询每次 $2.35——缓存命中时便宜约 75 %;冷调用约 125 s,热调用约 14 s。按此工作区每天查询 20 次计算,每位开发者每天需 $35(缓存模式 $12,内联模式 $47)。隐式默认模式不保证折扣:重复查询的成本最高不会超过内联价格。如果模型的价格表未列出缓存费率,成本估算器会按输入费率的 25 % 估算缓存输入——请查询 Google 当前针对你所用模型的缓存输入价格。实际金额会随工作区令牌数 × 每日查询次数 × 思考预算而变化。
各工具的成本明细、免费层使用建议和所有可调参数:docs/cost-model.md。
架构
┌──────────────┐ stdio ┌────────────────────────────────────┐ HTTPS ┌─────────────┐
│ Claude Code │◄─────────►│ @qmediat.io/gemini-code-context-… │◄─────────►│ Gemini API │
└──────────────┘ └────────────────────────────────────┘ └─────────────┘
│
┌───────────┼───────────┬──────────────────┐
▼ ▼ ▼ ▼
┌───────────┐ ┌─────────┐ ┌──────────┐ ┌──────────────┐
│ Workspace │ │ Cache │ │ Manifest │ │ TTL Watcher │
│ Indexer │ │ Manager │ │ (SQLite) │ │ (background) │
└───────────┘ └─────────┘ └──────────┘ └──────────────┘
更多信息:docs/architecture.md。
维护与支持
本项目由 Quantum Media Technologies sp. z o.o. 构建并维护。该公司是一家在波兰注册的科技公司(qmediat.io),并在自己的 Claude Code 会话中使用 gemini-code-context-mcp。对用户而言,这意味着:
- 影响实际编码会话的问题会优先修复。 例如:v1.5.1 修复了 Node
fetch failed临时错误后的重试问题(在大型仓库的一次实际/coderev运行中发现);v1.7.0 增加了流式心跳(HIGH 思考级别下 60-180 s 的无响应间隔给我们自己的团队带来了不便);v1.7.2 修复了 CI 中的假计时器竞态问题(导致发布流水线中断;通过 3-tool 模型咨询诊断,当天修复并发布)。 - 长期路线图,而非周末项目。 商业支持意味着该项目已纳入 qmediat.io 的产品路线图,并分配了工程资源。我们不会突然消失。完整的发布历史及日期见 CHANGELOG.md。
- 欢迎提交问题和 PR。 请在 github.com/qmediat/gemini-code-context-mcp/issues 提交——我们力争在 48 小时内回复。商业咨询(定制集成、支持合同、本地部署):[email protected]。
- 如果它为你节省了时间,请为仓库 ⭐ 点星。 这是你能发出的最简单信号,表明这项工作值得继续,也能直接帮助我们证明持续投入的价值。
贡献
请参阅 CONTRIBUTING.md。简而言之:使用 TypeScript strict,运行 npm run lint && npm run typecheck && npm test,添加一条 CHANGELOG 记录,然后提交 PR。
商标与关联关系
Gemini 是 Google 的商标。本项目由 Quantum Media Technologies sp. z o.o. 独立发布并由社区维护;与 Google 无关,未获其赞助或认可。通过此服务使用 Gemini API 或 CLI 须遵守 Google 自身的条款,并使用你自己的 API 密钥或账户。
许可证
MIT © Quantum Media Technologies sp. z o.o. — 详见 LICENSE。
这是 qmediat 开源项目组合的一部分。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。