ken-you-code
Version:
Connect your codebase to Kimi: Ultra-fast AI code analysis with Kimi-K2 model via MCP
220 lines (146 loc) • 5.83 kB
Markdown
# Ken-You-Code
**Connect your codebase to Kimi** - Ultra-fast AI code analysis with Kimi-K2 model via MCP
A specialized Model Context Protocol (MCP) server built by **Ken Kai does AI** that enables Claude Code to delegate tasks to the powerful Kimi-K2 model via OpenRouter. Get lightning-fast code analysis, debugging, security reviews, and more.
## Features
- **10 Specialized Task Types**: debug, analyze, review, optimize, style, document, test, refactor, migrate, design
- **Ultra-Fast Performance**: Optimized prompts for 50x speed improvement (1-2 seconds vs 30+ seconds)
- **Kimi-K2 Integration**: Leverage the powerful moonshotai/kimi-k2 model via OpenRouter
- **Secure File Operations**: Read files with configurable security restrictions (.tsx, .jsx, .py, .js, .ts, etc.)
- **Diff-Based Workflow**: Create and apply file changes with approval workflows and automatic backups
- **Type-Safe**: Built with TypeScript and Zod validation
## Task Types
### `debug`
Find and fix bugs in your code
### `analyze`
Analyze code structure, patterns, and potential issues
### `review`
Review code quality, best practices, and security
### `optimize`
Optimize performance and efficiency
### `style`
Check and improve code style and formatting
### `document`
Generate documentation and comments
### `test`
Create and improve test coverage
### `refactor`
Refactor code for better maintainability
### `migrate`
Migrate code between frameworks or versions
### `design`
Design UI/UX components and layouts
### `read_file`
Read file content securely with path validation and size limits.
**Parameters:**
- `file_path`: Absolute path to the file
### `create_diff`
Generate a diff for proposed file changes without applying them.
**Parameters:**
- `file_path`: Target file path
- `new_content`: Proposed file content
- `reason`: Explanation for the change
### `apply_diff`
Apply a previously created diff with user approval.
**Parameters:**
- `operation_id`: Diff operation identifier
- `approved`: Boolean approval for the change
## Quick Start
### Prerequisites
- Claude Code
- OpenRouter API key
### Installation
**Add to Claude Code:**
```bash
claude mcp add ken-you-code -s user -e OPENROUTER_API_KEY=<YOUR-OPENROUTER-API-KEY> -- npx -y ken-you-code
```
That's it! The MCP will be downloaded and configured automatically.
### Environment Variables
| Variable | Required | Default | Description |
| -------------------- | -------- | -------------------- | --------------------------------------- |
| `OPENROUTER_API_KEY` | Yes | - | OpenRouter API key |
| `WORKSPACE_ROOT` | No | - | Restrict file access to this directory |
| `LOG_LEVEL` | No | `INFO` | Logging level |
| `DEFAULT_MODEL` | No | `moonshotai/kimi-k2` | Default model for tasks |
| `MAX_FILE_SIZE_MB` | No | `10` | Maximum file size in MB |
| `ALLOWED_EXTENSIONS` | No | `.py,.js,.ts,...` | Comma-separated allowed file extensions |
## Security
### File Access Restrictions
- **Path Validation**: Only absolute paths within allowed directories
- **Extension Filtering**: Configurable allowed file extensions
- **Size Limits**: Maximum file size enforcement
- **Forbidden Paths**: Automatic blocking of sensitive directories (`.env`, `.git/`, `node_modules/`, etc.)
### Approval Workflow
- All file modifications require explicit user approval
- Automatic backup creation before applying changes
- Operation tracking with unique IDs
## Development
### Scripts
```bash
npm run dev # Development mode with watch
npm run build # Build TypeScript
npm run test # Run tests
npm run lint # Lint code
npm run lint:fix # Fix linting issues
npm run format # Format code
```
### Project Structure
```
src/
├── server.ts # Main MCP server
├── tools/
│ ├── fileOperations.ts # Secure file reading
│ ├── specializedTask.ts # OpenRouter integration
│ └── diffManager.ts # Diff creation and application
├── config/
│ └── index.ts # Configuration management
└── types/
└── index.ts # Type definitions and validation
```
## Usage Examples
### Debugging a Performance Issue
```typescript
// Claude Code can call:
await mcp.call('specialized_task', {
task_type: 'debug',
context: 'Performance issue with database queries',
files: ['/project/src/database.ts', '/project/src/queries.ts'],
});
```
### Code Review
```typescript
await mcp.call('specialized_task', {
task_type: 'review',
context: 'Review this authentication implementation for security',
files: ['/project/src/auth.ts'],
});
```
### Applying Suggested Changes
```typescript
// Create diff
const diffResult = await mcp.call('create_diff', {
file_path: '/project/src/auth.ts',
new_content: '// Updated code here...',
reason: 'Fix security vulnerability identified in review',
});
// Apply with approval
await mcp.call('apply_diff', {
operation_id: diffResult.operation_id,
approved: true,
});
```
## Model Support
Powered by **Kimi-K2** (`moonshotai/kimi-k2`) via OpenRouter - known for exceptional code analysis, debugging capabilities, and ultra-fast performance.
## Contributing
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests if applicable
5. Ensure linting and build pass
6. Submit a pull request
## License
MIT License - see LICENSE file for details.
## Support
For issues and questions:
- Check the troubleshooting section
- Review existing GitHub issues
- Create a new issue with detailed information