hAIve MCP
Enforces team knowledge and workflow policies for AI coding agents by providing context, decisions, and gates before code changes are made.
README
hAIve
Policy enforcement layer for AI coding agents.
hAIve makes your team's knowledge actionable: agents load the right context before touching code, respect validated decisions and known gotchas, record failed attempts, and pass Git/CI gates before changes enter the codebase.
The problem
AI coding agents are powerful — but they forget everything between sessions. Most teams work around this with advisory docs and hope:
- "Please read our architecture decisions first."
- "Don't repeat the migration mistake from last sprint."
- "Remember to capture what you learned."
- "Don't merge code that invalidates a team decision."
Those rules are easy to skip. hAIve turns them into enforced workflow policy.
How it works
AI agent ──▶ hAIve briefing ──▶ code change ──▶ hAIve Git/CI gate ──▶ merge
▲ │
└── decisions · gotchas · failed attempts · anchors
haive initcreates a.ai/knowledge layer in your repo.- Agents start every session with
get_briefing— one MCP call that returns context + decisions + gotchas + failed attempts, ranked by relevance. - Team knowledge lives as Markdown files anchored to the code paths they describe. When code moves, hAIve detects stale anchors.
haive enforce checkand CI enforcement block unsafe states: missing briefing, stale critical decisions, known anti-patterns, uncaptured session knowledge.
The memory layer is the substrate. Enforcement is the product promise. AI changes should not enter the codebase without consulting the team's current knowledge.
Install
npm install -g @hiveai/cli
# Optional: local semantic search (downloads ~110MB model once)
npm install -g @hiveai/embeddings
Quick start
1. Initialize your project
cd my-project
haive init # Creates .ai/, bridge files, MCP config, hooks, CI template
haive init now also runs agent setup. It writes project-level MCP configs, records the best available mode, and asks before changing user-level client configs. In non-interactive shells it skips global config and tells you how to finish setup.
2. Connect your AI client
Claude Code (~/.claude.json):
{
"mcpServers": {
"haive": {
"command": "haive",
"args": ["mcp", "--stdio", "--root", "/absolute/path/to/my-project"]
}
}
}
Cursor (~/.cursor/mcp.json):
{
"mcpServers": {
"haive": {
"command": "haive",
"args": ["mcp", "--stdio", "--root", "/absolute/path/to/my-project"]
}
}
}
VS Code:
code --add-mcp '{"name":"haive","command":"haive","args":["mcp","--stdio","--root","/path/to/project"]}'
3. Bootstrap your project context
In your AI client, invoke the bootstrap_project MCP prompt. The agent analyzes your codebase and writes .ai/project-context.md automatically.
4. Start work through hAIve
Every session starts with one call:
get_briefing(task: "add a Stripe payment integration", files: ["src/payments/PaymentService.ts"])
The agent gets project context + relevant module contexts + ranked memories in one shot — no more grepping to rediscover what the team already knows.
For CLI agents without native MCP, wrap them:
haive run -- claude --dangerously-skip-permissions -p "$(cat task.md)"
Check the selected mode any time:
haive agent status
haive agent setup # re-run setup later
haive agent setup --yes # approve user-level MCP config without prompting
5. Gate commits and pull requests
haive enforce install # Installs Git hooks + CI enforcement template
haive enforce status # Current enforcement posture
haive enforce check # Pre-commit policy gate
haive enforce ci # CI entrypoint (exits 1 on violations)
What hAIve enforces
| Gate | What it checks |
|---|---|
| Briefing loaded | Agent called get_briefing before editing |
| Decision coverage | Changed files are covered by anchored decisions in the last briefing |
| Anti-pattern matching | Known bad approaches blocked before commit |
| Stale anchors | Memories anchored to deleted/moved paths are flagged |
| Session recap | Agent captured what it learned before closing |
| CI enforcement | Required check blocks merge on any gate failure |
.ai/ directory layout
your-project/
├── .ai/
│ ├── project-context.md # Shared project overview
│ ├── modules/ # Per-component context files
│ │ ├── backend/context.md
│ │ └── frontend/context.md
│ └── memories/
│ ├── personal/ # Private — gitignored
│ ├── team/ # Shared — committed to git
│ └── module/<name>/ # Module-scoped memories
├── CLAUDE.md # Auto-generated bridge for Claude Code
├── .cursorrules # Auto-generated bridge for Cursor
└── .github/
├── copilot-instructions.md # Auto-generated bridge for Copilot
└── workflows/
├── haive-sync.yml # Anchor verification on merge
└── haive-enforcement.yml # Required policy gate
Memory types
| Type | Description |
|---|---|
decision |
Architectural or design choices the team has locked in |
gotcha |
Non-obvious constraints, known footguns, subtle invariants |
convention |
Naming, patterns, style rules specific to this codebase |
attempt |
Failed approaches — so agents don't repeat them |
architecture |
Component boundaries, interfaces, data flow |
All memories can be anchored to file paths and symbol names. When anchored code changes, hAIve flags the memory as potentially stale.
MCP tools reference
| Tool | Description |
|---|---|
get_briefing |
⭐ Project context + decisions + gotchas + ranked memories in one call |
mem_save |
Save policy knowledge (decision, gotcha, convention, attempt, architecture) |
mem_search |
Full-text or semantic search across memories |
mem_relevant_to |
Ranked memories for a task when project context is already loaded |
mem_verify |
Check anchor freshness, detect stale memories |
pre_commit_check |
Diff against known gotchas, decisions, and stale anchors |
mem_session_end |
Save end-of-session recap for the next agent |
Set HAIVE_TOOL_PROFILE=full to expose the complete tool surface (admin, debug, timeline, conflict detection).
MCP prompts reference
| Prompt | Description |
|---|---|
post_task |
⭐ Post-task checklist — capture learnings before closing every session |
bootstrap_project |
Analyze the codebase and write .ai/project-context.md |
Packages
| Package | Install | Description |
|---|---|---|
@hiveai/cli |
npm i -g @hiveai/cli |
Main product: init, enforce, run agents, briefing, memory, sync, CI/Git hooks |
@hiveai/mcp |
bundled into @hiveai/cli |
Policy-aware MCP server |
@hiveai/core |
dependency | Types, schema, anchors, policy primitives, token budgets |
@hiveai/embeddings |
npm i -g @hiveai/embeddings |
Optional: local semantic ranking (bge-small-en-v1.5, fully offline) |
Benchmark results
Measured on a large Next.js + NestJS monorepo (692 Java + 1 411 TS files), 4 parallel agents, same tasks with and without hAIve:
| Metric | Without hAIve | With hAIve | Delta |
|---|---|---|---|
| Tokens consumed | 94 559 | 81 146 | −14% |
| Tool calls | 57 | 17 | −70% |
| Total duration | 2 min 45 s | 1 min 44 s | −36% |
| Files read | 23 | 6 | −74% |
| First-pass correctness | ✓ | ✓ | — |
The main gain isn't token savings — it's eliminating the exploration overhead. Agents with hAIve arrive at the right file, with the right pattern, on the first attempt.
CLI reference
# Setup
haive init [--with-ci] [--no-bridges] # Initialize .ai/ + bridge files
haive enforce install # Install Git hooks + CI enforcement
haive enforce status # Enforcement posture report
haive index code # Build .ai/code-map.json
# Daily use
haive briefing [--task <text>] [--files] # Print context + relevant memories
haive run -- <agent command> # Wrap any CLI agent in hAIve session
haive enforce check [--stage pre-commit] # Policy gate
haive enforce ci # CI entrypoint
haive sync [--since <ref>] [--embed] # Verify anchors + auto-promote
# Memory
haive memory add --type <type> # Add a memory
haive memory list [--scope] [--status] # List memories
haive memory query <text> # Full-text search
haive memory approve [<id>|--all] # Mark as validated
haive memory promote <id> # personal → team
haive memory tried # Record a failed approach
haive memory verify [--update] # Check anchor freshness
haive memory import --from <file> # Import docs as memories
# Semantic search
haive embeddings index # Build index (first run: downloads model)
haive embeddings query <text> # Semantic search
# Diagnostics
haive doctor # Analyze setup, emit recommendations
haive tui # Interactive terminal dashboard
haive bench # Self-test MCP tools
Multi-component projects
For projects with multiple components (frontend/backend/microservices), create one module context per component. get_briefing auto-loads the relevant module context based on the files being edited.
mkdir -p .ai/modules/backend .ai/modules/frontend
cat > .ai/modules/backend/context.md << 'EOF'
# Module: backend
- Spring Boot, Java 17, PostgreSQL
- Always filter by tenantId in every repository query
- Never modify existing Flyway migrations — create V{N+1}__desc.sql
EOF
cat > .ai/modules/frontend/context.md << 'EOF'
# Module: frontend
- React 19, TypeScript, TanStack Query v5
- All API calls go through hooks in features/<domain>/api/
- Env vars must start with VITE_ to be exposed to the client
EOF
Development
git clone https://github.com/Doucs91/hAIve.git
cd hAIve
pnpm install
pnpm -r build # Build all packages
pnpm -r test # Run tests
Requires Node 20 LTS+, pnpm 9+.
Contributing
Issues and PRs are welcome. Please open an issue before starting significant work so we can align on direction.
License
Apache 2.0 — see LICENSE.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。