README.md•3.54 kB
# MCP Toolkit
English | [中文](README_zh.md)
## Overview
MCP Toolkit is a comprehensive Model Context Protocol (MCP) server implementation that provides a rich set of tools for AI assistants to interact with the local system, files, databases, and external services. It's designed to extend AI capabilities with real-world interactions while maintaining security and control.
## Features
- **File System Operations**
- Read and write files
- Create and delete directories
- Search files with regex patterns
- List directory contents
- Extract code definitions
- **Database Integration**
- MySQL support
- PostgreSQL support
- Redis support
- Transaction management
- Parameterized queries
- **GitHub Integration**
- Repository management
- Code search
- File operations
- Tree structure analysis
- **Web Capabilities**
- Web page content extraction
- Brave search integration
- HTTP request handling
- Proxy support
- **System Tools**
- Command execution
- Everything search integration
- Stack trace analysis
- Logging system
## Installation
```bash
npm install mcp-toolkit
```
## Configuration
Create a `config.json` file in your project:
```json
{
"workspace": {
"rootPath": "/path/to/workspace",
"allowedPaths": ["/allowed/path1", "/allowed/path2"]
},
"network": {
"proxy": "http://proxy-server:port" // Optional
},
"database": {
"mysql": {
"host": "localhost",
"port": 3306,
"user": "user",
"password": "password",
"database": "dbname"
}
// Similar configuration for PostgreSQL and Redis
}
}
```
## Usage
```typescript
import { Server } from 'mcp-toolkit';
const server = new Server({
configPath: './config.json'
});
server.start();
```
## Tool Details
### File Operation Tools
- `read_file`: Read file contents, supports text and binary files
- `write_to_file`: Write or create files
- `apply_diff`: Apply differential modifications to files
- `insert_content`: Insert content at specified positions
- `search_and_replace`: Search and replace file contents
- `list_files`: List directory contents
- `search_files`: Search files using regex
- `list_code_definition_names`: Extract code definitions
### Database Tools
- `db_connect`: Connect to databases (MySQL/PostgreSQL/Redis)
- `db_query`: Execute database queries
- `db_begin_transaction`: Start transaction
- `db_commit_transaction`: Commit transaction
- `db_rollback_transaction`: Rollback transaction
- `db_close`: Close database connection
### GitHub Tools
- `github_ls`: List repository contents
- `github_tree`: Display repository tree structure
- `github_search_repo`: Search repositories
- `github_search_code`: Search code
- `github_cat`: View file contents
- `github_list_repos`: List user repositories
- `github_create_repo`: Create repository
- `github_update_repo`: Update repository settings
- `github_delete_repo`: Delete repository
### Web Tools
- `read_webpage`: Extract webpage content
- `brave_search`: Use Brave search
- `http_request`: Send HTTP requests
### System Tools
- `execute_command`: Execute system commands
- `everything_search`: Local file search
- `logger`: Logging
- `get_stack_trace`: Stack trace analysis
## Security
- Configurable workspace restrictions
- Command execution controls
- Database access management
- Token-based authentication for external services
## Contributing
Contributions are welcome! Please read our [Contributing Guidelines](CONTRIBUTING.md) for details.
## License
MIT License