165 lines
5.2 KiB
Markdown
165 lines
5.2 KiB
Markdown
# Feature Parity Between Python MCP and TypeScript Extension
|
|||
|
|
|
||
|
|
This document tracks the feature parity between the Python MCP implementation (`~/work/hanzo/mcp`) and the TypeScript extension (`~/work/hanzo/extension`).
|
||
|
|
|
||
|
|
## Tool Parity Status
|
||
|
|
|
||
|
|
### ✅ Fully Implemented in Both
|
||
|
|
|
||
|
|
| Tool Category | Tool Name | Python MCP | TypeScript Extension | Notes |
|
||
|
|
|--------------|-----------|------------|---------------------|-------|
|
||
|
|
| **File System** | read | ✅ | ✅ | |
|
||
|
|
| | write | ✅ | ✅ | |
|
||
|
|
| | edit | ✅ | ✅ | |
|
||
|
|
| | multi_edit | ✅ | ✅ | |
|
||
|
|
| | directory_tree | ✅ | ✅ | |
|
||
|
|
| | find_files | ✅ | ✅ | |
|
||
|
|
| | grep | ✅ | ✅ | |
|
||
|
|
| | git_search | ✅ | ✅ | Newly added |
|
||
|
|
| | content_replace | ✅ | ✅ | Newly added |
|
||
|
|
| | diff | ✅ | ✅ | Newly added |
|
||
|
|
| **Search** | symbols | ✅ | ✅ | |
|
||
|
|
| | search | ✅ | ✅ | Unified search |
|
||
|
|
| | batch_search | ✅ | ✅ | Newly added |
|
||
|
|
| **Shell** | bash | ✅ | ✅ | Newly added |
|
||
|
|
| | run_command | ✅ | ✅ | |
|
||
|
|
| | run_background | ✅ | ✅ | Newly added |
|
||
|
|
| | processes | ✅ | ✅ | Newly added |
|
||
|
|
| | pkill | ✅ | ✅ | Newly added |
|
||
|
|
| | logs | ✅ | ✅ | Newly added |
|
||
|
|
| | npx | ✅ | ✅ | Newly added |
|
||
|
|
| | uvx | ✅ | ✅ | Newly added |
|
||
|
|
| | open | ✅ | ✅ | |
|
||
|
|
| **Development** | todo | ✅ | ✅ | Unified |
|
||
|
|
| | think | ✅ | ✅ | |
|
||
|
|
| | critic | ✅ | ✅ | Newly added |
|
||
|
|
| **AI/LLM** | llm | ✅ | ✅ | Newly added |
|
||
|
|
| | consensus | ✅ | ✅ | Newly added |
|
||
|
|
| | agent | ✅ | ✅ | Newly added |
|
||
|
|
| | mode | ✅ | ✅ | Newly added |
|
||
|
|
| **Database** | sql_query | ✅ | ✅ | |
|
||
|
|
| | sql_search | ✅ | ✅ | |
|
||
|
|
| | sql_stats | ✅ | ✅ | |
|
||
|
|
| | graph_* | ✅ | ✅ | Graph operations |
|
||
|
|
| **Vector** | vector_index | ✅ | ✅ | |
|
||
|
|
| | vector_search | ✅ | ✅ | |
|
||
|
|
| **Utility** | batch | ✅ | ✅ | Newly added - consolidated tool |
|
||
|
|
| | web_fetch | ✅ | ✅ | |
|
||
|
|
| | rules | ✅ | ✅ | |
|
||
|
|
| | config | ✅ | ✅ | |
|
||
|
|
| **System** | stats | ✅ | ✅ | |
|
||
|
|
| | tool_enable | ✅ | ✅ | |
|
||
|
|
| | tool_disable | ✅ | ✅ | |
|
||
|
|
| | tool_list | ✅ | ✅ | |
|
||
|
|
| **MCP** | mcp | ✅ | ✅ | Newly added - manage arbitrary MCP servers |
|
||
|
|
|
||
|
|
### 🚧 Python-Only Tools (Not Implemented in TypeScript)
|
||
|
|
|
||
|
|
| Tool | Reason | Priority |
|
||
|
|
|------|--------|----------|
|
||
|
|
| watch | File watching in VS Code is limited | Low |
|
||
|
|
| neovim_* | Editor-specific tools | Low |
|
||
|
|
| mcp_* | MCP management tools | Medium |
|
||
|
|
|
||
|
|
### 🚧 TypeScript-Only Tools
|
||
|
|
|
||
|
|
| Tool | Reason | Priority |
|
||
|
|
|------|--------|----------|
|
||
|
|
| zen | VS Code specific implementation | N/A |
|
||
|
|
| palette | VS Code command palette integration | N/A |
|
||
|
|
|
||
|
|
## Test Coverage
|
||
|
|
|
||
|
|
### New Test Files Added
|
||
|
|
|
||
|
|
1. **batch-tools.test.ts**
|
||
|
|
- Sequential and parallel batch execution
|
||
|
|
- Error handling and timeout support
|
||
|
|
- Batch search with deduplication
|
||
|
|
- Tool handler registration
|
||
|
|
|
||
|
|
2. **ai-tools.test.ts**
|
||
|
|
- LLM provider integration (OpenAI, Anthropic, local)
|
||
|
|
- Consensus mechanism across multiple LLMs
|
||
|
|
- Agent delegation with different personalities
|
||
|
|
- Development mode management
|
||
|
|
|
||
|
|
3. **bash-tools.test.ts**
|
||
|
|
- Command execution with sessions
|
||
|
|
- Background process management
|
||
|
|
- Process monitoring and logging
|
||
|
|
- NPX and UVX package runners
|
||
|
|
|
||
|
|
## Key Improvements Made
|
||
|
|
|
||
|
|
1. **Batch Tool Enhancement**
|
||
|
|
- Proper tool handler registration system
|
||
|
|
- Support for parallel and sequential execution
|
||
|
|
- Timeout handling per operation
|
||
|
|
- Detailed execution results
|
||
|
|
|
||
|
|
2. **AI Tools Integration**
|
||
|
|
- Unified LLM interface for multiple providers
|
||
|
|
- Consensus mechanism for multi-LLM queries
|
||
|
|
- Development mode system with 10+ personalities
|
||
|
|
- Agent delegation for specialized tasks
|
||
|
|
|
||
|
|
3. **Shell Tools Expansion**
|
||
|
|
- Full bash session support with persistence
|
||
|
|
- Background process management
|
||
|
|
- Process monitoring and log streaming
|
||
|
|
- Package runner integration (npx, uvx)
|
||
|
|
|
||
|
|
4. **Search Tools Enhancement**
|
||
|
|
- Git history and diff search
|
||
|
|
- Content replacement across files
|
||
|
|
- Batch search operations
|
||
|
|
- File watching (limited implementation)
|
||
|
|
|
||
|
|
## Authentication & Cloud Features
|
||
|
|
|
||
|
|
- ✅ Standalone authentication against iam.hanzo.ai
|
||
|
|
- ✅ Anonymous mode (--anon) for local-only usage
|
||
|
|
- ✅ OAuth flow with device ID generation
|
||
|
|
- ✅ Token refresh mechanism
|
||
|
|
|
||
|
|
## Platform Support
|
||
|
|
|
||
|
|
- ✅ VS Code Extension
|
||
|
|
- ✅ Cursor IDE
|
||
|
|
- ✅ Windsurf IDE
|
||
|
|
- ✅ Claude Desktop
|
||
|
|
- ✅ Claude Code (via DXT)
|
||
|
|
- ✅ Standalone CLI via npx
|
||
|
|
|
||
|
|
## Build System
|
||
|
|
|
||
|
|
All build targets are supported:
|
||
|
|
- `npm run build` - Standard VS Code extension
|
||
|
|
- `npm run build:claude-desktop` - Claude Desktop MCP server
|
||
|
|
- `npm run build:dxt` - Desktop Extension package
|
||
|
|
- `npm run build:all` - All targets
|
||
|
|
|
||
|
|
GitHub Actions automatically builds and releases all versions on tag push.
|
||
|
|
|
||
|
|
## Next Steps
|
||
|
|
|
||
|
|
1. **Performance Optimization**
|
||
|
|
- Implement caching for frequently used tools
|
||
|
|
- Optimize batch operations for large datasets
|
||
|
|
- Add streaming support for long-running operations
|
||
|
|
|
||
|
|
2. **Enhanced Testing**
|
||
|
|
- Add integration tests for cross-tool workflows
|
||
|
|
- Add performance benchmarks
|
||
|
|
- Increase test coverage to >90%
|
||
|
|
|
||
|
|
3. **Documentation**
|
||
|
|
- Complete API documentation for all tools
|
||
|
|
- Add more usage examples
|
||
|
|
- Create video tutorials
|
||
|
|
|
||
|
|
4. **Feature Additions**
|
||
|
|
- Implement remaining Python-only tools if needed
|
||
|
|
- Add more AI agent personalities
|
||
|
|
- Enhance consensus mechanism with voting strategies
|