Calculator
A simple calculator server for performing basic arithmetic operations.
calculator
A Model Context Protocol (MCP) server built with mcp-framework.
Quick Start
# Install dependencies
npm install
# Build the project
npm run build
Project Structure
calculator/
├── src/
│ ├── tools/ # MCP Tools
│ │ └── ExampleTool.ts
│ └── index.ts # Server entry point
├── package.json
└── tsconfig.json
Adding Components
The project comes with an example tool in src/tools/ExampleTool.ts. You can add more tools using the CLI:
# Add a new tool
mcp add tool my-tool
# Example tools you might create:
mcp add tool data-processor
mcp add tool api-client
mcp add tool file-handler
Tool Development
Example tool structure:
import { MCPTool } from "mcp-framework";
import { z } from "zod";
interface MyToolInput {
message: string;
}
class MyTool extends MCPTool<MyToolInput> {
name = "my_tool";
description = "Describes what your tool does";
schema = {
message: {
type: z.string(),
description: "Description of this input parameter",
},
};
async execute(input: MyToolInput) {
// Your tool logic here
return `Processed: ${input.message}`;
}
}
export default MyTool;
Publishing to npm
-
Update your package.json:
- Ensure
nameis unique and follows npm naming conventions - Set appropriate
version - Add
description,author,license, etc. - Check
binpoints to the correct entry file
- Ensure
-
Build and test locally:
npm run build npm link calculator # Test your CLI locally -
Login to npm (create account if necessary):
npm login -
Publish your package:
npm publish
After publishing, users can add it to their claude desktop client (read below) or run it with npx
## Using with Claude Desktop
### Installing via Smithery
To install Calculator for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@QuantGeekDev/mcp-add-sse):
```bash
npx -y @smithery/cli install @QuantGeekDev/mcp-add-sse --client claude
Local Development
Add this configuration to your Claude Desktop config file:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"calculator": {
"command": "node",
"args":["/absolute/path/to/calculator/dist/index.js"]
}
}
}
After Publishing
Add this configuration to your Claude Desktop config file:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"calculator": {
"command": "npx",
"args": ["calculator"]
}
}
}
Building and Testing
- Make changes to your tools
- Run
npm run buildto compile - The server will automatically load your tools on startup
Learn More
Verwandte Server
Linear Issues
Provides read-only access to issues within the Linear project management tool.
Ablefy Connector
Manage Ablefy digital products, orders, payments, invoices, funnels, and affiliate programs through Claude Desktop. 44 tools with one-click .mcpb installation.
Gezhe PPT
Generates PowerPoint presentations (PPTs) based on specified topics using the Gezhe API.
Trello MCP Server
Uses a Trello board as a knowledge base to store and retrieve code snippets, notes, and other information.
Fastmail MCP Server
An open-source server that gives AI assistants full access to Fastmail email, calendars, and contacts over JMAP.
Expense Tracker
Automated expense management with a Supabase backend and hierarchical category support.
TaskFlow
An MCP server for integrating task management capabilities into Claude Desktop.
Jira
A server for querying Jira issues, requiring a Jira token for authentication.
Bookstack MCP
An MCP server for interacting with Bookstack, built with the mcp-framework for Node.js.
MCP Content Summarizer Server
An MCP server that uses Google's Gemini 1.5 Pro to generate concise summaries of various content types.