内容
<p align="center">
<img src="https://raw.githubusercontent.com/echoo19/hive-mcp/main/.github/banner.svg" alt="hive" width="640">
</p>
<p align="center"><b>适用于智能代理能力的上下文感知包管理器。</b></p>
<p align="center">
<a href="https://hive-tooling.vercel.app">官方网站</a> ·
<a href="https://hive-tooling.vercel.app/catalog">工具目录</a> ·
<a href="https://hive-tooling.vercel.app/audit">审计</a> ·
<a href="#quickstart">快速开始</a>
</p>
<p align="center">
<a href="https://www.npmjs.com/package/@echoo19/hive-mcp"><img src="https://img.shields.io/npm/v/@echoo19/hive-mcp?color=e7ba54&label=npm" alt="npm"></a>
<img src="https://img.shields.io/node/v/@echoo19/hive-mcp?color=555" alt="node">
<a href="./LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue" alt="license MIT"></a>
</p>
---
每个您添加到编码代理的技能、子代理、插件和MCP服务器在执行任何工作之前都会消耗上下文。工具模式、系统提示和始终开启的描述都会占用上下文,无论您是否使用它们,都容易浪费三分之一的预算在已安装但未使用的工具上。
**hive** 是一个MCP服务器,它将代理工具视为具有成本的包。它从 [Hive 目录](https://hive-tooling.vercel.app) 中查找工具,为任务规划适合上下文预算的堆栈,将其安装并记录在 `hive.lock` 中,并审计现有设置的始终开启的上下文成本。它可以在任何MCP客户端中运行,因此使用工具的代理负责管理它们。
```
┌────────── hive · 一个 MCP 服务器 ───────────┐
│ discover 为任务查找工具 │
│ plan 拟合堆栈以适应上下文预算 │
│ install 将其写入 hive.lock │
│ audit 计算您承担的上下文成本 │
└────────────────────────────────────────────┘
读取 Hive 目录 · 编写您的 hive.lock
```
hive内部不运行任何模型。它读取公共目录,编写项目中的锁定文件,并根据 [目录](https://hive-tooling.vercel.app/catalog) 使用的相同模型计算令牌成本。
## 安装
```bash
npm install -g @echoo19/hive-mcp
```
## 配置
将hive添加到代理的MCP配置中:
```json
{
"mcpServers": {
"hive": { "command": "hive-mcp" }
}
}
```
这就是全部的设置过程。无需API密钥,无需账户,无需云服务。
## 快速开始
要求您的代理构建某些内容,并让它驱动hive:
```
您: 我想在 Vercel 上部署一个 Next.js 应用,并使用 Supabase 数据库。
代理: → plan("Next.js on Vercel with Supabase", budget: "balanced")
建议的堆栈(~1.2k 始终开启的令牌):
gh 源代码控制 cli 0 令牌
mcp-supabase 数据库 mcp ~760 令牌
vercel 部署 cli 0 令牌
→ install("mcp-supabase")
记录在 hive.lock 中。
```
稍后,检查您的设置的成本:
```
您: 我的工具使用了多少上下文?
代理: → audit()
始终开启:~4.3k 令牌,跨越 6 个工具。
更轻量的替换:用 playwright CLI(0 令牌)替换 mcp-playwright(~1.6k)。
```
## 工具
| 工具 | 签名 | 功能 |
| --- | --- | --- |
| `discover` | `discover(intent)` | 查找与您要构建的内容匹配的目录工具。 |
| `plan` | `plan(brief, budget?)` | 为项目建议一个小型堆栈,按适合度和上下文成本排名。`budget` 可以是 `lean`、`balanced` 或 `capable`。 |
| `install` | `install(slug)` | 安装工具并将其记录在 `hive.lock` 中。 |
| `uninstall` | `uninstall(slug)` | 撤销已记录的安装。 |
| `update` | `update(slug?)` | 重新安装工具到目录的当前版本;省略 `slug` 以更新所有工具。 |
| `sync` | `sync()` | 安装 `hive.lock` 中列出的所有缺失工具。 |
| `audit` | `audit()` | 报告锁定文件漂移和MCP设置的始终开启的上下文成本,以及更轻量的替换。 |
| `list` | `list()` | 显示 `hive.lock` 中记录的工具及其总上下文成本。 |
## 为什么使用上下文成本
工具的实际成本是它在每次调用时占用的上下文,而不是其下载大小。hive 根据工具类型计算始终开启的成本:CLI在调用前不计成本,技能和子代理的成本为其描述,MCP服务器的成本约为其暴露的模式大小,插件承载固定负载。`plan`、`audit` 和 `list` 都读取自同一个模型,因此代理在客户端看到的数字与 [网站](https://hive-tooling.vercel.app/audit) 上显示的数字一致。
## 开发
```bash
npm install
npm run build # tsc -> dist/
npm test # vitest
npm run dev # tsc --watch
```
服务器与实时 Hive API(`/api/match`、`/api/plan`、`/api/audit-index.json`)通信,并从 `/tools/<slug>/install.md` 安装。需要 Node 18 或更高版本。
## 贡献
问题和拉取请求欢迎。参见 [CONTRIBUTING.md](./CONTRIBUTING.md) 了解项目结构和良好的变更方式。要将工具添加到目录本身,请通过 [网站](https://hive-tooling.vercel.app) 提交,而不是此仓库。
## 许可证
[MIT](./LICENSE) © Jake Kang