Normalize every packages/* package for public npm publish: - version: pre-1.0 (0.x) → 1.0.0; already-≥1.0 kept (mcp 2.4.1, cli-tools 1.8.0, dxt 1.8.1, browser/hanzo-ide/office/outlook 1.9.31, gworkspace 1.9.30, aci/auth 1.0.0) - remove "private" from all 22 gated packages/* (apps/site + repo root stay private — site is a deployed website, not an npm library) - add publishConfig.access=public everywhere (scoped @hanzo/* need it) - add files[] + valid main pointing at built output so no empty tarballs; no-build packages ship src+README CI npm job now publishes the whole workspace: - build @hanzo/cards first (slack/teams import its dist), then pnpm -r --if-present run build || true - pnpm -r publish --access public --no-git-checks --ignore-scripts --ignore-scripts prevents raycast/vscode `publish` lifecycle scripts (Raycast Store / VS Marketplace) from hijacking and aborting the run. workspace:* (auth, cards) is rewritten to the real version at publish.
@hanzo/mcp
TypeScript implementation of Model Context Protocol (MCP) server with 40+ built-in tools for AI development.
Features
- 📁 File Operations: Read, write, edit, move, delete, and manage files
- 🔍 Advanced Search: Grep, ripgrep, file finding, and unified search
- 💻 Shell Integration: Execute commands, manage background processes
- ✏️ Smart Editing: Single and multi-file editing with precise replacements
- 🌳 Project Navigation: Directory trees, file listing, and exploration
- 🧠 AI Tools: Think, critic, consensus, and agent delegation capabilities
- 🔎 Vector Search: LanceDB integration for multimodal embeddings
- 🌲 AST Search: Code intelligence with syntax-aware search
- 📋 Todo Management: Task tracking with priorities, tags, and projects
- 🎯 Mode System: Context-aware tool filtering and command palettes
Installation
npm install -g @hanzo/mcp
Usage
As a CLI
# Start MCP server
hanzo-mcp serve
# Use with Claude Desktop
hanzo-mcp install-desktop
As a Library
import { createMCPServer } from '@hanzo/mcp';
const server = await createMCPServer({
name: 'my-mcp-server',
version: '1.0.0',
customTools: [
// Your custom tools
]
});
await server.start();
Built-in Tools
File Operations
read_file- Read file contentswrite_file- Write or overwrite filesedit_file- Replace text in filesmulti_edit- Multiple edits in one operationcreate_file- Create new filesdelete_file- Delete filesmove_file- Move or rename fileslist_files- List directory contentstree- Show directory tree structure
Search Tools
grep- Pattern search with grep/ripgrepfind_files- Find files by name patternsearch- Unified search combining multiple strategiesast_search- AST-based code pattern searchfind_symbol- Find function/class definitionsanalyze_dependencies- Analyze import dependencies
Shell Tools
bash- Execute shell commandsshell- Cross-platform shell executionbackground_bash- Run background processeskill_process- Terminate processeslist_processes- List running processes
AI Tools
think- Structured reasoning spacecritic- Critical analysis toolconsensus- Multi-model consensusagent- Delegate tasks to sub-agents
Vector Search
vector_index- Create vector indexesvector_search- Search with embeddingsvector_stats- Vector database statistics
Todo Management
todo_add- Add new todo itemstodo_list- List and filter todostodo_update- Update todo status/detailstodo_delete- Delete todostodo_stats- Todo statistics and productivity
Mode & Palette System
mode_switch- Switch tool modesmode_list- List available modespalette_select- Select command palettepalette_list- List palettesmode_create- Create custom modesshortcut- Execute palette shortcuts
Modes
The MCP server supports different modes that filter available tools:
- developer - Full access to all tools
- research - Read-only exploration tools
- editor - File editing focused tools
- terminal - Shell and system operations
- ai_assistant - AI-powered assistance tools
- project_manager - Task and project management
Configuration
Environment Variables
# Vector search database path
HANZO_VECTOR_DB=/path/to/vector.db
# Todo storage path
HANZO_TODO_PATH=/path/to/todos.json
# AI Provider Keys (for AI tools)
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
GOOGLE_API_KEY=...
Custom Tools
import { Tool, createMCPServer } from '@hanzo/mcp';
const myTool: Tool = {
name: 'my_tool',
description: 'My custom tool',
inputSchema: {
type: 'object',
properties: {
input: { type: 'string' }
},
required: ['input']
},
handler: async (args) => {
return {
content: [{
type: 'text',
text: `Processed: ${args.input}`
}]
};
}
};
const server = await createMCPServer({
customTools: [myTool]
});
Integration with Claude Desktop
- Install the MCP server:
npm install -g @hanzo/mcp
- Configure Claude Desktop:
hanzo-mcp install-desktop
This adds the server to your Claude Desktop configuration at:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Development
# Clone the repository
git clone https://github.com/hanzoai/mcp.git
cd mcp
# Install dependencies
npm install
# Build
npm run build
# Run tests
npm test
# Development mode
npm run dev
License
MIT © Hanzo AI