MCP Multi-Tool Server
Provides access to TypeScript SDK documentation through a configurable file resource, enabling AI agents to reference TypeScript SDK information and examples.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Multi-Tool Servercalculate 15% of 200"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Multi-Tool Server
A comprehensive Model Context Protocol (MCP) server built with FastMCP that provides calculator tools, document resources, and prompt templates. This server demonstrates multiple MCP capabilities including tools, resources, and prompts in a single implementation.
Features
🧮 Calculator Tools
Basic Operations: Addition, subtraction, multiplication, division
Advanced Math: Power, square root, factorial calculations
Utility Functions: Percentage calculations
Error Handling: Division by zero protection, negative square root protection, factorial range limits
📖 Document Resources
TypeScript SDK Resource: Access to MCP TypeScript SDK documentation
Dynamic File Reading: Reads from configurable file paths
Error Handling: Graceful handling of missing files
📝 Prompt Templates
Meeting Summary Template: Executive meeting summary generator
Variable Substitution: Dynamic template variable replacement
Structured Output: Professional meeting summary format
Quick Start
Prerequisites
Python 3.12 or later
uvpackage manager
Installation
Clone the repository
git clone <your-repo-url> cd mcp-multi-tool-serverInstall dependencies
uv syncTest the server
uv run mcp dev server.pyOpen http://localhost:3000 to test the server in MCP Inspector.
Usage
Calculator Tools
The server provides 8 calculator tools:
Tool | Description | Example |
| Add two numbers |
|
| Subtract second from first |
|
| Multiply two numbers |
|
| Divide first by second |
|
| Raise to power |
|
| Calculate square root |
|
| Calculate factorial |
|
| Calculate percentage |
|
TypeScript SDK Resource
Access the TypeScript SDK documentation:
# Resource URI: file://typesdk
# Returns the contents of the TypeScript SDK documentationConfiguration: Update DESKTOP_FILE_PATH in server.py to point to your documentation file:
DESKTOP_FILE_PATH = r"C:\Users\VipanKumar\Desktop\typesdk.md"Meeting Summary Prompt
Generate structured meeting summaries:
# Prompt: meeting_summary
# Required parameters:
# - meeting_date: Date of the meeting
# - meeting_title: Title or purpose of the meeting
# - transcript: Meeting transcript or notesOutput Structure:
Overview (purpose, participants, topics)
Key Decisions (major decisions, strategic changes)
Action Items (next steps, responsibilities, deadlines)
Follow-up Required (pending discussions, future meetings)
Claude Desktop Integration
Configuration
Add to your Claude Desktop config file:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"multi-tool-server": {
"command": "uv",
"args": [
"--directory",
"/path/to/your/server/directory",
"run",
"python",
"server.py"
],
"env": {
"UV_PROJECT_ENVIRONMENT": ".venv"
}
}
}
}Restart Claude Desktop
After updating the configuration, restart Claude Desktop to load the server.
Development
Project Structure
mcp-multi-tool-server/
├── server.py # Main server implementation
├── templates/
│ └── Prompt.md # Meeting summary template
├── pyproject.toml # Project configuration
├── claude_desktop_config.json # Claude Desktop config example
├── README.md # This file
└── .venv/ # Virtual environmentTesting
MCP Inspector (Recommended)
uv run mcp dev server.pyDirect Server Testing
python server.pyTesting Individual Components
Calculator Tools: Use MCP Inspector to call each tool with test parameters
Resource Access: Check the resource tab in MCP Inspector for
file://typesdkPrompt Templates: Test the
meeting_summaryprompt with sample data
Customization
Adding New Calculator Tools:
@mcp.tool()
def new_calculation(param1: float, param2: float) -> float:
"""Description of the new calculation."""
return param1 + param2 # Your calculation logicAdding New Resources:
@mcp.resource("file://your-resource")
async def get_your_resource() -> str:
"""Description of your resource."""
# Your resource logic
return "Resource content"Adding New Prompts:
@mcp.prompt("your_prompt")
async def your_prompt(param1: str, param2: str) -> str:
"""Description of your prompt."""
# Your prompt logic
return f"Processed: {param1}, {param2}"Error Handling
The server includes comprehensive error handling:
Division by Zero: Returns appropriate error message
Negative Square Roots: Prevents invalid operations
Factorial Limits: Restricts calculations to reasonable ranges (n ≤ 100)
File Not Found: Graceful handling of missing resource files
Template Errors: Proper error reporting for prompt template issues
Configuration Options
File Paths
Update these paths in server.py for your environment:
# TypeScript SDK documentation path
DESKTOP_FILE_PATH = r"C:\Users\YourUser\Desktop\typesdk.md"
# Prompt template path (relative to server.py)
PROMPT_TEMPLATE_PATH = os.path.join(os.path.dirname(__file__), "templates", "Prompt.md")Server Name
Change the server name in server.py:
mcp = FastMCP("Your Server Name")Troubleshooting
Common Issues
Server won't start:
Check Python version (3.12+ required)
Verify
uvinstallation:uv --versionCheck virtual environment:
uv sync
Tools not appearing in Claude:
Verify Claude Desktop config file location
Check file paths in configuration
Restart Claude Desktop after config changes
Resource file not found:
Verify
DESKTOP_FILE_PATHpoints to correct fileCheck file permissions
Ensure file exists and is readable
Prompt template errors:
Verify
templates/Prompt.mdexistsCheck template syntax
Ensure proper variable placeholders:
{{ variable_name }}
Debug Mode
Run with debug output:
uv run python server.py --debugContributing
Fork the repository
Create a feature branch:
git checkout -b feature-nameMake your changes
Add tests for new functionality
Submit a pull request
License
This project is licensed under the MIT License. See LICENSE file for details.
Resources
Built with FastMCP - A high-level Python library for building MCP servers.
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/vipankumar87/MCP-Example'
If you have feedback or need assistance with the MCP directory API, please join our Discord server