A Model Context Protocol server providing calculator functionality with auto-configuration
Project description
MCP Calculator Demo
A Model Context Protocol (MCP) server providing calculator functionality. Available in both Python and TypeScript implementations.
🚀 Quick Start
Using uvx (Python) - Recommended
# Install and run directly from PyPI
uvx mcp-calculator-demo
# Or use with MCP clients
uvx mcp-calculator-demo --transport stdio
Using npx (Node.js)
# Install and run directly from npm
npx -y @your-org/mcp-calculator
# Or use with MCP clients
npx -y @your-org/mcp-calculator
📦 Package Installation
Python Package (uvx/pip)
# Install via pip
pip install mcp-calculator-demo
# Install globally with uvx (recommended)
uvx install mcp-calculator-demo
# Run the server
mcp-calculator --transport stdio
Node.js Package (npx/npm)
# Install via npm
npm install -g @your-org/mcp-calculator
# Install and run with npx (recommended)
npx -y @your-org/mcp-calculator
# Run the server locally
mcp-calculator-js
🔧 Configuration for MCP Clients
Claude Desktop Configuration
Add to your claude_desktop_config.json:
{
"mcpServers": {
"calculator": {
"command": "uvx",
"args": ["mcp-calculator-demo"]
}
}
}
VS Code MCP Extension Configuration
Add to your VS Code settings or .vscode/mcp.json:
{
"mcp": {
"servers": {
"calculator-python": {
"command": "uvx",
"args": ["mcp-calculator-demo"]
},
"calculator-typescript": {
"command": "npx",
"args": ["-y", "@your-org/mcp-calculator"]
}
}
}
}
General MCP Configuration (mcp.json)
{
"mcpServers": {
"calculator-python-uvx": {
"command": "uvx",
"args": ["mcp-calculator-demo"],
"env": {
"DEBUG": "false"
}
},
"calculator-python-local": {
"command": "mcp-calculator",
"args": ["--transport", "stdio"],
"env": {
"DEBUG": "true"
}
},
"calculator-typescript-npx": {
"command": "npx",
"args": ["-y", "@your-org/mcp-calculator"],
"env": {
"NODE_ENV": "production"
}
},
"calculator-typescript-local": {
"command": "mcp-calculator-js",
"args": [],
"env": {
"NODE_ENV": "development"
}
}
}
}
🛠️ Available Tools
- add: Add two numbers together
- subtract: Subtract two numbers
- multiply: Multiply two numbers
- divide: Divide two numbers (with zero-division protection)
🧪 Testing
Python Version
# Test the client
python client-stdio.py
# Test with MCP Inspector
mcp dev src/mcp_calculator_demo/server.py
TypeScript Version
# Build and test
npm run build
npm run test
# Test with MCP Inspector
mcp dev dist/cli.js
🏗️ Development
Python Development
# Install in development mode
pip install -e .
# Run directly
python -m mcp_calculator_demo.server
# Build for distribution
pip install build
python -m build
TypeScript Development
# Install dependencies
npm install
# Build
npm run build
# Watch mode
npm run dev
# Publish to npm
npm publish
📋 Transport Options
Both implementations support multiple transport methods:
- stdio: For use with MCP clients (default)
- sse: For HTTP Server-Sent Events (Python only)
Usage Examples
# Python
mcp-calculator --transport stdio
mcp-calculator --transport sse
# TypeScript (stdio only)
mcp-calculator-js
🌟 Key Benefits of uvx/npx Packaging
uvx (Python)
- ✅ Isolated environments: Each tool runs in its own virtual environment
- ✅ No global installs: Avoid dependency conflicts
- ✅ Automatic updates: Always runs the latest version
- ✅ Easy distribution: Users don't need to manage Python environments
npx (Node.js)
- ✅ No installation required: Run packages without installing
- ✅ Version flexibility: Specify exact versions with
@version - ✅ Global availability: Access tools from anywhere
- ✅ Easy distribution: Users don't need to manage Node.js packages
📖 Usage in MCP Clients
With Claude Desktop
- Add server configuration to
claude_desktop_config.json - Restart Claude Desktop
- Calculator tools will be available in conversations
With MCP Inspector
# Test Python version
mcp dev server.py
# Test TypeScript version
mcp dev dist/cli.js
# Test published packages
uvx mcp-calculator-demo # Python
npx -y @your-org/mcp-calculator # TypeScript
With VS Code MCP Extension
- Configure in VS Code settings or
.vscode/mcp.json - Reload VS Code
- Calculator tools will be available in the MCP panel
🔗 Related Examples
- Everything Server:
npx -y @modelcontextprotocol/server-everything - Python Interpreter:
uvx python-interpreter-mcp - MCP CLI Tool:
uvx mcp2cli
📄 License
MIT License - see LICENSE file for details.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_calculator_demo-0.2.0.tar.gz.
File metadata
- Download URL: mcp_calculator_demo-0.2.0.tar.gz
- Upload date:
- Size: 9.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0e1dec626ff6c617bdd0c4d60e2cfcad43d0f2623a6213bcf567855291f99fff
|
|
| MD5 |
8fee32be7179376808d068a368b00577
|
|
| BLAKE2b-256 |
c6a4f0df37ba3f52b184668adca32fe64abc0673a68e4906eef4f97cdfd3abbe
|
File details
Details for the file mcp_calculator_demo-0.2.0-py3-none-any.whl.
File metadata
- Download URL: mcp_calculator_demo-0.2.0-py3-none-any.whl
- Upload date:
- Size: 5.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
289ecd890d66a8df1fbfc2199d2a82b26002181e47f0e85d0a0dad540cd089ec
|
|
| MD5 |
db2f73a2bbcb5ce09d2bd876a3db5c13
|
|
| BLAKE2b-256 |
c1e58e0c8817c52af1f2de9ba62e235da7f8cb9565a2ccba6ec8de8fe90bcf0f
|