Skip to main content
Glama
README.md
# 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