A collection of Model Context Protocol (MCP) servers designed to extend AI assistants with secure and controlled access to external systems and data sources.
This repository hosts several MCP servers built on the Model Context Protocol framework. Each server enables AI assistants to interact with various external systems:
- File MCP: Access and manipulate files on the local file system
- Google MCP: Manage and interact with Google services (Gmail, Drive, Calendar)
- Web MCP: Search the internet and retrieve online content
- Voice MCP: Generate lifelike text-to-speech audio using advanced voice synthesis
These servers are compatible with MCP-enabled AI tools such as Cursor, Claude Desktop, and other assistants that support the protocol.
- AI Integration: Seamlessly extend AI assistants with file, Google services, web, and voice capabilities
- Modular Architecture: Deploy servers independently or in combination
- Secure Access: Built-in security controls to safeguard sensitive systems
- Rich Functionality: Comprehensive toolsets tailored to each domain
- Progress Reporting: Real-time updates for long-running tasks
- Consistent Interface: Unified API design for ease of integration
- Clone the repository.
- Create and activate a virtual environment:
uv venv source .venv/bin/activate # On Windows: env\Scripts\activate
- Install dependencies:
uv pip install -r requirements.txt uv run python -m playwright install
Each server has its own configuration requirements:
Powered by Kokoro TTS with multilingual, multi-voice capabilities.
System Dependencies
- Linux:
sudo apt-get install espeak-ng
- Windows/macOS: Install
espeak-ng
via your preferred package manager.
Install Python dependencies:
pip install mcp[cli] uv dotenv kokoro>=0.9.2 soundfile sounddevice
pip install misaki[zh,ja] # for Japanese and Chinese support
Set environment variables:
export VOICE_LANG=us
export VOICE_NAME=af_nicole
export VOICE_SAMPLE_RATE=24000
Define root folders accessible by the assistant:
export MCP_ROOT_FOLDERS="/path/to/folder1;/path/to/folder2"
Requires Google API credentials and token:
export GOOGLE_CREDENTIALS_PATH="/path/to/credentials.json"
export GOOGLE_TOKEN_PATH="/path/to/token.pickle"
export ENABLE_GMAIL="true"
export ENABLE_DRIVE="true"
export ENABLE_CALENDAR="true"
Configure search engines and browser automation settings:
# Search Engine API Keys
export TAVILY_API_KEY="your_tavily_api_key"
export GOOGLE_API_KEY="your_google_api_key"
export GOOGLE_CSE_ID="your_custom_search_engine_id"
export BING_SUBSCRIPTION_KEY="your_bing_api_key"
export BING_SEARCH_URL="your_bing_endpoint_url"
# Search Settings
export SEARCH_ENGINE="tavily"
export MAX_RESULTS="20"
# Browser Automation
export LOAD_JS="true"
export USE_PLAYWRIGHT="true"
export USE_SELENIUM="false"
These servers can be integrated into any MCP-compatible AI environment.
Create an mcp_config.json
file with your server configurations:
{
"mcpServers": {
"voice-mcp": {
"command": "uv",
"args": [
"voice_server.py",
"--lang", "us",
"--voice", "af_nicole",
"--sample-rate", "24000"
],
"env": {
// "VOICE_LANG": "us",
// "VOICE_NAME": "af_nicole",
// "VOICE_SAMPLE_RATE": "24000"
}
},
"file-mcp": {
"command": "uv",
"args": [
"file_server.py",
"--roots",
"/path/to/folder1",
"/path/to/folder2"
]
},
"google-mcp": {
"command": "uv",
"args": [
"server.py",
"--gmail",
"--drive",
"--calendar",
"--credentials",
"/path/to/credentials.json",
"--token",
"/path/to/token.pickle"
]
},
"web-mcp": {
"command": "uv",
"args": [
"web_server.py",
"--search-engine",
"google",
"--max-results",
"20",
"--load-js",
"--use-playwright"
],
"env": {
// "TAVILY_API_KEY": "your_api_key_here",
"USER_AGENT": "Mozilla/5.0...",
// "SEARCH_ENGINE": "tavily",
// "MAX_RESULTS": "20",
// "LOAD_JS": "true",
// "USE_PLAYWRIGHT": "true"
}
}
}
}
- Claude Desktop: Add MCP configurations via the app settings
- Cursor: Configure MCP servers through the built-in settings UI
- Custom Applications: Use the MCP SDK for integration
play_audio
: Convert text to speech and play it in-memory
list_files
: Browse directory contentsread_file
: Read content of filesget_file_info
: Access file metadataget_file_mimetype
: Detect MIME typessearch_files_by_name
: Search by filenamesearch_files_by_content
: Search by file content
-
Gmail:
send_email
: Send messages with attachmentscreate_draft_email
: Prepare drafts for later uselist_emails
: View inbox or folderssearch_emails
: Find specific emailsget_unread_emails
: Check unread messagesmark_as_read
/mark_as_unread
: Manage message statusdelete_email
: Remove specific emailsbatch_delete_emails
: Bulk delete emailsget_labels
: Retrieve available labels
-
Drive:
list_drive_files
: Browse files and folderssearch_drive_files
: Find content in Driveupload_file
: Add new files to Drivedownload_file
: Save Drive files locallycreate_folder
: Organize content in foldersget_file_permissions
: Check sharing settingsshare_file
: Control access to filesget_drive_storage_info
: Check quota usage
-
Calendar:
create_meeting
: Schedule new eventsupdate_meeting
: Modify existing eventsget_meetings_by_date
: View day's scheduleget_available_time_slots
: Find free timeinvite_to_meeting
: Add attendeesdelete_meeting
: Remove eventscreate_bulk_meetings
: Schedule multiple events
search
: Perform search queriesload_url
: Fetch content from a URLload_sitemap
: Extract URLs from sitemapsconfigure_web
: Update client settings
With all MCP servers active, assistants can execute natural-language commands like:
"Play a poem about autumn in a French accent"
"Find all documents in my Downloads folder related to budget planning"
"Check my unread emails and summarize the most important ones"
"Search for the latest research on renewable energy and save key findings to a file"
"Schedule a team meeting for tomorrow at 2pm and send calendar invites to my marketing team"
"Upload the quarterly report to my Google Drive and share it with the finance department"
To ensure secure deployment:
- Use unique accounts per application or context
- Restrict file access to specific directories
- Manage API keys securely using environment variables
- Avoid hardcoding Google credentials in multi-user environments
- Secure web traffic and endpoints as needed
- Regularly audit permissions and access control settings
If you encounter issues:
- Ensure the MCP server processes are running
- Confirm your AI assistant supports MCP integration
- Validate the
mcp_config.json
paths and options - Double-check environment variables and credentials
- Investigate any local firewall or network rules
Contributions are welcome! Please submit pull requests to the relevant MCP server directory, following standard GitHub collaboration practices.
This project is released under the MIT License. Refer to individual server directories for any specific licensing details.