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.