MCP Unified Server
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
MCP Tool Kit
A modular server implementation for Claude AI assistants with a variety of integrated tools, enabling Claude to perform actions and access external resources.
MCP Connect | MCP Cloud Tool Kit (Coming Soon)
Connect with a simple api key to access all of the tools.
Quick Install
Overview
The MCP Unified Server provides a unified interface for Claude to interact with various external systems and tools including:
- File system operations: Read, write, and manipulate files
- Time tools: Get current time in different timezones, convert between timezones
- Sequential thinking: A tool for dynamic and reflective problem-solving
- Brave Search: Web and local search capabilities
- Browser automation: Complete browser control via Browserbase and Playwright
- World Bank API: Access to economic and development data
- News API: Access to global news sources and articles
- PowerPoint: Create and manipulate PowerPoint presentations
- Excel: Create and manipulate Excel spreadsheets
- QuickBooks: Financial and accounting operations
- Shopify: E-commerce platform integration
- Yahoo Finance: Stock market and financial data
- FRED: Federal Reserve Economic Data
- And many more specialized tools
Building Custom Tools for Claude with MCP Toolkit
This guide demonstrates how to create custom tools that Claude can use via the Model Context Protocol (MCP) toolkit.
Table of Contents
- Overview
- Prerequisites
- Step-by-Step Implementation Guide
- Example: Creating a Custom SEO Analysis Tool
- Usage with Claude
- Troubleshooting
Overview
The MCP (Model Context Protocol) toolkit allows you to create custom tools that Claude can access and use. This enables Claude to perform specialized actions beyond its built-in capabilities, such as interacting with your specific business systems, analyzing data with custom algorithms, or controlling specialized hardware.
Prerequisites
- MCP toolkit installed (
pip install mcptoolkit
or Docker setup) - Access to Claude Desktop app
- Basic Python knowledge
- Docker (recommended)
Get Started ASAP | Running the Server
Caution: This will grant claude access to every tool without limitation in the main branch of this repository.
Step-by-Step Implementation Guide
Step 1: Set Up Your MCP Server with the Toolkit
Start by running the MCP server:
Step 2: Create Your Custom Tool
Create a new Python file in the tools directory of the MCP toolkit (e.g., my_custom_tool.py
):
Step 3: Register Your Tool with the MCP Server
Modify the main MCP server file to import and register your tool:
Step 4: Configure Claude Desktop to Access Your Tool
- Open Claude Desktop app
- Go to File > Settings > Developer > Edit config
- Add the 'claude_desktop_configuration.json' file
- Save the configuration
- Restart the MCP server with your new tool integrated
- Restart and Open Claude Desktop app
Example: Claude Desktop Configuration
The repository includes a sample Claude desktop configuration file (claude_desktop_config.json
) that you can use:
You can import this configuration in the Claude desktop app or use it as a reference to create your own.
Step 5: Create Prompts to Help Claude Use Your Tool
Create example prompts for Claude that demonstrate how to use your custom tool:
Example: Creating a Custom SEO Analysis Tool
Here's a complete example of creating an SEO analysis tool:
Usage with Claude
Once your custom tool is integrated, you can ask Claude to use it:
Example Prompt for SEO Tool
Example Prompts for Other Custom Tools
- Custom Database Tool:Copy
- API Integration Tool:Copy
Troubleshooting
- Tool Not Found: Ensure your tool is properly registered and the server is restarted
- Parameter Errors: Check that all required parameters are being passed correctly
- Connection Issues: Verify the MCP server is running and Claude is properly configured to connect to it
- Import Errors: Make sure all dependencies for your custom tool are installed in the environment where the MCP server runs
Other Usage Examples
Example 2: Practical Tool Examples
Example 3: Building a Complete Workflow
Sample Claude Prompts
Once set up, you can ask Claude to use the tools with prompts like:
- "Search the web for the latest AI research papers and summarize the findings."
- "Create a PowerPoint presentation about climate change with three slides."
- "Download my QuickBooks invoice data and analyze our revenue for the past quarter."
- "Set up a product on my Shopify store with these details and pricing."
- "Get the current stock price and historical data for Tesla using Yahoo Finance."
- "Analyze inflation trends using FRED economic data for the past 5 years."
- "Use browser automation to fill out this form at [website URL]."
- "Read the text file in my Downloads folder named 'project_notes.txt'."
- "Get the latest news headlines about technology."
Architecture
The server is built with a modular architecture:
Each tool module follows a consistent pattern:
- External MCP reference
- Service class implementation
- Tool function definitions
- Registration functions
Installation Methods
Method 1: Docker (Recommended)
The easiest way to get started is using Docker, which requires no Python or dependency installation:
You can also use docker-compose:
This will:
- Start the server on port 8000
- Mount your local directories to make them accessible to the toolkit
- Configure the server with sensible defaults
Method 2: Install from PyPI
Method 3: Install from Source
Configuration
Docker Configuration
When running with Docker, you can configure the container using environment variables:
Alternatively, you can modify the docker-compose.yml
file:
Local Configuration
If running locally, the server can be configured using environment variables or a .env
file in the project root:
Configuration UI
The package includes a web-based configuration UI:
Access the UI in your web browser at http://localhost:8501
Available Tools
File System Tools
read_file
: Read contents of a fileread_multiple_files
: Read multiple files simultaneouslywrite_file
: Create or overwrite a fileedit_file
: Make line-based edits to a filecreate_directory
: Create a new directorylist_directory
: Get directory contentsdirectory_tree
: Get a recursive tree viewmove_file
: Move or rename files/directoriessearch_files
: Search for files matching a patternget_file_info
: Get file metadatalist_allowed_directories
: List allowed directories
Browser Automation Tools
- Browserbase:
browserbase_create_session
: Create a new browser sessionbrowserbase_close_session
: Close a browser sessionbrowserbase_navigate
: Navigate to a URLbrowserbase_screenshot
: Take a screenshotbrowserbase_click
: Click an elementbrowserbase_fill
: Fill a form fieldbrowserbase_evaluate
: Execute JavaScriptbrowserbase_get_content
: Extract page content
- Playwright:
playwright_launch_browser
: Launch a new browser instanceplaywright_navigate
: Navigate to a URLplaywright_screenshot
: Take a screenshotplaywright_click
: Click on an elementplaywright_fill
: Fill an input fieldplaywright_evaluate
: Execute JavaScriptplaywright_get_content
: Get the HTML content of a page
E-Commerce Tools
- Shopify:
shopify_get_products
: Get product informationshopify_create_product
: Create a new productshopify_update_product
: Update an existing productshopify_get_orders
: Get order informationshopify_create_order
: Create a new ordershopify_get_customers
: Get customer information
Financial Tools
- QuickBooks:
quickbooks_get_accounts
: Get account informationquickbooks_get_invoices
: Get invoice informationquickbooks_create_invoice
: Create an invoicequickbooks_get_customers
: Get customer informationquickbooks_get_reports
: Generate financial reports
Financial Data Tools
- Yahoo Finance:
yfinance
: Get stock quotes and historical datayfinance_get_quote
: Get current stock quoteyfinance_get_history
: Get historical stock datayfinance_get_info
: Get detailed company informationyfinance_get_options
: Get options chain datayfinance_get_recommendations
: Get analyst recommendations
- FRED (Federal Reserve Economic Data):
fred_get_series
: Get economic data seriesfred_get_series_info
: Get metadata about a seriesfred_search
: Search for economic data seriesfred_get_category
: Browse data by categoryfred_get_releases
: Get economic data releasesfred_get_sources
: Get data sources
Time Tools
get_current_time
: Get current time in a specified timezoneconvert_time
: Convert time between timezones
Sequential Thinking
sequentialthinking
: A tool for breaking down complex problems using a step-by-step thinking process
Brave Search
brave_web_search
: Perform web searchesbrave_local_search
: Search for local businesses and places
World Bank API
worldbank_get_indicator
: Get indicator data for a country
News API
news_top_headlines
: Get top news headlinesnews_search
: Search for news articlesnews_sources
: List available news sources
PowerPoint Tools
ppt_create_presentation
: Create a new PowerPoint presentationppt_open_presentation
: Open an existing presentationppt_save_presentation
: Save a presentationppt_add_slide
: Add a new slideppt_add_text
: Add text to a slideppt_add_image
: Add an image to a slideppt_add_chart
: Add a chart to a slideppt_add_table
: Add a table to a slideppt_analyze_presentation
: Analyze presentation structureppt_enhance_presentation
: Suggest enhancementsppt_generate_presentation
: Generate a presentation from textppt_command
: Process natural language commands
For a complete list of available tools, see the documentation or browse the tools directory.
Development
Adding a New Tool Module
- Create a new file in the
tools
directory (e.g.,my_tool.py
) - Follow the existing module pattern:
- Create service class
- Define tool functions
- Implement registration functions
- Update
mcp_unified_server.py
to import and register your new module
Extending an Existing Tool Module
- Add new methods to the service class
- Add new tool functions
- Update the registration function to include your new tools
Development with Docker
You can use Docker for development to ensure a consistent environment:
This mounts your local repository into the container, so changes to the code are reflected immediately (for most files).
Troubleshooting
- Module not loading: Check the import path and dependencies
- API key errors: Verify your API keys in the
.env
file - Permission errors: Check the allowed directories in
MCP_FILESYSTEM_DIRS
- Connection errors: Ensure the server is running and the port is accessible
License
The MCP Unified Server is licensed under the MIT License.
Acknowledgements
This project uses several open-source libraries and APIs:
- MCP SDK for Claude AI assistants
- NewsAPI for news access
- Brave Search API for web search
- World Bank API for economic data
- python-pptx for PowerPoint manipulation
- XlsxWriter for Excel spreadsheets
This server cannot be installed
A modular server implementation for Claude AI assistants with integrated tools, enabling Claude to perform actions and access external resources like file systems, web searches, browser automation, financial data, and document generation.
- MCP Connect | MCP Cloud Tool Kit (Coming Soon)
- Quick Install
- Overview
- Building Custom Tools for Claude with MCP Toolkit
- Table of Contents
- Overview
- Prerequisites
- Step-by-Step Implementation Guide
- Example: Claude Desktop Configuration
- Example: Creating a Custom SEO Analysis Tool
- Usage with Claude
- Troubleshooting
- Other Usage Examples
- Architecture
- Installation Methods
- Configuration
- Available Tools
- Development
- Troubleshooting
- License
- Acknowledgements
- Table of Contents