Files
extension/docs/FEATURE_PARITY.md
T

165 lines
5.2 KiB
Markdown
Raw Normal View History

# 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