mcp-toolkit

mcp-toolkit

1

MCP Toolkit is a Model Context Protocol server offering tools for AI assistants to interact with local systems, files, databases, and external services. It enhances AI capabilities with real-world interaction features while ensuring security.

MCP Toolkit

English |

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

npm install mcp-toolkit

Configuration

Create a config.json file in your project:

{
  "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

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 for details.

License

MIT License