Provides access to TypeScript SDK documentation through a configurable file resource, enabling AI agents to reference TypeScript SDK information and examples.
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
uv
package 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:
Configuration: Update DESKTOP_FILE_PATH
in server.py
to point to your documentation file:
Meeting Summary Prompt
Generate structured meeting summaries:
Output 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
Restart Claude Desktop
After updating the configuration, restart Claude Desktop to load the server.
Development
Project Structure
Testing
MCP Inspector (Recommended)
Direct Server Testing
Testing 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://typesdk
Prompt Templates: Test the
meeting_summary
prompt with sample data
Customization
Adding New Calculator Tools:
Adding New Resources:
Adding New Prompts:
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:
Server Name
Change the server name in server.py
:
Troubleshooting
Common Issues
Server won't start:
Check Python version (3.12+ required)
Verify
uv
installation:uv --version
Check 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_PATH
points to correct fileCheck file permissions
Ensure file exists and is readable
Prompt template errors:
Verify
templates/Prompt.md
existsCheck template syntax
Ensure proper variable placeholders:
{{ variable_name }}
Debug Mode
Run with debug output:
Contributing
Fork the repository
Create a feature branch:
git checkout -b feature-name
Make 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.
local-only server
The server can only run on the client's local machine because it depends on local resources.
Provides calculator tools for mathematical operations, document resources for accessing TypeScript SDK documentation, and prompt templates for generating structured meeting summaries. Built with FastMCP to demonstrate comprehensive MCP capabilities including tools, resources, and prompts in a single implementation.