About Custom MCP Server
Custom MCP Server exposes search, filesystem, GitHub, problem-solving, and download functions for AI assistants. It combines these tools behind an MCP protocol adapter.
Key features
- 01Brave web and local search
- 02Secure file operations
- 03GitHub repository and code management
- 04Step-by-step problem solving
- 05Single and batch downloads
Use cases
- 01Search the web or local businesses
- 02Read and edit files with security controls
- 03Search repositories and push files
- 04Download one or multiple URL files
MCP support
An MCP protocol server adapts the functions for MCP clients. Claude can connect to it as an MCP server.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMECustom MCP Server
A custom Machine Conversation Protocol (MCP) server that integrates various tools for AI assistants:
- Brave Search - Web and local search capabilities
- Secure Filesystem - File operations with security controls
- GitHub Integration - Repository and code management
- Sequential Thinking - Step-by-step problem solving
- Download Utility - Download files from the internet
Quick Start
# Clone the repository
git clone https://github.com/degenhero/custom-mcp-server.git
cd custom-mcp-server
# Install dependencies and set up environment
npm run install:all
# Start both servers
npm run start:both
The servers will run at:
- MCP Server: http://localhost:3000
- MCP Protocol Server: http://localhost:3001
Usage with Claude
To use this custom MCP server with Claude, you need to install it as an MCP server:
npx @anthropic-ai/install-mcp custom-mcp-server http://localhost:3001
After installation, Claude will have access to all the functions provided by this server.
Architecture
This project consists of two main components:
- Custom MCP Server (index.js) - The core server that implements all the tool functions
- MCP Protocol Server (mcp-protocol.js) - Adapts the custom server to the MCP protocol standard
Available Functions
Brave Search
brave_web_search- Perform web searchesbrave_local_search- Search for local businesses and places
Filesystem Operations
read_file- Read file contentswrite_file- Create or update filesedit_file- Make line-based editscreate_directory- Create directorieslist_directory- List directory contents- And more...
GitHub Integration
create_repository- Create new repositoriessearch_repositories- Search for repositoriesget_file_contents- Read files from repositoriespush_files- Push files to repositories- And more...
Sequential Thinking
sequentialthinking- Step-by-step problem solving
Download Utility
download_file- Download files from URLsdownload_multiple_files- Download multiple files at once
Configuration
Configuration is managed through environment variables in a .env file:
PORT=3000 # Port for the main server
MCP_PROTOCOL_PORT=3001 # Port for the MCP protocol server
BRAVE_API_KEY=your_key_here # API key for Brave Search
GITHUB_TOKEN=your_token_here # GitHub access token
Development
Adding New Functions
To add a new function:
- Create a handler in the appropriate file in the
functionsdirectory - Add the function definition to
mcp-schema.json - Update the routing in
index.js
Testing
You can test functions directly against the MCP server:
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-d '{"functionName": "brave_web_search", "parameters": {"query": "test query"}}'
Documentation
For detailed documentation on all available functions, see documentation.md.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.