| Crates.io | kodegen_config_manager |
| lib.rs | kodegen_config_manager |
| version | 0.10.10 |
| created_at | 2025-11-10 14:58:58.224272+00 |
| updated_at | 2026-01-02 15:03:14.07389+00 |
| description | KODEGEN.ᴀɪ: Configuration management infrastructure for MCP tool servers. |
| homepage | https://kodegen.ai |
| repository | https://github.com/cyrup-ai/kodegen-config-manager |
| max_upload_size | |
| id | 1925672 |
| size | 4,119,391 |
KODEGEN.ᴀɪ: Memory-efficient, Blazing-Fast, MCP tools for code generation agents.
Configuration management MCP server for AI code generation agents. Part of the KODEGEN.ᴀɪ ecosystem.
git clone https://github.com/cyrup-ai/kodegen-tools-config.git
cd kodegen-tools-config
cargo build --release
The compiled binary will be at target/release/kodegen-config.
HTTP (default):
kodegen-config --http 127.0.0.1:3100
HTTPS with TLS:
kodegen-config --http 127.0.0.1:3100 \
--tls-cert path/to/cert.pem \
--tls-key path/to/key.pem
Override security-critical settings via environment variables:
Unix/macOS:
export KODEGEN_ALLOWED_DIRS="/home/user/projects:/home/user/workspace"
export KODEGEN_DENIED_DIRS="/home/user/secrets:/etc"
Windows:
$env:KODEGEN_ALLOWED_DIRS="C:\Users\user\projects;C:\Users\user\workspace"
$env:KODEGEN_DENIED_DIRS="C:\Users\user\secrets;C:\Windows"
get_configRetrieve complete server configuration including security settings, resource limits, and system diagnostics.
Example Request:
{
"name": "get_config",
"arguments": {}
}
Example Response:
{
"blocked_commands": ["rm", "sudo", "format"],
"default_shell": "/bin/sh",
"allowed_directories": [],
"denied_directories": [],
"file_read_line_limit": 1000,
"file_write_line_limit": 50,
"fuzzy_search_threshold": 0.7,
"http_connection_timeout_secs": 5,
"system_info": {
"platform": "macos",
"arch": "aarch64",
"os_version": "14.0",
"hostname": "macbook",
"cpu_count": 8,
"memory": {
"total_mb": 16384,
"available_mb": 8192,
"used_mb": 8192
}
}
}
set_config_valueUpdate a specific configuration value.
Example Requests:
// Change file read limit
{
"name": "set_config_value",
"arguments": {
"key": "file_read_line_limit",
"value": 2500
}
}
// Update blocked commands
{
"name": "set_config_value",
"arguments": {
"key": "blocked_commands",
"value": ["rm", "sudo", "dd", "format", "shutdown"]
}
}
// Set allowed directories (empty array = full access)
{
"name": "set_config_value",
"arguments": {
"key": "allowed_directories",
"value": ["/home/user/projects"]
}
}
// Adjust fuzzy search threshold (0-100)
{
"name": "set_config_value",
"arguments": {
"key": "fuzzy_search_threshold",
"value": 85
}
}
| Key | Type | Description | Default |
|---|---|---|---|
blocked_commands |
Array | Commands that cannot be executed | ["rm", "sudo", "format", ...] |
default_shell |
String | Shell for command execution | /bin/sh (Unix) or powershell.exe (Windows) |
allowed_directories |
Array | Directories server can access (empty = full access) | [] |
denied_directories |
Array | Directories server cannot access | [] |
file_read_line_limit |
Number | Max lines for file read operations | 1000 |
file_write_line_limit |
Number | Max lines per file write operation | 50 |
fuzzy_search_threshold |
Number (0-100) | Minimum similarity for fuzzy search | 70 |
http_connection_timeout_secs |
Number | HTTP connection timeout | 5 |
Configuration is persisted to ~/.kodegen/config.json with automatic debounced writes (300ms).
Example config.json:
{
"blocked_commands": ["rm", "sudo"],
"default_shell": "/bin/bash",
"allowed_directories": ["/home/user/projects"],
"denied_directories": [],
"file_read_line_limit": 2000,
"file_write_line_limit": 100,
"fuzzy_search_threshold": 0.75,
"http_connection_timeout_secs": 10,
"client_history": [
{
"client_info": {
"name": "claude-desktop",
"version": "1.0.0"
},
"connected_at": "2025-01-15T10:30:00Z",
"last_seen": "2025-01-15T12:45:00Z"
}
]
}
cargo build
# All tests
cargo test
# Specific test
cargo test test_name
# Integration example
cargo run --example config_demo
# Format
cargo fmt
# Lint
cargo clippy
# Check
cargo check
This package implements its own HTTP server because it cannot depend on kodegen_server_http (which depends on this package's ConfigManager - circular dependency).
Key Components:
Dual-licensed under your choice of:
Contributions are welcome! Please feel free to submit a Pull Request.
Built with ❤️ by KODEGEN.ᴀɪ