A production-ready, single MCP server that contains multiple embedded MCP servers. Perfect for developers who want multiple MCP capabilities in one package that can be easily extended, compiled, and published.
This is one MCP server that contains 5 MCP servers built directly into the code:
- 📁 Filesystem Server: File operations (read, write, list, search, create directories)
- 🔍 Web Search Server: Web search and content extraction
- 🗄️ Database Server: SQLite operations with backup/restore
- 🧮 Calculator Server: Mathematical calculations and advanced functions
- 💻 System Server: System monitoring and process management
{
"mcpServers": {
"unified-mcp": {
"command": "npx",
"args": ["-y", "unified-mcp-server"]
}
}
}
That's it! This single configuration gives you access to all 5 embedded servers.
{
"mcpServers": {
"unified-mcp": {
"command": "node",
"args": ["/path/to/unified-mcp-server/dist/index.js"]
}
}
}
Or install globally:
npm install -g unified-mcp-server
Then use:
{
"mcpServers": {
"unified-mcp": {
"command": "unified-mcp-server"
}
}
}
Once configured, you'll have access to these tools:
-
filesystem:read_file
- Read file contents -
filesystem:write_file
- Write to files -
filesystem:list_files
- List directory contents -
filesystem:search_files
- Search for files -
filesystem:create_directory
- Create directories -
filesystem:delete_file
- Delete files -
filesystem:file_info
- Get file information
-
web-search:search_web
- Search the web -
web-search:fetch_webpage
- Fetch webpage content -
web-search:get_page_title
- Get page titles -
web-search:extract_links
- Extract links from pages
-
database:execute_query
- Run SQL queries -
database:create_note
- Create notes -
database:list_notes
- List all notes -
database:search_notes
- Search notes -
database:backup_database
- Backup database -
database:restore_database
- Restore from backup
-
calculator:calculate
- Basic calculations -
calculator:convert_units
- Unit conversions -
calculator:statistics
- Statistical calculations -
calculator:random_number
- Generate random numbers -
calculator:advanced_math
- Advanced mathematical functions
-
system:system_info
- Get system information -
system:memory_usage
- Check memory usage -
system:cpu_info
- Get CPU information -
system:process_info
- List running processes -
system:disk_usage
- Check disk usage
Create src/servers/my-custom-server.ts
:
export class MyCustomServer {
async getTools() {
return [
{
name: 'my_tool',
description: 'My custom tool',
inputSchema: {
type: 'object',
properties: {
input: { type: 'string', description: 'Input parameter' }
},
required: ['input']
}
}
];
}
async callTool(name: string, args: any) {
switch (name) {
case 'my_tool':
return {
content: [{
type: 'text',
text: `Processed: ${args.input}`
}]
};
default:
throw new Error(`Unknown tool: ${name}`);
}
}
async getResources() { return []; }
async getPrompts() { return []; }
async cleanup() { /* cleanup code */ }
}
Add to src/config/server-registry.ts
:
import { MyCustomServer } from '../servers/my-custom-server.js';
export const SERVER_REGISTRY: ServerConfig[] = [
// ... existing servers
{
name: 'my-custom',
description: 'My custom functionality',
enabled: true,
serverClass: MyCustomServer,
category: 'custom',
version: '1.0.0',
tags: ['custom', 'example']
}
];
# Build the updated server
npm run build
# Test locally
npm start
# Update version and publish
npm version patch
npm publish
# Clone the repository
git clone <your-repo-url>
cd unified-mcp-server
# Install dependencies
npm install
# Build the project
npm run build
# Test the server
npm start
# Run CLI tools
npm run health # Health checks
npm run info # Server information
npm run benchmark # Performance tests
- Fork this repository
-
Add your custom servers to
src/servers/
-
Update the registry in
src/config/server-registry.ts
- Update package.json with your package name
-
Build and test:
npm run build && npm start
-
Publish:
npm publish
Your users can then use:
{
"mcpServers": {
"my-custom-mcp": {
"command": "npx",
"args": ["-y", "your-package-name"]
}
}
}
# Check if it builds correctly
npm run build
# Test with simple version
npm run start:simple
# Check logs
npm run health
# Validate configuration
npm run validate
# Check server info
npm run info
MIT License - feel free to use, modify, and distribute.
Made for the MCP community 🤝