adptmind/mcp-server
If you are the rightful owner of mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
A modular MCP server implementation with support for multiple tool providers, offering a unified interface for diverse services.
Multi-Provider MCP Server
A modular MCP (Model Context Protocol) server implementation with support for multiple tool providers. The server architecture allows easy addition of new service providers while maintaining a unified interface.
🎉 Project Status: ✅ Production Ready - Successfully migrated with Sequential Thinking integration
📦 Repository: https://github.com/adptmind/mcp-server
🚀 Live Endpoint: http://192.168.0.111:8080/mcp
🔧 Tools Available: 6 providers with 40 tools (62 tools when Desktop Commander is re-enabled)
Architecture
This server uses a modular provider system where different services can register their tools:
- Providers: Independent modules that provide related tools (e.g., Brave Search)
- Provider Registry: Centralized system for managing and discovering tools
- Unified Interface: All tools are accessible through a single MCP server instance
The project supports both HTTP and STDIO transports, with HTTP as the default mode.
Current Providers
Brave Search Provider
Integrates the Brave Search API, providing comprehensive search capabilities:
- Web Search (
brave_web_search): Comprehensive web search with rich result types - Local Search (
brave_local_search): Local business and place searches - Image Search (
brave_image_search): Image search with base64 encoding - Video Search (
brave_video_search): Video search with metadata - News Search (
brave_news_search): Current news articles - Summarizer (
brave_summarizer): AI-powered content summaries
Serena Provider
Semantic code analysis and retrieval tools with LSP-powered code understanding:
- Find Symbol (
serena_find_symbol): Find classes, methods, functions by name pattern - Find References (
serena_find_references): Locate all usages of symbols across codebase - Search Pattern (
serena_search_pattern): Regex-based code search with filtering - Symbols Overview (
serena_symbols_overview): High-level file structure analysis - List Directory (
serena_list_directory): Project structure exploration
Git Provider
Essential Git version control operations:
- Status (
git_status): Show working tree status and staged changes - Log (
git_log): View commit history with filtering options - Diff (
git_diff): Compare changes between commits or working tree - Branch (
git_branch): List, create, or manage branches - Clone (
git_clone): Clone remote repositories
Playwright Provider
Browser automation and web interaction tools:
- Launch Browser (
playwright_launch_browser): Initialize browser instances - Navigate (
playwright_navigate): Navigate to URLs with load conditions - Click Element (
playwright_click_element): Interact with page elements - Fill Input (
playwright_fill_input): Fill form fields and inputs - Take Screenshot (
playwright_take_screenshot): Capture page screenshots - Evaluate Script (
playwright_evaluate_script): Execute JavaScript in browser context
GitHub Provider
Comprehensive GitHub API integration for repository management and automation:
Repository Management (4 tools):
github_get_repository: Get detailed repository informationgithub_list_repositories: List repositories for a user or organizationgithub_create_repository: Create new repositoriesgithub_fork_repository: Fork existing repositories
File Operations (4 tools):
github_get_file_contents: Get file contents from repositoriesgithub_create_or_update_file: Create or update single filesgithub_push_files: Push multiple files in a single operationgithub_delete_file: Delete files from repositories
Search Capabilities (3 tools):
github_search_code: Search code across all of GitHubgithub_search_repositories: Search for repositories by various criteriagithub_search_users: Search for GitHub users
Version Control (6 tools):
github_list_commits: List commits for a repository or branchgithub_get_commit: Get detailed commit informationgithub_list_branches: List all branches in a repositorygithub_create_branch: Create new branchesgithub_list_tags: List repository tagsgithub_get_tag: Get detailed tag information
Sequential Thinking Provider
Advanced reasoning and problem-solving through structured thought processes:
Dynamic Reasoning (1 tool):
- Sequential Thinking (
sequential_thinking): Dynamic and reflective problem-solving through structured thinking processes
Key Features:
- Flexible Planning: Break down complex problems into adaptive thought sequences
- Iterative Refinement: Question, revise, and improve previous reasoning steps
- Branching Logic: Explore alternative approaches and reasoning paths
- Context Preservation: Maintain coherent thought chains across multiple steps
- Dynamic Adjustment: Modify total thought estimates as understanding evolves
- Uncertainty Handling: Express and work through uncertain or incomplete information
When to Use:
- Complex multi-step problem solving
- Planning and design with room for course correction
- Analysis requiring iterative refinement
- Problems where full scope isn't initially clear
- Tasks needing context maintenance across steps
- Filtering relevant from irrelevant information
Core Parameters:
thought: Current reasoning step or analysisthought_number: Position in the sequence (adjustable)total_thoughts: Estimated total thoughts (dynamic)next_thought_needed: Whether more reasoning is requiredis_revision: Whether this revises previous thinkingbranch_from_thought: Starting point for alternative reasoning paths
Total: 6 providers with 40 tools available
Configuration
Getting Started
- Get API Keys: Sign up for required services (e.g., Brave Search API)
- Set Environment Variables:
export BRAVE_API_KEY="your_brave_api_key" export MCP_TRANSPORT="http" # or "stdio" export MCP_PORT="8080" export MCP_HOST="0.0.0.0" export MCP_LOG_LEVEL="info"
Environment Variables
Required for specific providers:
BRAVE_API_KEY: Brave Search API key (required for Brave Search provider)GITHUB_TOKENorGITHUB_PERSONAL_ACCESS_TOKEN: GitHub Personal Access Token (required for GitHub provider)
General server configuration:
MCP_TRANSPORT: Transport mode ("http" or "stdio", default: "http")MCP_PORT: HTTP server port (default: 8080)MCP_HOST: HTTP server host (default: "0.0.0.0")MCP_LOG_LEVEL: Logging level (default: "info")
GitHub Provider Setup:
To use the GitHub provider, you need a Personal Access Token:
- Go to GitHub Settings > Developer settings > Personal access tokens > Tokens (classic)
- Generate a new token with appropriate scopes:
repo- Full control of private repositories (required for most operations)public_repo- Access to public repositories (if you only need public repo access)user- Read/write access to profile info (for user search)delete_repo- Delete repositories (if you need repository deletion)
- Set the token as an environment variable:
GITHUB_TOKENorGITHUB_PERSONAL_ACCESS_TOKEN
Note: Serena, Git, and Playwright providers work without additional API keys, though Playwright may require browser binaries to be installed for full functionality.
Command Line Options
node dist/index.js [options]
Options:
--brave-api-key <string> Brave API key
--transport <stdio|http> Transport type (default: http)
--port <number> HTTP server port (default: 8080)
--host <string> HTTP server host (default: 0.0.0.0)
🎯 Quick Links
- 📖 Next Steps: - Comprehensive roadmap and action items
- ✅ TODO List: - Prioritized task checklist
- 🔧 Setup Guide: - Repository migration procedures
- 🚀 Live Demo: Test tools at http://192.168.0.111:8080/mcp
Repository Migration ✅ COMPLETE
This project has been successfully migrated from the original brave-search-mcp-server to provide a comprehensive multi-provider MCP server with Sequential Thinking capabilities.
Migration completed on August 25, 2025 with:
- ✅ Complete commit history preserved
- ✅ Sequential Thinking provider integrated
- ✅ All 40 tools tested and verified
- ✅ Comprehensive documentation created
- ✅ Production deployment ready
Installation
Usage with Claude Desktop
{
"mcpServers": {
"mcp-server": {
"command": "node",
"args": ["path/to/mcp-server/dist/index.js"],
"env": {
"BRAVE_API_KEY": "YOUR_API_KEY_HERE",
"GITHUB_TOKEN": "YOUR_GITHUB_TOKEN_HERE"
}
}
}
}
Usage with VS Code
{
"servers": {
"mcp-server": {
"command": "node",
"args": ["path/to/mcp-server/dist/index.js"],
"env": {
"BRAVE_API_KEY": "${input:brave-api-key}",
"GITHUB_TOKEN": "${input:github-token}"
}
}
}
}
Development
Prerequisites
- Node.js 22.x or higher
- npm
- API keys for enabled providers
Setup
-
Clone and install:
git clone <repository-url> cd mcp-server npm install -
Build:
npm run build -
Run:
# Set environment variables first export BRAVE_API_KEY="your_brave_key" export GITHUB_TOKEN="your_github_token" node dist/index.js
Available Scripts
npm run build: Build TypeScript projectnpm run watch: Watch for changes and rebuildnpm run format: Format code with Prettiernpm run format:check: Check code formattingnpm run inspector: Test with MCP Inspector (HTTP transport) - launches web interfacenpm run inspector:stdio: Test with STDIO transportnpm run list-tools: Build and list all available tools (40 tools across 6 providers)
Note: The npm run inspector command launches a web-based MCP Inspector that runs indefinitely. Use Ctrl+C to stop.
Adding New Providers
See for instructions on adding new tool providers.
Docker
Build
docker build -t mcp-server:latest .
Run
docker run -e BRAVE_API_KEY=your_brave_key -e GITHUB_TOKEN=your_github_token -p 8080:8080 mcp-server:latest
Docker Compose
docker-compose up --build
Testing
Test the server using the MCP Inspector:
# HTTP transport (default)
npm run inspector
# STDIO transport
npm run inspector:stdio
License
MIT License - see LICENSE file for details.