- Home
- MCP servers
- MCP Multi-Tool Server
MCP Multi-Tool Server
- python
0
GitHub Stars
python
Language
4 months ago
First Indexed
3 weeks ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"vipankumar87-mcp-example": {
"command": "uv",
"args": [
"--directory",
"/path/to/your/server/directory",
"run",
"python",
"server.py"
],
"env": {
"UV_PROJECT_ENVIRONMENT": ".venv"
}
}
}
}You deploy an MCP server that combines calculator tools, document resources, and prompt templates into a single, extensible toolkit. It lets you perform math, read documentation files, and generate structured prompts, all through an MCP client with a unified interface.
How to use
Connect with an MCP client to interact with the multi-tool server. You can perform quick calculations, read TypeScript SDK resources, and generate polished meeting summaries using ready-made prompts. Use the calculator tools to compute results, access the TypeScript SDK documentation resource to view guidance, and employ the meeting summary prompt to produce structured outputs. Tools appear in the MCP client as distinct endpoints you can call with the required parameters. If you need a concise output, request a standard structure that includes an overview, key decisions, action items, and follow-up items.
How to install
# Prerequisites
Python 3.12 or later
uv package manager
- Clone the project to your local machine using your preferred URL. 2. Install dependencies and set up the environment using the provided package manager. 3. Start the server and test the MCP endpoint locally.
# Quick Start
# Prerequisites
# - Python 3.12+
# - uv package manager
# Installation
git clone <your-repo-url>
cd mcp-multi-tool-server
uv sync
# Test the server
uv run mcp dev server.py
# Open the MCP Inspector in your browser
# http://localhost:3000
Configuration and operation notes
This server runs under a Python-based runtime and is invoked through a unified MCP runtime launcher. A sample configuration for integrating with Claude Desktop shows how to expose the local server so that Claude can start, stop, and communicate with it via the MCP protocol. You can adapt the configuration to your environment by replacing the project directory path and environment settings as needed.
Development and testing notes
During development, you can test individual components and verify that each calculator tool, resource access, and prompt template functions correctly. Use the MCP Inspector to exercise each tool and confirm output formats match expectations. Direct server testing can be done with the Python entry point, and you should validate error handling in edge cases such as division by zero, negative square roots, and factorial limits.
Troubleshooting tips
If the server won’t start, verify the Python version is 3.12 or higher and that the UV runtime is installed. If tools don’t appear in the MCP client, double-check the local configuration and restart the client after any changes. For missing resource files, confirm the configured path exists and is readable, and verify the file permissions. If a prompt template has syntax issues, ensure the template uses proper placeholders and structure.
Notes on security and customization
Keep sensitive configuration out of the public workspace. When adding new tools, resources, or prompts, follow the provided patterns to ensure consistent behavior and error handling. You can extend the server by declaring new tools with the same tooling decorators used for existing ones, and similarly add new resources and prompts with clear, documented behavior.
Available tools
add
Add two numbers. Example: add(5, 3) returns 8.
subtract
Subtract the second number from the first. Example: subtract(10, 4) returns 6.
multiply
Multiply two numbers. Example: multiply(6, 7) returns 42.
divide
Divide the first number by the second. Example: divide(15, 3) returns 5.
power
Raise a number to a power. Example: power(2, 8) returns 256.
square_root
Calculate the square root of a number. Example: square_root(16) returns 4.
factorial
Calculate the factorial of a non-negative integer. Example: factorial(5) returns 120.
calculate_percentage
Calculate what percentage a value is of another. Example: calculate_percentage(200, 15) returns 30.
file_sdk_resource
Access the TypeScript SDK document resource and other configured resources.
meeting_summary
Generate a structured meeting summary from a transcript using the meeting summary prompt template.